xiaohongshu
xiaohongshu
graph-skills
Build context-efficient, reusable skills using graph-based workflow orchestration with Claude Code subagents. Combines PocketFlow-inspired graph abstraction with multi-model optimization (Haiku for exploration, Sonnet for analysis). Use when building complex workflows, converting external framewo...
Full skill instructions
🔒 Security Verified - This skill has been verified using defense-in-depth security verification (code review, dependency analysis, structure validation). See Security Report. Security verification adapted from skill-evaluator by @bjulius.
📚 Research Findings (Preview only - will be removed when promoted to stable) - View detailed research and benchmarks
Graph Skills is a lightweight (~150 lines) graph-based orchestration framework for Claude Code that combines:
Key Innovation: Extract the elegance of graph-based workflows while leveraging Claude's context-efficient subagent architecture for massive performance gains.
| Metric | Traditional | Graph Skills | Improvement |
|---|---|---|---|
| Context Usage | 100% | 30-35% | 65-70% reduction |
| Cost (50K tokens) | $30 (all Sonnet) | $8 (mixed) | 73% savings |
| Execution Speed | ~60s | ~25s | 58% faster |
| Parallel Tasks | No | Yes | Multi-agent |
Define workflows as graphs with:
Automatically route tasks to the optimal model:
Cost Example (50-file codebase analysis):
Traditional (all Sonnet): 100K tokens × $15/1M = $1.50
Graph Skills (mixed): 30K Sonnet + 10K Haiku = $0.45 + $0.01 = $0.46
Savings: 69%
Automatic topological sorting ensures:
const myWorkflow: Graph = {
nodes: {
// Fast exploration with Haiku
explore_files: {
agent: 'explore',
task: 'Scan repository, count files, identify languages',
output: 'file_data'
},
// Deep analysis with Sonnet
analyze_architecture: {
agent: 'plan',
model: 'sonnet', // Force Sonnet for complex task
task: 'Analyze architecture patterns and design',
dependencies: ['explore_files'], // Waits for explore_files
output: 'architecture'
},
// Generate output
create_summary: {
agent: 'general-purpose',
task: 'Create markdown summary',
dependencies: ['explore_files', 'analyze_architecture'],
output: 'summary'
}
}
};
import { GraphOrchestrator } from './scripts/orchestrator';
const orchestrator = new GraphOrchestrator();
const result = await orchestrator.execute(myWorkflow, {
repositoryPath: '/path/to/repo'
});
console.log(result.output); // Final summary
console.log(result.metrics); // Performance stats
{
nodes: {
retrieve: { agent: 'explore', task: 'Find relevant files' },
analyze: { agent: 'plan', task: 'Analyze content', dependencies: ['retrieve'] },
generate: { agent: 'general-purpose', task: 'Create tutorial', dependencies: ['analyze'] }
}
}
Cost: Haiku for retrieval, Sonnet for analysis/generation Savings: ~60-70% vs all-Sonnet
{
nodes: {
perceive: { agent: 'explore', task: 'Gather information' },
reason: { agent: 'plan', task: 'Analyze and plan', dependencies: ['perceive'] },
act: { agent: 'general-purpose', task: 'Execute plan', dependencies: ['reason'] }
}
}
Cost: Optimized for each stage Benefit: Clear separation of concerns
{
nodes: {
scan_python: { agent: 'explore', task: 'Scan Python files' },
scan_typescript: { agent: 'explore', task: 'Scan TypeScript files' },
merge_results: {
agent: 'general-purpose',
task: 'Combine findings',
dependencies: ['scan_python', 'scan_typescript']
}
}
}
Benefit: Independent tasks run concurrently Speed: 50-60% faster than sequential
The Model Router automatically selects the optimal model based on:
→ Haiku (fast & cheap):
→ Sonnet (powerful):
→ Opus (highest quality):
{
agent: 'plan',
model: 'opus', // Force Opus for critical analysis
task: 'Make architectural decision'
}
# PocketFlow approach (single model, framework overhead)
from pocketflow import Flow
flow = Flow()
flow.add_node("scan", gemini_2_5_pro, "Scan files")
flow.add_node("analyze", gemini_2_5_pro, "Analyze")
flow.add_edge("scan", "analyze")
result = flow.run()
// Graph Skills (multi-model, no framework)
const graph = {
nodes: {
scan: { agent: 'explore', task: 'Scan files', output: 'files' },
analyze: { agent: 'plan', task: 'Analyze', dependencies: ['scan'], output: 'analysis' }
}
};
const result = await orchestrator.execute(graph, {});
Benefits:
graph-skills/
├── SKILL.md # This file
├── RESEARCH_FINDINGS.md # Detailed research and recommendations
├── scripts/
│ ├── types.ts # Type definitions
│ ├── model-router.ts # Model selection logic
│ ├── orchestrator.ts # Graph execution engine
│ ├── example-repo-summary.ts # Proof-of-concept example
│ ├── package.json # Dependencies
│ ├── tsconfig.json # TypeScript config
│ └── README.md # Script documentation
└── references/
└── (future: graph-patterns.md, model-optimization.md)
In production, invokeSubagent() calls Claude's Task tool:
private async invokeSubagent(
agent: SubagentType,
model: ClaudeModel,
prompt: string
): Promise<any> {
// Actual Claude Code integration
return await Task({
subagent_type: agent, // 'explore', 'plan', 'general-purpose'
model: model, // 'haiku', 'sonnet', 'opus'
prompt: prompt,
description: 'Execute graph node'
});
}
Filesystem-based design ensures compatibility:
cd ~/.claude/skills/graph-skills/scripts
npm install # Usually not needed - TypeScript pre-installed
npm run example
# Or: ts-node example-repo-summary.ts
🔷 Executing graph: Repository Summary
Nodes: 3
Execution order: scan_structure → analyze_architecture → generate_summary
▶️ Executing node: scan_structure
Agent: explore
Task: Scan the repository structure...
Model: haiku (Optimized for fast, cost-effective execution)
✅ Completed: scan_structure
Duration: 234ms
Tokens: 5,234
▶️ Executing node: analyze_architecture
Agent: plan
Task: Based on the repository structure, analyze...
Model: sonnet (Requires sophisticated reasoning and analysis)
✅ Completed: analyze_architecture
Duration: 1,456ms
Tokens: 15,678
▶️ Executing node: generate_summary
Agent: general-purpose
Task: Create a concise markdown summary...
Model: sonnet (Requires sophisticated reasoning and analysis)
✅ Completed: generate_summary
Duration: 892ms
Tokens: 8,234
============================================================
📊 Execution Summary
============================================================
Status: ✅ SUCCESS
Total Duration: 2582ms
Nodes Completed: 3/3
Total Tokens: 29,146
============================================================
💰 Cost Comparison:
Traditional Approach (all Sonnet):
Estimated tokens: ~50,000
Estimated cost: ~$0.75
Graph Skills Approach (Haiku + Sonnet):
Actual tokens: 29,146
Estimated cost: ~$0.44
Savings: ~41% 🎉
// ❌ Bad: Everything sequential
scan → parse → analyze → design → generate
// ✅ Good: Parallel where possible
scan_python ──┐
scan_typescript─┼→ merge → analyze → generate
scan_go ───────┘
// ❌ Bad
output: 'result1', 'result2'
// ✅ Good
output: 'file_structure', 'architecture_analysis'
{
agent: 'plan',
task: 'Complex analysis',
metadata: {
description: 'Deep architectural analysis',
estimatedTokens: 15000,
priority: 'high'
}
}
export function createRAGGraph(config: {
retrieveTask: string;
analyzeTask: string;
generateTask: string;
}): Graph {
return {
nodes: {
retrieve: {
agent: 'explore',
task: config.retrieveTask,
output: 'retrieved_data'
},
analyze: {
agent: 'plan',
task: config.analyzeTask,
dependencies: ['retrieve'],
output: 'analysis'
},
generate: {
agent: 'general-purpose',
task: config.generateTask,
dependencies: ['retrieve', 'analyze'],
output: 'final_output'
}
}
};
}
// Usage
const myRAG = createRAGGraph({
retrieveTask: 'Find relevant documentation',
analyzeTask: 'Understand key concepts',
generateTask: 'Create tutorial'
});
Cause: Node references a dependency that doesn't exist
Solution: Check node IDs match exactly
dependencies: ['scan_structure'] // Must match node ID
Cause: Node has no path from entry points
Solution: Add to dependency chain or specify as entry
entry: 'my_starting_node'
Cause: Using Sonnet for simple tasks
Solution: Let model router optimize, or force Haiku
{ agent: 'explore', model: 'haiku', task: 'Simple scan' }
| Feature | PocketFlow | Agentic Flow | Graph Skills |
|---|---|---|---|
| Learning Curve | Medium | High | Low-Medium |
| Context Efficiency | Good | Good | Excellent |
| Multi-Model | No | Limited | Yes (auto) |
| Code Web Compatible | Unknown | No (AgentDB) | Yes |
| Framework Weight | Medium | Heavy | Minimal |
| Visual Workflows | Yes | No | Yes |
| Cost Optimization | Manual | Manual | Automatic |
RESEARCH_FINDINGS.md for detailed analysisscripts/README.md for implementation detailsThis skill is part of an exploration into graph-based skill composition. Feedback and improvements welcome!
Areas for contribution:
Version: 1.0.0 Status: Proof of Concept Complete, Production Implementation In Progress Author: Kieran Steele + Claude License: MIT
Graph Skills brings the best of both worlds:
Result: 65-70% context reduction, 70-75% cost savings, visual workflow clarity, and reusable patterns.
Ready to build context-efficient skills? Start with scripts/example-repo-summary.ts and create your own graphs!
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience