knowledge-graph

$npx mdskill add giuseppe-trisciuoglio/developer-kit/knowledge-graph

Manage persistent Knowledge Graph for codebase analysis caching.

  • Avoid re-exploring already-analyzed codebases by caching discoveries.
  • Uses Read, Write, Edit, Grep, Glob, and Bash tools.
  • Decides based on need to cache, validate, or query codebase context.
  • Delivers cached context via knowledge-graph.json file in docs/specs.

SKILL.md

.github/skills/knowledge-graphView on GitHub ↗
---
name: knowledge-graph
description: "Manage persistent Knowledge Graph for specifications. Provides read, query, update, and validation capabilities for codebase analysis caching. Use when: spec-to-tasks needs to cache/reuse codebase analysis, task-implementation needs to validate task dependencies or contracts, spec-quality needs to synchronize provides, or any command needs to query existing patterns/components/APIs. Reduces redundant codebase exploration by caching agent discoveries."
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
---

# Knowledge Graph Skill

## Overview

The Knowledge Graph (KG) is a persistent JSON file that stores discoveries from codebase analysis, eliminating redundant exploration and enabling task validation.

**Location**: `docs/specs/[ID-feature]/knowledge-graph.json`

**Key Benefits:**
- ✅ Avoid re-exploring already-analyzed codebases
- ✅ Validate task dependencies against actual codebase state
- ✅ Share discoveries across team members
- ✅ Accelerate task generation with cached context

## When to Use

Use this skill when:

1. **spec-to-tasks needs to cache/reuse codebase analysis** - Store agent discoveries for future reuse
2. **task-implementation needs to validate task dependencies and contracts** - Check if required components exist before implementing
3. **Any command needs to query existing patterns/components/APIs** - Retrieve cached codebase context
4. **Reducing redundant codebase exploration** - Avoid re-analyzing already-explored code

**Trigger phrases:**
- "Load knowledge graph"
- "Query knowledge graph"
- "Update knowledge graph"
- "Validate against knowledge graph"
- "Check if component exists"
- "Find existing patterns"

## Instructions

### Available Operations

**1. read-knowledge-graph** - Load and parse KG for a specification
- **Input**: Path to spec folder (e.g., `docs/specs/001-feature/`)
- **Output**: KG object with metadata, patterns, components, APIs

**2. query-knowledge-graph** - Query specific sections (components, patterns, APIs)
- **Input**: Spec folder, query type, optional filters
- **Output**: Filtered results matching criteria

**3. update-knowledge-graph** - Update KG with new discoveries
- **Input**: Spec folder, updates (partial KG), source description
- **Output**: Merged KG with new findings

**4. validate-against-knowledge-graph** - Validate task dependencies against KG
- **Input**: Spec folder, requirements (components, APIs, patterns)
- **Output**: Validation report with errors/warnings

**5. validate-contract** - Validate provides/expects between tasks
- **Input**: Spec folder, expects (files + symbols), completed dependencies
- **Output**: Satisfied/unsatisfied expectations report

**6. extract-provides** - Extract symbols from implemented files
- **Input**: Array of file paths
- **Output**: Array of provides with file, symbols, type

**7. aggregate-knowledge-graphs** - Merge patterns from all specs
- **Input**: Project root path
- **Output**: Global KG with deduplicated patterns

See [references/query-examples.md](references/query-examples.md) for detailed usage examples.

## Examples

### Input/Output Examples

**Read Knowledge Graph:**
```
Input: /knowledge-graph read docs/specs/001-hotel-search/
Output: {
  metadata: { spec_id: "001-hotel-search", version: "1.0" },
  patterns: { architectural: [...], conventions: [...] },
  components: { controllers: [...], services: [...]}
}
```

**Query Components:**
```
Input: /knowledge-graph query docs/specs/001-hotel-search/ components {"category": "services"}
Output: [{ id: "comp-svc-001", name: "HotelSearchService", type: "service"}]
```

**Update Knowledge Graph:**
```
Input: /knowledge-graph update docs/specs/001-hotel-search/ {
  patterns: { architectural: [{ name: "Repository Pattern"}] }
}
Output: "Added 1 pattern to knowledge graph"
```

**Validate Dependencies:**
```
Input: /knowledge-graph validate docs/specs/001-hotel-search/ {
  components: ["comp-repo-001"]
}
Output: { valid: true, errors: [], warnings: [] }
```

See [references/examples.md](references/examples.md) for comprehensive workflow examples.

## KG Schema Reference

See [references/schema.md](references/schema.md) for complete JSON schema with examples.

## Integration Patterns

See [references/integration-patterns.md](references/integration-patterns.md) for detailed integration with Developer Kit commands.

## Error Handling

See [references/error-handling.md](references/error-handling.md) for comprehensive error handling strategies and recovery procedures.

## Performance Considerations

See [references/performance.md](references/performance.md) for optimization strategies and performance characteristics.

## Security

See [references/security.md](references/security.md) for security considerations, threat mitigation, and best practices.

## Best Practices

**When to Query KG**: Before codebase analysis, task generation, dependency validation

**When to Update KG**: After agent discoveries, component implementation, pattern discovery

**KG Freshness**:
- < 7 days: Fresh
- 7-30 days: Stale, warn user
- > 30 days: Very stale, offer regeneration

See [references/performance.md](references/performance.md) and [references/security.md](references/security.md) for detailed best practices.

## Constraints and Warnings

### Critical Constraints

- **Source-Code Safe Operations**: Does NOT modify source code files. Only creates/updates `knowledge-graph.json` files.
- **Path Validation**: Only reads/writes KG files from `docs/specs/[ID]/` paths.
- **No Automatic Code Generation**: Caches analysis results, does NOT generate implementation code.

### Limitations

- **Validation Scope**: Checks components exist in KG, but cannot verify if they exist in actual codebase if KG is outdated
- **Freshness Dependency**: KG accuracy depends on how recently it was updated
- **Single-Spec First**: Each KG is primarily specific to a single specification
- **File Size**: KG files can grow large (>1MB) for complex specifications

See [references/error-handling.md](references/error-handling.md) and [references/security.md](references/security.md) for complete constraints and warnings.

## Reference Files

- [schema.md](references/schema.md) - Complete JSON schema
- [query-examples.md](references/query-examples.md) - Query patterns
- [integration-patterns.md](references/integration-patterns.md) - Command integration
- [error-handling.md](references/error-handling.md) - Error handling guide
- [performance.md](references/performance.md) - Performance optimization
- [security.md](references/security.md) - Security considerations
- [examples.md](references/examples.md) - Practical examples

More from giuseppe-trisciuoglio/developer-kit

SkillDescription
adr-draftingCreates new Architecture Decision Record (ADR) documents for significant architectural changes using a consistent template and repository-aware naming and storage guidance. Use when a user or agent decides on an architectural change, needs to document technical rationale, or wants to add a new ADR to the project history.
aws-cdkProvides AWS CDK TypeScript patterns for defining, validating, and deploying AWS infrastructure as code. Use when creating CDK apps, stacks, and reusable constructs, modeling serverless or VPC-based architectures, applying IAM and encryption defaults, or testing and reviewing `cdk synth`, `cdk diff`, and `cdk deploy` changes. Triggers include "aws cdk typescript", "create cdk app", "cdk stack", "cdk construct", "cdk deploy", and "cdk test".
aws-cli-beastProvides advanced AWS CLI patterns for managing EC2, Lambda, S3, DynamoDB, RDS, VPC, IAM, and CloudWatch. Generates bulk operation scripts, automates cross-service workflows, validates security configurations, and executes JMESPath queries for complex filtering. Triggers on "aws cli help", "aws command line", "aws scripting", "aws automation", "aws batch operations", "aws bulk operations", "aws cli pagination", "aws multi-region", "aws profiles", "aws cli troubleshooting".
aws-cloudformation-auto-scalingProvides AWS CloudFormation patterns for Auto Scaling including EC2, ECS, and Lambda. Use when creating Auto Scaling groups, launch configurations, launch templates, scaling policies, lifecycle hooks, and predictive scaling. Covers template structure with Parameters, Outputs, Mappings, Conditions, cross-stack references, and best practices for high availability and cost optimization.
aws-cloudformation-bedrockProvides AWS CloudFormation patterns for Amazon Bedrock resources including agents, knowledge bases, data sources, guardrails, prompts, flows, and inference profiles. Use when creating Bedrock agents with action groups, implementing RAG with knowledge bases, configuring vector stores, setting up content moderation guardrails, managing prompts, orchestrating workflows with flows, and configuring inference profiles for model optimization.
aws-cloudformation-cloudfrontProvides AWS CloudFormation patterns for CloudFront distributions, origins (ALB, S3, Lambda@Edge, VPC Origins), CacheBehaviors, Functions, SecurityHeaders, parameters, Outputs and cross-stack references. Use when creating CloudFront distributions with CloudFormation, configuring multiple origins, implementing caching strategies, managing custom domains with ACM, configuring WAF, and optimizing performance.
aws-cloudformation-cloudwatchProvides AWS CloudFormation patterns for CloudWatch monitoring, metrics, alarms, dashboards, logs, and observability. Use when creating CloudWatch metrics, alarms, dashboards, log groups, log subscriptions, anomaly detection, synthesized canaries, Application Signals, and implementing template structure with Parameters, Outputs, Mappings, Conditions, cross-stack references, and CloudWatch best practices for monitoring production infrastructure.
aws-cloudformation-dynamodbProvides AWS CloudFormation patterns for DynamoDB tables, GSIs, LSIs, auto-scaling, and streams. Use when creating DynamoDB tables with CloudFormation, configuring primary keys, local/global secondary indexes, capacity modes (on-demand/provisioned), point-in-time recovery, encryption, TTL, and implementing template structure with Parameters, Outputs, Mappings, Conditions, cross-stack references.
aws-cloudformation-ec2Provides AWS CloudFormation patterns for EC2 instances, Security Groups, IAM roles, and load balancers. Use when creating EC2 instances, SPOT instances, Security Groups, IAM roles for EC2, Application Load Balancers (ALB), Target Groups, and implementing template structure with Parameters, Outputs, Mappings, Conditions, and cross-stack references.
aws-cloudformation-ecsProvides AWS CloudFormation patterns for ECS clusters, task definitions, services, container definitions, auto scaling, blue/green deployments, CodeDeploy integration, ALB integration, service discovery, monitoring, logging, template structure, parameters, outputs, and cross-stack references. Use when creating ECS clusters with CloudFormation, configuring Fargate and EC2 launch types, implementing blue/green deployments, managing auto scaling, integrating with ALB and NLB, and implementing ECS best practices.