Store episodes in Graphiti Memory: agent executions, error resolutions, workflow completions, technical decisions. Provides JSON schemas and storage patterns. Use when user mentions storing in Graphiti, add_memory, episode storage, building knowledge base, or documenting agent work.
/plugin marketplace add laurigates/claude-plugins/plugin install graphiti-plugin@lgates-claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Patterns for storing episodes in Graphiti Memory including agent executions, error resolutions, workflow completions, and technical decisions. This skill provides proven JSON schemas and storage patterns for building institutional knowledge.
Automatically apply this skill when:
Episodes are discrete events stored in Graphiti Memory that get automatically processed into facts and entities:
Store each agent execution for learning and audit:
mcp__graphiti-memory__add_memory(
name=f"Agent Execution: {agent_name} - {task_summary}",
episode_body=json.dumps({
"agent": agent_name,
"timestamp": datetime.now().isoformat(),
"task_description": user_request,
"context_provided": {
"tech_stack": ["FastAPI", "PostgreSQL"],
"constraints": ["Must support async", "90% test coverage"]
},
"approach_taken": [
"Researched FastAPI async patterns",
"Implemented connection pooling",
"Added pytest-asyncio for testing"
],
"outcome": "SUCCESS|PARTIAL|FAILED",
"deliverables": [
"API endpoints in /src/api/",
"Tests in /tests/",
"Documentation in /docs/"
],
"lessons_learned": [
"Async context managers critical for DB connections",
"pytest-asyncio fixtures simplify testing"
],
"time_spent_minutes": 45,
"challenges_encountered": [
"Initial connection pool configuration incorrect"
]
}),
source="json",
source_description=f"Agent execution: {agent_name}",
group_id=f"{agent_name}_executions"
)
When to use: After every significant agent execution Value: Learn from similar tasks, avoid past mistakes
Document how errors were resolved:
mcp__graphiti-memory__add_memory(
name=f"Error Resolved: {error_type} - {solution_summary}",
episode_body=json.dumps({
"error_type": "DatabaseConnectionError",
"context": {
"tech_stack": ["PostgreSQL", "SQLAlchemy"],
"environment": "Development"
},
"symptoms": [
"Connection timeouts after 30 seconds",
"Error: 'pool exhausted'"
],
"root_cause": "Connection pool size too small for async workload",
"solution_applied": "Increased pool_size to 20, overflow to 10",
"verification": "No timeouts after load testing",
"similar_to": "Connection pooling issues seen in project X",
"prevention": "Always configure pool_size based on expected concurrency"
}),
source="json",
source_description="Error resolution",
group_id="error_resolutions"
)
When to use: After resolving non-trivial errors Value: Build error knowledge base, faster future resolution
Store complete multi-agent workflow results:
mcp__graphiti-memory__add_memory(
name=f"Workflow: {workflow_type} - {project_name}",
episode_body=json.dumps({
"workflow_type": "api_development",
"project_name": "User Auth API",
"duration_minutes": 180,
"agents_involved": [
"research-assistant",
"python-developer",
"security-auditor",
"test-architect"
],
"execution_sequence": [
{"agent": "research-assistant", "duration": 30, "outcome": "success"},
{"agent": "python-developer", "duration": 90, "outcome": "success"},
{"agent": "security-auditor", "duration": 45, "outcome": "issues_found"},
{"agent": "python-developer", "duration": 15, "outcome": "fixes_applied"}
],
"overall_outcome": "SUCCESS",
"quality_metrics": {
"test_coverage": "94%",
"security_issues": "0 high, 2 low",
"performance": "avg 120ms response time"
},
"lessons_learned": [
"Security audit early prevents rework",
"Parallel testing during implementation saves time"
]
}),
source="json",
source_description="Multi-agent workflow completion",
group_id="workflow_executions"
)
When to use: After completing multi-step workflows Value: Optimize workflow patterns, estimate future timelines
Document why important decisions were made:
mcp__graphiti-memory__add_memory(
name=f"Decision: {decision_topic} - {choice_made}",
episode_body=json.dumps({
"decision_topic": "API Framework Selection",
"context": {
"project_type": "REST API with async I/O",
"team_expertise": "Python",
"requirements": ["High performance", "Modern async support"]
},
"options_considered": [
{"option": "Flask", "pros": ["Simple", "Mature"], "cons": ["No async support"]},
{"option": "FastAPI", "pros": ["Async", "Modern", "Auto docs"], "cons": ["Newer"]},
{"option": "Django", "pros": ["Full-featured"], "cons": ["Heavy", "Not async-first"]}
],
"decision_made": "FastAPI",
"rationale": [
"Async support critical for I/O-heavy workload",
"Auto OpenAPI docs reduce maintenance",
"Growing community and adoption"
],
"outcome_months_later": "Excellent performance, team productive"
}),
source="json",
source_description="Technical decision rationale",
group_id="technical_decisions"
)
When to use: After making significant technical decisions Value: Remember why decisions were made, inform future choices
Organize episodes with consistent group IDs:
By Domain:
python_development - Python-related tasksnodejs_development - Node.js/TypeScript tasksrust_development - Rust programming tasksinfrastructure - DevOps, containers, Kubernetesgit_operations - Git and GitHub operationsBy Activity Type:
agent_executions - General agent workerror_resolutions - Problem solvingworkflow_executions - Multi-step workflowstechnical_decisions - Architecture and tech choicescode_reviews - Review findings and improvementsBy Project:
project_auth_api - Specific project workproject_frontend_app - Another projectmigration_postgres_to_mongo - Migration projectBest Practice: Use descriptive, consistent group IDs for easy searching
✅ Store:
❌ Don't Store:
Good Episode (specific, actionable):
{
"task": "Implement JWT authentication for FastAPI",
"approach": ["Used PyJWT library", "Added middleware decorator"],
"outcome": "SUCCESS",
"lessons": "HTTP-only cookies more secure than localStorage"
}
Poor Episode (vague, unusable):
{
"task": "Did some auth stuff",
"approach": ["Used library"],
"outcome": "It worked"
}
graphiti-memory-retrieval, graphiti-learning-workflowsgraphiti-memory (configured in settings.json)knowledge-graph-patterns (episode storage sections)This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.