Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Manage and query a persistent SQLite-based graph of people and their relationships for personal CRM, org charts, mentorship, and collaboration mapping.
Manage and query a persistent SQLite-based graph of people and their relationships for personal CRM, org charts, mentorship, and collaboration mapping.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
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.
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
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
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.)
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)
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
# 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
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")
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
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"
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"
Track mentorship relationships and career guidance connections. python people_skill.py add-relationship 5 3 "mentors" \ --description "Career guidance in ML/AI"
Map who works with whom on projects. python people_skill.py add-relationship 1 2 "works_with" \ --description "Project Phoenix collaboration"
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
The system automatically handles both directions: # Get all relationships for a person edges = db.get_all_edges_for_person(person_id) # Returns: {"outgoing": [...], "incoming": [...]}
Deleting a person automatically removes all associated relationships.
The UNIQUE constraint prevents duplicate relationships between the same two people with the same type.
Search works across multiple fields: python people_skill.py search "engineer" # Matches: names, roles, organizations
# Export graph for tools like D3.js, Cytoscape, Gephi python people_skill.py get-graph > graph.json
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'] )
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
See people_skill.py for complete API documentation.
PeopleDatabase: Low-level database operations PeopleAgent: High-level agent interface with result dictionaries
All agent methods return dictionaries with: success: Boolean indicating success/failure message: Human-readable status message (on errors) Data fields specific to the operation
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
Indexed queries for fast lookups Efficient graph traversal Suitable for networks of thousands of people SQLite handles concurrent reads
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
MIT
Data access, storage, extraction, analysis, reporting, and insight generation.
Largest current source with strong distribution and engagement signals.