agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Scaffolds project-level structure (root files, specs).
Claude Code
$ npx -y skills add LiorCohen/sdd --skill project-scaffolding --agent claude-code
Codex
$ npx skills add LiorCohen/sdd --skill project-scaffolding -a codex -y
Cursor
$ npx skills add LiorCohen/sdd --skill project-scaffolding -a cursor -y
Gemini CLI
$ npx skills add LiorCohen/sdd --skill project-scaffolding -a gemini-cli -y
GitHub Copilot
$ npx skills add LiorCohen/sdd --skill project-scaffolding -a github-copilot -y
OpenCode
$ npx skills add LiorCohen/sdd --skill project-scaffolding -a opencode -y
Windsurf
$ npx skills add LiorCohen/sdd --skill project-scaffolding -a windsurf -y
name: project-scaffolding description: Scaffolds project-level structure (root files, specs). user-invocable: false
Creates the non-component parts of an SDD project: root files and specs directory.
Creates only the essential structure needed to start. Additional components are scaffolded during implementation when the plan includes a scaffolding phase.
mode: minimal project_name: my-app target_dir: /path/to/project
**Creates:**
project/ ├── sdd/ │ └── sdd-settings.yaml # Minimal settings ├── specs/ │ └── INDEX.md # Empty spec registry ├── package.json # Root project (from tech pack template) ├── README.md ├── CLAUDE.md └── .gitignore
**NOT created in minimal mode:**
Creates the complete structure. Used when upgrading or explicitly requested.
mode: full project_name: my-app project_description: My application primary_domain: Task Management target_dir: /path/to/project
**Creates:**
project/ ├── sdd/ │ └── sdd-settings.yaml ├── specs/ │ ├── INDEX.md │ ├── SNAPSHOT.md │ └── domain/ │ ├── glossary.md │ ├── definitions/ │ └── use-cases/ ├── changes/ │ └── INDEX.md ├── README.md ├── CLAUDE.md ├── package.json └── .gitignore
This skill NEVER overwrites existing files:
This makes it safe to run multiple times for repair/upgrade scenarios.
Use during:
| Variable | Description | |----------|-------------| | `{{PROJECT_NAME}}` | Project name (lowercase, hyphens) | | `{{PROJECT_DESCRIPTION}}` | Brief project description | | `{{PRIMARY_DOMAIN}}` | Primary business domain | | `{{PLUGIN_VERSION}}` | SDD plugin version | | `{{CURRENT_DATE}}` | Current date (YYYY-MM-DD) |
Use the minimal template defined in the `project-settings` skill (see its "Minimal Template" section). That skill is the authoritative source for the sdd-settings.yaml schema and template format.
# Specifications Index This file tracks all specifications in the project. ## Changes No changes yet. Create your first change with:
/sdd I want to create a new feature
## Domain Knowledge Domain knowledge (glossary, personas, use cases) is populated when you create changes.
Schema: [`schemas/input.schema.json`](./schemas/input.schema.json)
Accepts scaffolding mode, project name, target directory, and optional description and domain.
Schema: [`schemas/output.schema.json`](./schemas/output.schema.json)
Returns success status and list of created files.
Templates are in this skill's `templates/` directory:
skills/project-scaffolding/templates/
├── project/
│ ├── package.json # Root project package.json
│ ├── README.md
│ └── CLAUDE.md
├── specs/
│ ├── SNAPSHOT.md
│ └── glossary.md
└── changes/
└── INDEX.md**CRITICAL: The `sdd/` directory MUST be version controlled.**
The generated `.gitignore` should:
# Dependencies node_modules/ # Build outputs dist/ build/ *.tsbuildinfo # IDE .idea/ .vscode/ *.swp # OS .DS_Store Thumbs.db # Environment .env .env.local .env.*.local # Logs *.log logs/ # Test coverage coverage/ # IMPORTANT: sdd/ is NOT ignored - it contains version-controlled SDD artifacts # Do NOT add sdd/ to this file
When running in repair/upgrade mode, check existing `.gitignore`: 1. If `.sdd` or `sdd/` pattern exists, remove it 2. If `specs/` pattern exists, remove it 3. If `changes/` pattern exists, remove it 4. Log warning: "Removed .sdd from .gitignore - SDD artifacts must be version controlled"
Project scaffolding uses the scaffolding engine internally. The `scaffolding project` command builds a spec from the project config and calls `executeSpec`. You do not need to invoke `scaffolding apply` separately for project-level files — the CLI handles it.
The project scaffolding CLI:
1. Translates `ScaffoldingConfig` into a `ScaffoldSpec` 2. Maps each component to `template_dir` operations (using colocated templates in each component skill) 3. Generates inline content (`.gitignore`, `.claudeignore`, architecture overview) as `write_file` operations 4. Computes per-component scripts and adds `package_json_scripts` operations 5. Executes the full spec via the engine
{
"target_dir": "<project-root>",
"base_dir": "<plugin-root>/skills",
"variables": {
"PROJECT_NAME": "my-app",
"PROJECT_DESCRIPTION": "My application",
"PRIMARY_DOMAIN": "Task Management"
},
"operations": [
{
"type": "template_dir",
"source": "project-scaffolding/templates/project",
"dest": "."
},
{
"type": "write_file",
"path": ".gitignore",
"content": "<computed-content>",
"if_exists": "skip"
}
]
}Component scaffolding skills are provided by the active tech pack. Invoke `techpacks.routeSkills(phase: project-scaffolding)` to load the tech-specific scaffolding orchestration skill. For each component type, the manifest's `components.<type>.scaffolding` field points to the
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.