People Strategy OpenClaw Plugin & Skill | ClawHub
Looking to integrate People Strategy into your AI workflows? This free OpenClaw plugin from ClawHub helps you automate coding agents & ides tasks instantly, without having to write custom tools from scratch.
What this skill does
# People-Strategy Agent Skill ## Overview A people relationship management agent skill that provides persistent graph-based storage using SQLite database. This skill enables AI agents to create, manage, and query a network of people and their relationships, making it ideal for building personal CRMs, organizational charts, mentorship networks, and collaboration mapping. ## Capabilities ### Person Management - **Create People**: Add new people with comprehensive information (name, role, relation, organization, character, notes) - **Read People**: Retrieve individual people or search/filter across the database - **Update People**: Modify any person's information - **Delete People**: Remove people from the database (cascades to relationships) - **Search**: Full-text search across names, roles, and organizations - **Filter**: Filter by organization or relation type ### Relationship Management - **Create Edges**: Establish directed relationships between people - **Query Relationships**: Get incoming, outgoing, or all relationships for a person - **Update Edges**: Modify relationship types and descriptions - **Delete Edges**: Remove specific relationships - **Bidirectional Support**: Track both directions of relationships ### Graph Operations - **Full Graph Export**: Export entire network as JSON (nodes + edges) - **Person Network**: Get complete network view for an individual - **Relationship Types**: Support for custom relationship types (reports_to, mentors, works_with, etc.) ## Database Schema ### Tables **people** - `id`: INTEGER PRIMARY KEY - `name`: TEXT NOT NULL - `role`: TEXT - `relation_to_me`: TEXT - `organization`: TEXT - `character`: TEXT - `notes`: TEXT - `created_at`: TIMESTAMP - `updated_at`: TIMESTAMP **edges** - `id`: INTEGER PRIMARY KEY - `from_person_id`: INTEGER (FK to people.id) - `to_person_id`: INTEGER (FK to people.id) - `relationship_type`: TEXT NOT NULL - `description`: TEXT - `created_at`: TIMESTAMP - `updated_at`: TIMESTAMP - UNIQUE constraint on (from_person_id, to_person_id, relationship_type) ### Indexes - `idx_people_name`: Index on people.name - `idx_edges_from`: Index on edges.from_person_id - `idx_edges_to`: Index on edges.to_person_id ## Usage Examples ### Command Line Interface ```bash # Person operations python people_skill.py add-person "Jane Doe" --role "CTO" --org "StartupXYZ" --relation "Mentor" python people_skill.py get-person 1 python people_skill.py search "engineer" python people_skill.py list-people --org "StartupXYZ" python people_skill.py update-person 1 --notes "Coffee meeting scheduled" python people_skill.py delete-person 1 # Relationship operations python people_skill.py add-relationship 1 2 "mentors" --description "Tech career guidance" python people_skill.py get-relationships 1 python people_skill.py list-relationships python people_skill.py update-relationship 1 --type "coaches" python people_skill.py delete-relationship 1 # Graph operations python people_skill.py get-graph python people_skill.py get-network 1 ``` ### Python API ```python from database import PeopleDatabase from people_skill import PeopleAgent # Initialize agent = PeopleAgent("people.db") # Add people result = agent.add_person( name="Alice Johnson", role="VP Engineering", relation_to_me="Former colleague", organization="TechCorp", character="Strategic thinker, empathetic leader", notes="Worked together 2020-2022" ) person_id = result["person_id"] # Add relationship agent.add_relationship( from_person_id=1, to_person_id=2, relationship_type="manages", description="Direct manager relationship" ) # Query network network = agent.get_person_network(person_id) print(f"Found {network['connections_count']} connections") # Export graph graph = agent.get_graph() print(f"Graph: {graph['nodes_count']} nodes, {graph['edges_count']} edges") ``` ## Common Relationship Types - `reports_to`: Hierarchical reporting (subordinate → manager) - `manages`: Hierarchical management (manager → subordinate) - `works_with`: Peer collaboration - `mentors`: Mentorship (mentor → mentee) - `mentored_by`: Inverse mentorship (mentee → mentor) - `friends_with`: Personal friendship - `knows`: Acquaintance - `collaborates_with`: Project collaboration - `introduced_by`: Connection source ## Use Cases ### 1. Personal CRM Track professional contacts, their roles, organizations, and how you know them. Add notes about conversations, meetings, or follow-ups. ```bash python people_skill.py add-person "Sarah Chen" \ --role "Product Director" \ --org "InnovateCo" \ --relation "Met at conference" \ --notes "Interested in API collaboration, follow up Q2" ``` ### 2. Organizational Mapping Build and maintain organizational charts with reporting relationships. ```bash # Add team members python people_skill.py add-person "Mike Lead" --role "Team Lead" --org "Engineering" python people_skill.py add-person "Dev One" --role "Engineer" --org "Engineering" python people_skill.py add-person "Dev Two" --role "Engineer" --org "Engineering" # Create reporting structure python people_skill.py add-relationship 2 1 "reports_to" python people_skill.py add-relationship 3 1 "reports_to" ``` ### 3. Mentorship Network Track mentorship relationships and career guidance connections. ```bash python people_skill.py add-relationship 5 3 "mentors" \ --description "Career guidance in ML/AI" ``` ### 4. Collaboration Tracking Map who works with whom on projects. ```bash python people_skill.py add-relationship 1 2 "works_with" \ --description "Project Phoenix collaboration" ``` ### 5. Network Analysis Analyze your professional network to identify key connections. ```bash # View someone's complete network python people_skill.py get-network 1 # Export for visualization python people_skill.py get-graph > network.json ``` ## Advanced Features ### Bidirectional Relationship Queries The system automatically handles both directions: ```python # Get all relationships for a person edges = db.get_all_edges_for_person(person_id) # Returns: {"outgoing": [...], "incoming": [...]} ``` ### Cascade Deletion Deleting a person automatically removes all associated relationships. ### Duplicate Prevention The UNIQUE constraint prevents duplicate relationships between the same two people with the same type. ### Search Flexibility Search works across multiple fields: ```bash python people_skill.py search "engineer" # Matches: names, roles, organizations ``` ## Integration Examples ### Export to Visualization Tools ```bash # Export graph for tools like D3.js, Cytoscape, Gephi python people_skill.py get-graph > graph.json ``` ### Import from CSV ```python import csv from people_skill import PeopleAgent agent = PeopleAgent() with open('contacts.csv', 'r') as f: reader = csv.DictReader(f) for row in reader: agent.add_person( name=row['name'], role=row['role'], organization=row['org'], relation_to_me=row['relation'] ) ``` ## Best Practices 1. **Consistent Naming**: Use consistent naming conventions for relationship types 2. **Rich Notes**: Add contextual notes to remember important details 3. **Regular Updates**: Keep information current with update commands 4. **Character Tracking**: Use the character field to remember personality traits 5. **Relationship Descriptions**: Add context to relationships for clarity 6. **Search First**: Before adding, search to avoid duplicates ## API Reference See [people_skill.py](people_skill.py) for complete API documentation. ### Key Classes - `PeopleDatabase`: Low-level database operations - `PeopleAgent`: High-level agent interface with result dictionaries ### Return Format All agent methods return dictionaries with: - `success`: Boolean indicating success/failure - `message`: Human-readable status message (on errors) - Data fields specific to the operation ## Error Handling The skill includes comprehensive error handling: - Foreign key constraints prevent invalid relationships - Unique constraints prevent duplicate relationships - Cascade deletion maintains referential integrity - Try-catch blocks in CLI provide user-friendly errors ## Performance - Indexed queries for fast lookups - Efficient graph traversal - Suitable for networks of thousands of people - SQLite handles concurrent reads ## Future Enhancements Potential extensions: - Graph visualization generation - Shortest path finding between people - Influence/centrality scoring - Duplicate person detection - Export to various formats (GraphML, DOT) - Import from LinkedIn, contact lists - Time-based relationship tracking - Strength/confidence scoring for relationships ## License MIT
Install
openclaw skills install @makkzone/people-strategynpx clawhub@latest install people-strategyFull SKILL.md
Open originalSKILL.md content below is scrollable.
People-Strategy Agent Skill
Overview
A people relationship management agent skill that provides persistent graph-based storage using SQLite database. This skill enables AI agents to create, manage, and query a network of people and their relationships, making it ideal for building personal CRMs, organizational charts, mentorship networks, and collaboration mapping.
Capabilities
Person Management
- Create People: Add new people with comprehensive information (name, role, relation, organization, character, notes)
- Read People: Retrieve individual people or search/filter across the database
- Update People: Modify any person's information
- Delete People: Remove people from the database (cascades to relationships)
- Search: Full-text search across names, roles, and organizations
- Filter: Filter by organization or relation type
Relationship Management
- Create Edges: Establish directed relationships between people
- Query Relationships: Get incoming, outgoing, or all relationships for a person
- Update Edges: Modify relationship types and descriptions
- Delete Edges: Remove specific relationships
- Bidirectional Support: Track both directions of relationships
Graph Operations
- Full Graph Export: Export entire network as JSON (nodes + edges)
- Person Network: Get complete network view for an individual
- Relationship Types: Support for custom relationship types (reports_to, mentors, works_with, etc.)
Database Schema
Tables
people
id: INTEGER PRIMARY KEYname: TEXT NOT NULLrole: TEXTrelation_to_me: TEXTorganization: TEXTcharacter: TEXTnotes: TEXTcreated_at: TIMESTAMPupdated_at: TIMESTAMP
edges
id: INTEGER PRIMARY KEYfrom_person_id: INTEGER (FK to people.id)to_person_id: INTEGER (FK to people.id)relationship_type: TEXT NOT NULLdescription: TEXTcreated_at: TIMESTAMPupdated_at: TIMESTAMP- UNIQUE constraint on (from_person_id, to_person_id, relationship_type)
Indexes
idx_people_name: Index on people.nameidx_edges_from: Index on edges.from_person_ididx_edges_to: Index on edges.to_person_id
Usage Examples
Command Line Interface
# Person operations
python people_skill.py add-person "Jane Doe" --role "CTO" --org "StartupXYZ" --relation "Mentor"
python people_skill.py get-person 1
python people_skill.py search "engineer"
python people_skill.py list-people --org "StartupXYZ"
python people_skill.py update-person 1 --notes "Coffee meeting scheduled"
python people_skill.py delete-person 1
# Relationship operations
python people_skill.py add-relationship 1 2 "mentors" --description "Tech career guidance"
python people_skill.py get-relationships 1
python people_skill.py list-relationships
python people_skill.py update-relationship 1 --type "coaches"
python people_skill.py delete-relationship 1
# Graph operations
python people_skill.py get-graph
python people_skill.py get-network 1
Python API
from database import PeopleDatabase
from people_skill import PeopleAgent
# Initialize
agent = PeopleAgent("people.db")
# Add people
result = agent.add_person(
name="Alice Johnson",
role="VP Engineering",
relation_to_me="Former colleague",
organization="TechCorp",
character="Strategic thinker, empathetic leader",
notes="Worked together 2020-2022"
)
person_id = result["person_id"]
# Add relationship
agent.add_relationship(
from_person_id=1,
to_person_id=2,
relationship_type="manages",
description="Direct manager relationship"
)
# Query network
network = agent.get_person_network(person_id)
print(f"Found {network['connections_count']} connections")
# Export graph
graph = agent.get_graph()
print(f"Graph: {graph['nodes_count']} nodes, {graph['edges_count']} edges")
Common Relationship Types
reports_to: Hierarchical reporting (subordinate → manager)manages: Hierarchical management (manager → subordinate)works_with: Peer collaborationmentors: Mentorship (mentor → mentee)mentored_by: Inverse mentorship (mentee → mentor)friends_with: Personal friendshipknows: Acquaintancecollaborates_with: Project collaborationintroduced_by: Connection source
Use Cases
1. Personal CRM
Track professional contacts, their roles, organizations, and how you know them. Add notes about conversations, meetings, or follow-ups.
python people_skill.py add-person "Sarah Chen" \
--role "Product Director" \
--org "InnovateCo" \
--relation "Met at conference" \
--notes "Interested in API collaboration, follow up Q2"
2. Organizational Mapping
Build and maintain organizational charts with reporting relationships.
# Add team members
python people_skill.py add-person "Mike Lead" --role "Team Lead" --org "Engineering"
python people_skill.py add-person "Dev One" --role "Engineer" --org "Engineering"
python people_skill.py add-person "Dev Two" --role "Engineer" --org "Engineering"
# Create reporting structure
python people_skill.py add-relationship 2 1 "reports_to"
python people_skill.py add-relationship 3 1 "reports_to"
3. Mentorship Network
Track mentorship relationships and career guidance connections.
python people_skill.py add-relationship 5 3 "mentors" \
--description "Career guidance in ML/AI"
4. Collaboration Tracking
Map who works with whom on projects.
python people_skill.py add-relationship 1 2 "works_with" \
--description "Project Phoenix collaboration"
5. Network Analysis
Analyze your professional network to identify key connections.
# View someone's complete network
python people_skill.py get-network 1
# Export for visualization
python people_skill.py get-graph > network.json
Advanced Features
Bidirectional Relationship Queries
The system automatically handles both directions:
# Get all relationships for a person
edges = db.get_all_edges_for_person(person_id)
# Returns: {"outgoing": [...], "incoming": [...]}
Cascade Deletion
Deleting a person automatically removes all associated relationships.
Duplicate Prevention
The UNIQUE constraint prevents duplicate relationships between the same two people with the same type.
Search Flexibility
Search works across multiple fields:
python people_skill.py search "engineer"
# Matches: names, roles, organizations
Integration Examples
Export to Visualization Tools
# Export graph for tools like D3.js, Cytoscape, Gephi
python people_skill.py get-graph > graph.json
Import from CSV
import csv
from people_skill import PeopleAgent
agent = PeopleAgent()
with open('contacts.csv', 'r') as f:
reader = csv.DictReader(f)
for row in reader:
agent.add_person(
name=row['name'],
role=row['role'],
organization=row['org'],
relation_to_me=row['relation']
)
Best Practices
- Consistent Naming: Use consistent naming conventions for relationship types
- Rich Notes: Add contextual notes to remember important details
- Regular Updates: Keep information current with update commands
- Character Tracking: Use the character field to remember personality traits
- Relationship Descriptions: Add context to relationships for clarity
- Search First: Before adding, search to avoid duplicates
API Reference
See people_skill.py for complete API documentation.
Key Classes
PeopleDatabase: Low-level database operationsPeopleAgent: High-level agent interface with result dictionaries
Return Format
All agent methods return dictionaries with:
success: Boolean indicating success/failuremessage: Human-readable status message (on errors)- Data fields specific to the operation
Error Handling
The skill includes comprehensive error handling:
- Foreign key constraints prevent invalid relationships
- Unique constraints prevent duplicate relationships
- Cascade deletion maintains referential integrity
- Try-catch blocks in CLI provide user-friendly errors
Performance
- Indexed queries for fast lookups
- Efficient graph traversal
- Suitable for networks of thousands of people
- SQLite handles concurrent reads
Future Enhancements
Potential extensions:
- Graph visualization generation
- Shortest path finding between people
- Influence/centrality scoring
- Duplicate person detection
- Export to various formats (GraphML, DOT)
- Import from LinkedIn, contact lists
- Time-based relationship tracking
- Strength/confidence scoring for relationships
License
MIT