TheBushidoCollective

generate-blueprints

Deeply research all systems and create or update blueprints/ documentation for the entire codebase

TheBushidoCollective 190 20 Updated 6mo ago
GitHub

Install

npx skillscat add thebushidocollective/han/generate-blueprints

Install via the SkillsCat registry.

About this skill

We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no superlatives, no calls to action, natural prose, no bullet points, no headings, no markdown formatting. At most 60 words. Only the summary text, no extra content. We need to explain what the skill does, what problem it solves, when to use it. We must not use markdown formatting, so plain text. No bullet points, headings. Just sentences. Let's craft about 3 sentences, maybe 45-55 words.

SKILL.md

Name

blueprints:generate-blueprints - Generate comprehensive blueprint documentation for the entire codebase

Synopsis

/blueprints

Description

Comprehensively document all systems in the codebase by creating or updating the blueprints/ directory at the repository root with technical documentation for each major system.

Important: Blueprint Location

CRITICAL: Blueprints MUST be created at the repository root, never in subdirectories or packages.

  • {repo-root}/blueprints/
  • {repo-root}/packages/foo/blueprints/
  • {repo-root}/src/blueprints/

Blueprints are repository-wide system design documents. Systems may span multiple packages or directories, but all blueprints belong in a single blueprints/ directory at the repo root.

Implementation

You are tasked with comprehensively documenting all systems in this codebase.

Process

Phase 1: Discovery

  1. Analyze project structure to identify all major systems:

    • Top-level directories and their purposes
    • Package/module boundaries
    • Entry points (main files, CLI commands, API endpoints)
    • Configuration systems
  2. Read existing documentation:

    • README.md files at all levels
    • Any existing blueprints/ directory
    • Inline documentation patterns
    • Test files for behavioral documentation
  3. Create a system inventory:

    • List all distinct systems/features
    • Note dependencies between systems
    • Identify documentation gaps

Phase 2: Audit Existing Blueprints

Audit existing documentation using native tools:

  1. List all blueprints: Use Glob("blueprints/*.md") to find all existing blueprint files
  2. Read each blueprint: Use Read("blueprints/{name}.md") to check each documented system:
    • Does the blueprint match current implementation?
    • Are there new features not documented?
    • Is any documented functionality removed?
  3. Identify orphaned blueprints (documentation for removed systems)

Phase 3: Prioritize Documentation

Order systems by importance:

  1. Core systems - Central functionality everything depends on
  2. Public APIs - User-facing features and interfaces
  3. Integration points - How systems connect
  4. Supporting systems - Utilities and helpers

Phase 4: Generate Documentation

For each system, use the Write tool to create or update the blueprint file:

Write("blueprints/{system-name}.md", content)

Each file MUST include YAML frontmatter:

---
name: system-name
summary: Brief one-line description
---

# {System Name}

{Brief description}

## Overview

{Purpose and role in the larger system}

## Architecture

{Structure, components, data flow}

## API / Interface

{Public methods, commands, configuration}

## Behavior

{Normal operation, error handling, edge cases}

## Files

{Key implementation files with descriptions}

## Related Systems

{Links to related blueprints}

Phase 5: Index Management

The blueprint index is automatically managed by the SessionStart hook. When you run han blueprints sync-index, the index is updated at .claude/rules/blueprints/blueprints-index.md.

You don't need to manually create or update any index files - just focus on creating quality blueprint content using the Write tool.

De-duplication Strategy

When documenting, actively prevent duplicates:

  1. Check before creating - Use Glob("blueprints/*.md") and Grep to search for existing coverage
  2. Read existing blueprints - Use Read("blueprints/{name}.md") to check content
  3. Merge related systems - Document tightly coupled systems together
  4. Use cross-references - Link between blueprints rather than duplicating
  5. One source of truth - Each concept documented in exactly one place

Output

After completing:

  1. List all systems discovered
  2. List blueprints created/updated
  3. Note any systems that couldn't be documented (why)
  4. Identify areas needing future documentation

Remember: Use native tools (Glob, Grep, Read, Write) to manage blueprint files. The frontmatter format (name and summary fields) enables discovery via the auto-generated index.