agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Internal skill for managing workflow lifecycle state in sdd/workflows/. Provides session-independent, resumable workflow tracking.
Claude Code
$ npx -y skills add LiorCohen/sdd --skill workflow-state --agent claude-code
Codex
$ npx skills add LiorCohen/sdd --skill workflow-state -a codex -y
Cursor
$ npx skills add LiorCohen/sdd --skill workflow-state -a cursor -y
Gemini CLI
$ npx skills add LiorCohen/sdd --skill workflow-state -a gemini-cli -y
GitHub Copilot
$ npx skills add LiorCohen/sdd --skill workflow-state -a github-copilot -y
OpenCode
$ npx skills add LiorCohen/sdd --skill workflow-state -a opencode -y
Windsurf
$ npx skills add LiorCohen/sdd --skill workflow-state -a windsurf -y
name: workflow-state description: Internal skill for managing workflow lifecycle state in sdd/workflows/. Provides session-independent, resumable workflow tracking. user-invocable: false
Manages `sdd/workflows/<id>-<name>/` state - tracking where each item is in the solicitation → review → approval → implementation lifecycle.
This is **process state management**, not project task management.
**ALL workflow state is persisted in `sdd/` files.** A new session must be able to resume with ZERO knowledge of what happened before:
Read the files, know the state. This enables aggressive context compaction and allows users to clear sessions freely.
sdd/
├── sdd-settings.yaml
├── archive/
│ ├── external-specs/ # External specs archived here (read-only)
│ │ └── 20260205-1430-feature-spec.md # yyyymmdd-HHmm-lowercased-filename.md
│ ├── revised-specs/ # Specs removed during decomposition revision
│ │ └── 20260205-1430-a1b2c3-user-auth-03-password-reset/
│ │ └── SPEC.md
│ └── workflow-regressions/ # Work archived during phase regression
│ └── 20260205-1430-user-auth-1-impl/
│ ├── changes.patch # Git patch for committed changes
│ ├── stash.patch # Git stash for uncommitted changes
│ ├── src/ # Implementation files
│ └── metadata.yaml # Regression context
└── workflows/ # Multiple concurrent workflows supported
├── a1b2c3-user-auth/ # One workflow (user A, branch feature-x)
│ ├── workflow.yaml # This workflow's state
│ └── drafts/
│ ├── 01-user-management/
│ │ ├── context.md
│ │ ├── 01-api-contracts/
│ │ │ └── context.md
│ │ └── 02-auth-service/
│ │ └── context.md
│ └── 02-notifications/
│ └── context.md
└── x7y8z9-notifications/ # Another workflow (user B, branch feature-y)
├── workflow.yaml
└── drafts/...The workflow uses four separate status fields for granular tracking:
1. `spec_status: pending` → `in_progress` → `ready_for_review` → `approved`
2. `plan_status: pending` → `in_progress` → `approved`
3. `impl_status: pending` → `in_progress` → `complete`
4. `review_status: pending` → `ready_for_review` → `approved`
**Key Difference from Previous Design:**
The old design had a single `status` field with immediate `spec_approved → plan_review` transition. The new design:
1. **`spec_status: approved` IS a resting state** - Phase gating requires ALL specs approved before ANY planning starts 2. **Plan phase is separate** - Only begins after checkpoint "All specs approved" 3. **Review phase is explicit** - User must approve implementation, not just verify tests pass
| Gate | Condition | |------|-----------| | Start planning | ALL items have `spec_status: approved` | | Start implementing | ALL items have `plan_status: approved` | | Complete workflow | ALL items have `review_status: approved` | | Approve spec | No OPEN questions in Requirements Discovery section | | Approve spec | No dependencies with `spec_status: needs_rereview` |
For detailed guidance, read these on-demand:
Schema: [`schemas/input.schema.json`](./schemas/input.schema.json)
Accepts operation type and operation-specific parameters for workflow lifecycle management.
Schema: [`schemas/output.schema.json`](./schemas/output.schema.json)
Returns workflow ID, current phase, and progress tracking.
Workflow IDs are short, unique identifiers:
1. Generate 6 random alphanumeric characters (a-z, 0-9) 2. Check for collision with existing workflows 3. If collision, regenerate 4. Format: `a1b2c3`, `x7y8z9`, etc.
Change IDs are derived from the workflow name:
Structure for AI-assisted development AI coding assistants are powerful but chaotic. You prompt, you get code, but then what?
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Standards for authoring SDD plugin commands — frontmatter, user interaction, skill/agent invocation, CLI integration, and output…
Create a commit following repository guidelines with proper versioning and changelog updates.
Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs…
D2 diagramming language reference for architecture diagrams, sequence diagrams, grid layouts, SQL tables, and class diagrams.…
Writes and maintains user-facing documentation for the SDD plugin. Proactively detects when docs are out of sync with plugin…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.