describe-structurelisted
Install: claude install-skill jonfazzaro/skills
## Context marker
🔺
When the skill activates, begin the first commentary update with `🔺` and a concise `Using describe-structure ...` announcement. Do not repeat the marker on later updates unless another skill activates.
# Describe Structure
**REQUIRED:** Use this skill whenever coding with test-driven development or Continuous Specification.
When a test file already has a root `describe`, organize the new or changed specifications so the affected tree reads as complete behavior sentences. Preserve a flat test file with no `describe` structure.
```text
Component
when the playback probe starts
given a rejected play request
reports unsupported playback
```
## Build the hierarchy
- Extract the action or triggering event from each existing `it` caption into a `describe` caption beginning with `when`.
- Extract each state, input, or precondition into a nested `describe` caption beginning with `given`.
- Write every `describe` and `it` caption for people, in plain-English domain language; try not to use a code function, method, or API name as the caption.
- Keep the observable outcome in the `it` caption.
- Put shared actions above their distinct givens. A `when` block should contain every applicable `given` branch.
- Read every root-to-leaf path aloud. Each must be grammatical without relying on test setup code.
Use `given` for a condition: `given a nullable probe with a configured result`.
Use `when` for an event: `when disposing the session`.
Write `whe