Skip to main content

spec

Generate a structured spec (decision table, state diagram, or EARS) from a GitHub issue. TRIGGER when starting work on a feature with combinatorial logic (role × policy × state), lifecycle state machines, or hardware-critical behavior — especially Critical or High tier modules (auth.py, federation.py, peer_auth.py, storage.py migrations, can_reader.py). DO NOT trigger for simple bug fixes, Low-tier changes, straightforward linear features, or documentation.

Zur Installation springen

Quellinformationen

Repository
weaties/helmlog
Letzte Quellaktivität
26. April 2026 um 21:17
Erkannte Sprache von SKILL.md
Englisch
Sterne
2
Forks
2

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.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
spec
description
Generate a structured spec (decision table, state diagram, or EARS) from a GitHub issue. TRIGGER when starting work on a feature with combinatorial logic (role × policy × state), lifecycle state machines, or hardware-critical behavior — especially Critical or High tier modules (auth.py, federation.py, peer_auth.py, storage.py migrations, can_reader.py). DO NOT trigger for simple bug fixes, Low-tier changes, straightforward linear features, or documentation.
# /spec — Structured Feature Spec For combinatorial / lifecycle / hardware-critical features, generate a spec BEFORE writing tests or code. Post it as an issue comment on the target issue, then wait for review. `/spec <issue-number>` reads the issue with `gh issue view`, picks the right format from the table below, and posts the spec for review. ## Format selection | Feature shape | Spec format | Telltale signs | |---|---|---| | Policy / permission logic | **Decision table** | role × state × config combine to decide allow/deny/show/hide | | Lifecycle / workflow | **State diagram** (Mermaid) | named states with explicit transitions (create → activate → expire) | | Hardware / safety-critical | **EARS requirements** | sensors, devices, thresholds, fail-safes, "THE SYSTEM SHALL" | | Mixed | **Combine** | e.g., state diagram for the lifecycle + decision table for permissions inside each state | If the issue is simple enough that none of the formats add value (plain CRUD, no combinatorial logic), say so and skip the spec. Not every issue needs one. ## Decision-table cookbook - Columns: every input variable that affects the outcome (role, state, config flag, tier). - Output column(s): the result for each combination. - **Every row is one test case.** - Include the exhaustive set of meaningful combinations — no implicit "and everything else is denied". Mark impossible rows as `n/a` rather than omitting them. ## State-diagram cookbook Use Mermaid `stateDiagram-v2` so it renders in GitHub: ````markdown ```mermaid stateDiagram-v2 [*] --> Available : plugin registered Available --> Selected : user selects Selected --> Active : analysis runs Active --> Selected : new session loaded ``` ```` Name every state and every transition trigger. List guard conditions below the diagram (e.g., "Selected → Active: only if session has required data fields"). ## EARS cookbook | Pattern | Template | |---|---| | Ubiquitous | THE SYSTEM SHALL \<action\> | | Event-driven | WHEN \<trigger\> THE SYSTEM SHALL \<action\> | | State-driven | WHILE \<state\> THE SYSTEM SHALL \<action\> | | Conditional | IF \<condition\> THEN THE SYSTEM SHALL \<action\> | | Optional | WHERE \<feature\> IS SUPPORTED THE SYSTEM SHALL \<action\> | One requirement per line; each independently testable. Use measurable conditions (thresholds, timeouts, counts), not vague qualifiers ("quickly", "reliably"). Include fail-safe requirements (what happens when inputs are missing or stale). ## Posting and approval ```bash gh issue comment <number> --body "$(cat <<'EOF' ## Structured Spec **Risk tier:** <tier> **Spec format:** <format> <spec content> --- *Generated by /spec. Review and approve before implementation begins. Each row in a decision table = one test case. Each state transition = one test case.* EOF )" ``` **Do not proceed to TDD until the spec is approved.** If the user requests changes, update the comment and re-request review. For features touching federation or data licensing, also read `docs/federation-design.md` and `docs/data-licensing.md` so the spec is consistent with existing policy. If the issue was promoted from an IDX entry, cross-reference the ideation log for design decisions and open questions.
Auf GitHub ansehen