Manage protocol/standard specifications that define what a system must do. Use to create, import, or update the contract that TASKs implement against.
Manage protocol-level specifications - the contract defining what a system must do.
A spec (specification) defines requirements at the protocol/standard level:
Specs are NOT feature breakdowns or epics. They are the source of truth for requirements.
/spec # Show current project's spec status
/spec --import <url> # Import external spec (GitHub, raw URL)
/spec --init # Create new protocol spec for project
/spec --sync # Sync imported spec with upstream
/spec --section <name> # Show specific section of spec
spaces/[project]/
├── docs/
│ ├── specs/ # The protocol spec (source of truth)
│ │ ├── README.md # Spec overview and compliance status
│ │ ├── api-specification.md # API contract
│ │ ├── data-models.md # Data structures
│ │ ├── required-features.md # Feature requirements
│ │ └── ...
│ └── adrs/ # Architecture decisions
└── src/ # Implementation
ideas/[project]/
├── project-brief.md # Strategy (private)
└── issues/
└── 001-auth/
└── TASK.md # implements: docs/specs/required-features.md#authentication
Why specs live with code:
Read: ideas/[project]/project-brief.md # Strategy context
Glob: spaces/[project]/docs/specs/*.md # Existing specs
Questions:
For projects implementing a standard (like leaf-nextjs-convex → LEAF spec):
/spec --import https://github.com/leafspec/spec
Process:
spaces/[project]/docs/specs/docs/specs/README.md with:
Sync upstream changes:
/spec --sync
For projects that need their own spec (like coordinatr):
/spec --init
Conversational creation:
Output structure:
# [Project] Specification
## Overview
[What this system does and why]
## Actors
[Who/what interacts with the system]
## Core Operations
[The fundamental things the system must do]
## API Specification
[Endpoints, inputs, outputs, errors]
## Data Models
[Entity definitions, relationships, constraints]
## Required Features
[Feature requirements organized by domain]
## Test Criteria
[How to verify compliance]
/spec # No arguments
Shows:
| Old Model (Wrong) | New Model (Correct) | |-------------------|---------------------| | SPEC-001, SPEC-002... | Single protocol spec | | Feature breakdown | Requirements contract | | Internal planning docs | Source of truth | | Created per feature | Created once, evolved | | TASKs link to SPEC-### | TASKs implement spec sections |
When creating a TASK, link to the spec section it implements:
---
implements: docs/specs/required-features.md#authentication
---
The /issue command will prompt:
"Which spec section does this implement? (or 'none' for standalone)"
Status is tracked inline within spec documents at the requirement level:
### §1 Authentication
**Requirements:**
- ✅ User registration with email/password
- ✅ User login with JWT token
- ⏳ Password reset flow
- ⏳ Email verification
**API Endpoints:**
- ✅ `POST /api/auth/register`
- ✅ `POST /api/auth/login`
- ⏳ `POST /api/auth/reset-password`
Status markers:
This allows granular visibility into what's done without referencing private TASKs.
The /complete command updates these markers when work is finished.
When creating your own protocol spec:
ADRs are immutable - changes create a new superseding document.
Specs are edited in place - they're living contracts that evolve:
version: 1.0.0)git tag spec-v1.0.0)Version bumps:
This keeps specs simple while git provides the audit trail.
/spec --init or --import # Define what to build
↓
/issue # Create work items that implement spec sections
↓
/plan # Break down implementation
↓
/implement # Build against the spec
↓
/complete # Verify spec compliance
/issue - Create TASKs that implement spec sections/plan - Break down implementation of a TASK/validate-spec - Check implementation against spec/project-status - See spec compliance overviewSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer