Manage the knowledge graph of entities and relationships across projects
View on GitHubFebruary 1, 2026
Select agents to install to:
npx add-skill https://github.com/mwguerra/claude-code-plugins/blob/main/my-workflow/skills/knowledge-graph/SKILL.md -a claude-code --skill knowledge-graphInstallation paths:
.claude/skills/knowledge-graph/# Knowledge Graph Skill
Manage entities (projects, technologies, people, concepts) and their relationships.
## When to Use
- Adding new entities to the graph
- Finding relationships between entities
- Querying cross-project connections
- Building context from past work
- Discovering related concepts
## Database Location
```bash
DB_PATH="$HOME/.claude/my-workflow/workflow.db"
```
## Entity Types
### Projects
```json
{
"node_type": "project",
"properties": {
"repo_url": "https://github.com/...",
"language": "TypeScript",
"framework": "React",
"status": "active"
}
}
```
### Technologies
```json
{
"node_type": "technology",
"properties": {
"category": "database",
"version": "7.0",
"documentation": "https://..."
}
}
```
### People
```json
{
"node_type": "person",
"properties": {
"role": "developer",
"team": "backend",
"email": "..."
}
}
```
### Concepts
```json
{
"node_type": "concept",
"properties": {
"category": "architecture",
"related_patterns": ["microservices", "event-driven"]
}
}
```
### Tools
```json
{
"node_type": "tool",
"properties": {
"category": "development",
"platform": "cli"
}
}
```
## Relationship Types
- `uses` - Project uses technology
- `knows` - Person knows technology/concept
- `owns` - Person owns/maintains project
- `depends_on` - Project depends on another
- `related_to` - General relationship
- `implements` - Project implements concept
- `part_of` - Component is part of larger system
## Creating Nodes
```sql
INSERT INTO knowledge_nodes (
id, name, node_type, description, properties, aliases
) VALUES (
:id, :name, :type, :description, :properties_json, :aliases_json
) ON CONFLICT(id) DO UPDATE SET
description = COALESCE(:description, description),
properties = COALESCE(:properties_json, properties),
interaction_count = interaction_count + 1,
last_interaction = datetime('now'),
updated_at = datetime('now');
```
## Creat