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.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
hashintel/labs
آخر نشاط في المصدر
٢٣ مارس ٢٠٢٦ في ١٢:١٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣٦
التفرعات
١٤

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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)
عرض على GitHub