Skip to main content

capsule

Create or update a concept capsule — the conceptual anchor for a project or feature area. Use before writing code on a new project or feature, or when terms and boundaries feel unclear. Defines glossary, invariants, happy-path scenario, and non-goals.

Zur Installation springen

Quellinformationen

Repository
hashintel/labs
Letzte Quellaktivität
23. März 2026 um 12:12
Erkannte Sprache von SKILL.md
Englisch
Sterne
36
Forks
14

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
capsule
description
Create or update a concept capsule — the conceptual anchor for a project or feature area. Use before writing code on a new project or feature, or when terms and boundaries feel unclear. Defines glossary, invariants, happy-path scenario, and non-goals.
argument-hint
[project or feature area to define]
# Concept Capsule Create a **concept capsule** — a short, precise document that anchors all subsequent work to a shared vocabulary (ubiquitous language, DDD) and a set of constraints (design by contract). The capsule is the durable semantic authority for a project or feature area. It should change slowly after initial establishment. ## Authority boundary Use the capsule for durable conceptual truths only: - Glossary terms and boundaries - Invariants/laws - One concrete happy path - Permanent non-goals Do **not** use the capsule for: - Phase status, candidate sequencing, or temporary deferments (milestone owns) - Confidence tracking or uncertain hypotheses (assumptions ledger owns) - Decision history with rationale/evidence chronology (roadmap/decisions own) ## Input The project or feature area: $ARGUMENTS If the user hasn't described the domain clearly enough, interview them: 1. What is this thing? (one sentence) 2. What are the key concepts / nouns / entities? 3. What rules must always hold? (invariants) 4. What is the simplest thing it should do? (happy path) 5. What should it explicitly *not* do? (non-goals) ## Output: The Capsule Write a document with exactly these four sections. Keep it to **one screen** (~250-500 words). Each bullet should be **one sentence**. ### 1. Glossary (Ubiquitous Language) 5-15 domain terms with their **exact intended meanings** in this project. These are the names that must appear in code — types, functions, modules, test suites. Format: ``` - **Term**: Definition (one sentence) ``` - If two terms could be confused, clarify the boundary - Every term should eventually have a code home (type, module, function, or test suite) - If you need more than ~15 terms, split into project capsule + feature capsule(s) ### 2. Invariants / Laws 3-10 statements that **must always be true**. Constraints, not features. Format: ``` - An X must always have a Y - X can never be Z while W is true ``` - Each invariant should be testable - Decide where each lives: type system (best), constructor/validator (good), or tests (minimum) - If an invariant can't be stated clearly, the concept isn't understood yet — stop and clarify ### 3. Happy Path (one scenario) A single concrete **input → output** story. This becomes the first integration test. Format: ``` Given: [concrete starting state] When: [concrete action] Then: [concrete observable result] ``` Must be specific ("Given a file `post.md` with front-matter...", not "Given some input..."). ### 4. Non-Goals (exactly two) Two things this project or feature **explicitly will not do**. These prevent scope creep and stop the agent from "helpfully" adding features. Format: ``` - This will NOT do X (because Y) - This will NOT do Z (because W) ``` These are deliberate exclusions, not "not yet" items. ## Capsule change policy Update a capsule when one of these is true: - A glossary term is ambiguous, conflicting, or missing - An invariant is proven wrong, incomplete, or unverifiable - The happy path no longer reflects the first integration scenario - A non-goal is no longer a durable exclusion Do not append changelogs, progress logs, milestone status, or decision journals inside the capsule. When an assumption stabilizes into a durable law, promote it from `docs/assumptions.md` into capsule invariants and track enforcement via `/pragma:contract`. ## Where to put it - `docs/capsule.md` for project-level - `docs/capsule-<feature>.md` for feature-level - If a capsule already exists, update it — don't create a second one ## Validation After writing, check: 1. Can every glossary term map to a code construct? 2. Can every invariant be tested? 3. Is the happy path specific enough to be an integration test? 4. Do the non-goals clearly exclude something the agent might otherwise build? 5. Does the document avoid milestone status, assumption confidence, and historical decision logs? If any check fails, revise before proceeding. ## Lifecycle tail (required) Append to the response: - **State**: `foundation` - **Next**: `/pragma:skeleton` - **Loop**: `/pragma:consult` (default unless user explicitly continues directly)
Auf GitHub ansehen