本文へ移動
cccskills
無料GitHub で公開

design-blueprint

Run a complete design workflow -- from establishing context through four progressive design levels (Capabilities, Components, Interactions, Contracts) to an approved blueprint. Composes knowledge-priming, context-anchoring, learning-harvest, collaborative-judgment, design-first, architecture, and domain-driven-design into one process. Handles both new features (create context doc) and resuming existing work (load context doc). Level 5 (Implementation) is delegated to code-forge. 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'.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md13.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Design Blueprint

Required Skills

Read and apply in order before Step 1:

  1. framework:knowledge-priming -- Load the project knowledge base so every decision grounds in the real project. (always)
  2. framework:context-anchoring -- Create or load the feature's living context doc (Create / Load / Enrich behaviors). (always)
  3. framework:learning-harvest -- Load prior operational learnings at session start; harvest new ones at session end. (always)
  4. framework:collaborative-judgment -- Surface genuine judgment calls as structured options instead of silently assuming. (always)
  5. framework:design-first -- Owns the 5-level methodology. Its Entry Assessment, Complexity Calibration, Simplicity Check, and Level Completion Protocol govern Step 2. (Step 2)
  6. framework:architecture -- Validate components, layers, dependency direction, and boundary rules (design mode). (Levels 2-4)
  7. framework:domain-driven-design -- Model aggregates, entities, value objects, events, and contracts (design mode). (Levels 2-4)

Additional Instructions

STOP: Before Step 1, read additional_instructions.design_blueprint (one line or a list) from .lattice/config.yaml. No file or no key → skip silently.

When lines are found:

  1. Show them verbatim under "Additional instructions (from config):".
  2. Highest priority — apply them for the whole session, including on resume. On any conflict with anything else in this skill — steps, gates, STOP rules — or with its Required Skills, standards documents, or operational learnings, the config line wins.

Workflow

Step 1: Establish Context

  1. Run framework:learning-harvest Load behavior. Focus hint: "design session — focus: design patterns, reliability, structural health".

  2. Set up the feature's living doc with framework:context-anchoring:

    • Discover: run context-anchoring Document Discovery — scan the context base directory (per the atom's Config Resolution) for an existing anchor doc matching the feature name or frontmatter.
    • Found → Load behavior. Present the structured acknowledgment: feature name, status, decision count, open questions, constraints. Then run the resume check below.
    • Not found → Create behavior. Confirm the feature name, summary, and requirement doc link with the user before creating. Then begin Step 2 — the Entry Assessment sets the entry level.
  3. Resume check (when a doc was found) — derive the earliest incomplete step from the doc itself. STOP: Never re-walk agreed work:

    • status: approved → design is finished. Say so and stop; suggest /code-forge.
    • No sections starting ## Design: Level → begin Step 2 — the Entry Assessment (and its spec rule) sets the entry level.
    • Some levels persisted → summarize the approved levels briefly, then resume at the first missing level at or after the recorded entry level (the [Entry] Decisions Log entry; older docs without one → treat entry as Level 1).
    • Every level from entry through Level 4 persisted, but no ## Design Summary, or status ≠ approved → go directly to Step 3.
  4. Requirement constraints: read requirement_doc from the context doc frontmatter.

    • Absent → skip.
    • Local path, unreadable → STOP: "Requirement doc not found at [path]. Verify before continuing."
    • Local path, readable → read it and extract ## Technical Constraints. Treat as non-negotiable — same authority as architecture rules. Surface to the user before the first level is presented.
    • External reference (URL, ticket ID, or other non-local-path identifier) → resolve via a connected MCP tool if one can. If none is connected or the fetch returns nothing, ask the user to paste the current constraints — expected, not an error.
    • Either path resolved to the spec itself (not pasted constraints only) → Step 2's spec rule applies.
    • Conflict during design → surface via framework:collaborative-judgment. The user decides; record the change back in the requirement doc's ## Technical Constraints if local, or in the Decisions Log if external — this molecule never writes to an external system.
  5. Write the back-link: if requirement_doc resolved to a readable local file, add to its ## Links section (create it at the end if missing): - Design: [{context-doc-filename}]({path from the requirement doc to this context doc}). Several context docs may link one requirement (e.g. one per platform) — one line each. One discrete file edit; skip if this context doc's link is already present.

Step 2: Walk the Design Levels

Run design-first's Entry Assessment first: state the proposed entry level from its Complexity Calibration table and wait for confirmation. Record the confirmed entry level in the Decisions Log: [Entry] Start at Level N (name) — rationale. If key use cases or success criteria are unclear, surface them via framework:collaborative-judgment before producing the first level output.

Spec as Level 1: when the context doc has no ## Design: Level section yet and requirement_doc resolved to the spec itself, the spec is Level 1. Do not re-validate it — spec quality belongs to requirement-forge.

  • Propose entry at Level 2 or the calibrated level, whichever is later, and offer: "Level 1 comes from the linked spec. Starting at Level [N]. Want a capabilities walk-through first?" STOP — do NOT advance until the user answers.
  • User wants the walk-through → enter at Level 1, using the spec as input.
  • Otherwise, save ## Design: Level 1 -- Capabilities as one line: Taken from [{spec-file}]({path from this context doc to the spec}). Not re-walked. — compute the relative path from the actual locations of both files; an external spec gets its reference instead. Do not copy the spec.

Drive the levels sequentially from the confirmed entry level through Level 4 via framework:design-first. Complexity Calibration sets how deep each level goes; it never removes a gate or skips persistence.

Gate (every level) — follow design-first's Level Completion Protocol: present the level output with its targeted gating question, then STOP — do NOT advance until the user explicitly confirms, not on silence, not on ambiguity.

Persist (after every approval, before advancing) — use framework:context-anchoring Enrich to write into the context doc:

  1. The approved output as a clean structured summary under ## Design: Level N -- {Name}, same format as presented (numbered list L1; component table + diagram L2; sequence/flow L3; typed interfaces L4). Persist diagrams as Mermaid.
  2. One Decisions Log entry per decision: [Level N] Chose X because Y. Rejected: Z.
  3. Constraints identified during the discussion (non-negotiable boundaries that emerged).
  4. Open questions surfaced but unresolved.

STOP: Do not present the next level until these writes are done.

Judgment calls: when applying architectural atoms at any level, surface genuine design judgment calls immediately via framework:collaborative-judgment — never batch them to the end of a level.

Evidence rule (Level 2): before presenting components, quickly explore the codebase and map each proposed component to the existing modules/packages it extends, wraps, or modifies — or mark it new. Present the mapping with the components. Never invent a parallel structure that ignores what exists.

Level-specific applications:

  • Level 1 (Capabilities): numbered user-facing capabilities, max 5, no technical detail (per design-first).
  • Level 2 (Components): challenge each component before approving — does it need to exist? One known implementation, one caller, or an unconfirmed problem → inline it or defer. Then validate in design mode: framework:architecture (layer mapping, dependency direction, boundary clarity) and framework:domain-driven-design (aggregates, entities, value objects; domain vs infrastructure placement).
  • Level 3 (Interactions): framework:architecture — data flows follow the loaded patterns; boundary-crossing rules respected. framework:domain-driven-design — cross-aggregate communication uses domain events / eventual consistency.
  • Level 4 (Contracts): framework:domain-driven-design — repository interfaces, value object types, aggregate root boundaries reflecting the tactical choices from earlier levels. framework:architecture — boundary-data rules and interface ownership respected. Every Level 3 interaction maps to at least one interface.

Regression rule: if the user reopens an approved level, re-run that level's gate. On re-approval, mark every downstream persisted level section stale ("stale — pending re-approval after Level N change") and re-present them for confirmation before Step 3. STOP: Never leave contradictory approved sections in the doc.

Early exit: if the user wants to stop or shortcut the design, follow design-first's Mid-level exit. Persist whatever was approved and leave status as draft — a partial doc is a valid outcome.

Step 3: Finalize Blueprint

After Level 4 is approved and persisted:

  1. Verify completeness and consistency: the context doc must contain all four level sections plus every decision made during the design. Enrich anything missing now. Then check:

    • Every Level 3 interaction maps to at least one Level 4 interface.
    • Every Level 4 interface is owned by exactly one Level 2 component (a shared type is owned by its defining component). Fix any gap through the affected level's gate — never silently.
  2. Check requirement spec drift: read requirement_doc from the context doc frontmatter.

    • Absent → note in Design Summary: "No requirement doc — drift check skipped."
    • Local path, unreadable → STOP: "Requirement doc not found at [path]. Verify before continuing." (A broken local path is an error.)
    • External reference, unresolvable (no connected MCP tool, or the fetch returns nothing) → do not STOP — expected, not broken. Ask the user to paste current constraints/scenarios if a comparison is wanted, or note in Design Summary: "Requirement doc is external and unavailable this session — drift check skipped."
    • Resolved (local file read, external fetch succeeded, or user pasted constraints) → compare L4 contracts against Scenarios/ACs and ## Technical Constraints. Present 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?"
    • STOP: do not write to requirement_doc until confirmed. Confirmed and local → write each finding into the requirement doc's ## Links section 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; record the findings in the Design Summary instead. Declined → note in Design Summary: "Drift check results not written to requirement doc — see Decisions Log."
  3. Write the design summary: use framework:context-anchoring Enrich to add a ## Design Summary section containing components and layer assignments, key contracts and interfaces, architectural constraints, domain model decisions (if applicable), and open questions resolved during design.

  4. Set approved status: write status: approved into the context doc frontmatter. STOP: discrete file edit — not prose. Without it, code-forge will not proceed. STOP: never write status to requirement_doc — the requirement's status belongs to whoever manages it (a human, or an external system); this molecule manages only its own context doc.

  5. Log the completion decision: "Design approved at Level 4. Status set to approved — ready for implementation." Present the summary to the user as confirmation.

  6. Harvest learnings: run 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. The user confirms what enters the document. STOP: run this before the next bullet — do not jump straight to the /code-forge suggestion.

  7. Design complete. Do NOT proceed to Level 5 (Implementation). Suggest the user invoke /code-forge when ready to begin coding against the approved design.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Enforce architectural rules when generating or modifying code, and validate proposed designs before approval (design mode). Defaults to clean architecture; supports any architecture style via the architecture-refiner. Validates layer responsibilities, dependency direction, and structural constraints using the loaded architecture rules. Use when generating code, reviewing architecture, creating new files, or when the user mentions 'architecture', 'layers', 'structure', 'dependency rules', 'hexagonal architecture', 'ports and adapters', 'modular monolith', or 'onion architecture'. Also use when reviewing generated code for structural compliance.

日本語の概要は準備中です。原文の説明を表示しています。

techygarg/lattice1992026年10月10日 更新

Architectural thinking partner for an existing repository — scans the codebase, conducts a structured interview, agrees on current architectural state and recommended direction, and produces a shareable insights document. Scoped to one repository, module, or folder. Does not execute transformation — it orients. Use when the user says 'assess my codebase architecture', 'what direction should my codebase go', 'architecture compass', 'understand my architecture', 'audit architecture drift', 'architectural assessment', or 'help me understand what is wrong with my codebase'.

日本語の概要は準備中です。原文の説明を表示しています。

techygarg/lattice1992026年10月10日 更新

Facilitate a structured conversation to define architecture principles for a repository. Supports multiple architecture styles: clean architecture (default), hexagonal / ports & adapters, modular monolith, or custom. Produces a formal architecture document that the corresponding atom will use. Use when setting up a new project, defining architecture standards, or when the user says 'setup architecture', 'define layers', 'architecture principles', 'help me define my architecture', 'hexagonal architecture', 'modular monolith', 'ports and adapters', or 'define my architecture style'.

日本語の概要は準備中です。原文の説明を表示しています。

techygarg/lattice1992026年10月10日 更新

bug-fix

無料

Investigate, reproduce, and safely fix a bug with regression protection. Composes context, diagnosis, architecture, code quality, and testing guardrails into a reproduce-first repair workflow. Use when the user says 'fix this bug', 'debug this', 'investigate this failure', 'patch this regression', 'repair this issue', or 'why is this broken'.

日本語の概要は準備中です。原文の説明を表示しています。

techygarg/lattice1992026年10月10日 更新

Apply clean code principles when generating or modifying implementation code. Enforces function focus, naming clarity, complexity management, error handling, and self-documenting style. Use when the user mentions 'clean code', 'code quality', 'coding guidelines', or 'implementation quality'. Loaded automatically by the code-generating molecules (code-forge, refactor-safely, bug-fix). This skill governs the craft of writing individual code units -- not architecture (see architecture), not security posture (see secure-coding), not test structure (see test-quality), and not refactoring workflows (see refactor-safely).

日本語の概要は準備中です。原文の説明を表示しています。

techygarg/lattice1992026年10月10日 更新

Facilitate a structured conversation to define clean code principles for a repository. Produces a formal clean-code.md document that the clean-code atom will use as its override. Use when setting up coding standards, defining code quality rules, or when the user says 'setup clean code', 'define coding standards', 'code quality principles', 'coding guidelines', or 'help me define my code standards'.

日本語の概要は準備中です。原文の説明を表示しています。

techygarg/lattice1992026年10月10日 更新

techygarg のスキルをすべて見る

このスキルの問題を報告する