Run a complete design workflow -- from establishing context through 5 progressive design levels to an approved blueprint. Composes context anchoring, design-first methodology, architecture, and DDD into a unified process. Handles both new features (create context doc) and resuming existing work (load context doc). Use when starting a design, planning architecture, or when the user says 'design a feature', 'blueprint', 'start designing', 'plan the architecture', or 'let's design before coding'.
npx skills add https://github.com/techygarg/lattice --skill design-blueprint
Read apply skills order:
framework:knowledge-priming -- Load project context (tech stack, architecture, conventions) ground decisions real projectframework:context-anchoring -- Create or load feature context anchor docframework:learning-harvest -- Load prior operational learnings inform design; harvest new patterns at session end (always)framework:collaborative-judgment -- Surface real design judgment calls structured options instead silent assuming (always)framework:design-first -- Walk through 5 progressive design levelsframework:architecture -- Apply structural rules Component and Interaction levelsframework:domain-driven-design -- Apply domain modeling Component, Interaction, Contract levelsUse framework:learning-harvest Load behavior. Focus hint: "design session — focus: design patterns, reliability, structural health".
Use framework:context-anchoring set up feature living doc.
Load requirement constraints: Read requirement_doc from context doc frontmatter.
## Technical Constraints. Treat as non-negotiable — same authority as architecture rules. Surface to user before Level 1.framework:collaborative-judgment. User decides; record any change back in requirement doc ## Technical Constraints if it is a local file. If external, record the change in the context doc's Decisions Log instead — this molecule never writes back to an external system.Write the back-link: If requirement_doc resolved to a readable local file at .lattice/requirements/features/{feature-name}.md, write into its ## Links section: - Design: {feature-name}.md. Discrete file edit, done once — skip if the link is already present.
If key use cases or success criteria unclear now, use framework:collaborative-judgment surface what needs answering before starting Level 1.
Drive through framework:design-first 5 levels sequentially. Each level, present design output, get user approval, then persist approved output into context anchor doc before advancing.
Enrichment rule: After user approves each level, use framework:context-anchoring Enrich behavior write following into context doc:
NOT advance next level until current level output persisted.
When applying architectural atoms each level, use framework:collaborative-judgment surface real design judgment calls immediately — not batch during design.
Apply architectural atoms levels where add value:
Level 1 (Capabilities):
framework:design-first.## Design: Level 1 -- Capabilities section.Level 2 (Components):
framework:architecture -- validate each component maps defined architectural layer, dependencies follow loaded architecture rules, component boundaries clear.framework:domain-driven-design -- identify aggregates, entities, value objects. Determine which components live domain layer which infrastructure.## Design: Level 2 -- Components section. Log architectural decisions (layer choices, DDD classifications) Decisions Log.Level 3 (Interactions):
framework:architecture -- validate data flows follow patterns defined loaded architecture doc and boundary crossing rules respected.framework:domain-driven-design -- define aggregate interactions, domain events. Cross-aggregate communication should use domain events eventual consistency.## Design: Level 3 -- Interactions section. Log flow decisions Decisions Log.Level 4 (Contracts):
framework:domain-driven-design -- define repository interfaces, value object types, aggregate root boundaries. Contracts should reflect tactical patterns agreed earlier levels.framework:architecture -- validate contracts respect boundary-data rules and interface ownership per loaded architecture doc.## Design: Level 4 -- Contracts section. Log contract decisions Decisions Log.After Level 4 (Contracts) approved and persisted:
requirement_doc from context doc frontmatter.[path]. Verify before continuing." (a broken local path is an error)## Technical Constraints. Present findings: each divergence as [field/behavior] — changed from [X] to [Y]. Reason: [from Decisions Log], or "L4 consistent with requirement spec — no overrides" if none. Ask: *"Record this in the requirement doc?"*requirement_doc until confirmed. Confirmed and local → write each as - Design override: [field/behavior] — changed from [X] to [Y]. Reason: [...], or - Design alignment: L4 consistent with requirement spec — no overrides. if none. Confirmed and external → this molecule never writes to an external system; note the findings in Design Summary instead. Declined → note in Design Summary instead: "Drift check results not written to requirement doc — see Decisions Log."status: approved until this check is complete.framework:context-anchoring Enrich add ## Design Summary section to context doc containing:status: approved to context doc frontmatter. STOP: discrete file edit — not prose. Without this, code-forge will not proceed.STOP: do not write status to requirement_doc. The feature file's status is owned by whoever manages the requirement — a human, or an external system it may live in. This molecule manages its own context doc only.
framework:learning-harvest Harvest behavior. Session context: "design session — architectural decomposition and contract definition". Synthesize and propose cross-cutting patterns from this session — decomposition approaches, architectural trade-offs, scope decisions that could inform future designs. User confirms what enters the document. STOP: run this before the next bullet — do not jump straight to the /code-forge suggestion./code-forge when ready begin coding against the approved design.Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls.
Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Take techygarg/design-blueprint from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.