agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Manage project settings in sdd/sdd-settings.yaml including component settings that drive scaffolding.
Claude Code
$ npx -y skills add LiorCohen/sdd --skill project-settings --agent claude-code
Codex
$ npx skills add LiorCohen/sdd --skill project-settings -a codex -y
Cursor
$ npx skills add LiorCohen/sdd --skill project-settings -a cursor -y
Gemini CLI
$ npx skills add LiorCohen/sdd --skill project-settings -a gemini-cli -y
GitHub Copilot
$ npx skills add LiorCohen/sdd --skill project-settings -a github-copilot -y
OpenCode
$ npx skills add LiorCohen/sdd --skill project-settings -a opencode -y
Windsurf
$ npx skills add LiorCohen/sdd --skill project-settings -a windsurf -y
name: project-settings description: Manage project settings in sdd/sdd-settings.yaml including component settings that drive scaffolding. user-invocable: false
Single source of truth for the `sdd/sdd-settings.yaml` schema, component settings, validation rules, and directory mappings. Component types and their settings schemas are defined by the active tech pack — invoke `techpacks.listComponents` and `techpacks.routeSkills` rather than hardcoding type-specific knowledge.
---
Schema: [`schemas/input.schema.json`](./schemas/input.schema.json)
Accepts operation type and operation-specific parameters for managing sdd-settings.yaml.
Schema: [`schemas/output.schema.json`](./schemas/output.schema.json)
Returns success status, file path, and current component configurations.
Manage the `sdd/sdd-settings.yaml` file that stores project configuration and component settings. Component settings are structural decisions that drive scaffolding, config initialization, and deployment.
Settings file: `sdd/sdd-settings.yaml` (git-tracked)
The `sdd/` directory contains all SDD metadata. Create this directory if it doesn't exist.
If `sdd-settings.yaml` exists at project root (legacy location): 1. Create `sdd/` directory 2. Move `sdd-settings.yaml` to `sdd/sdd-settings.yaml` 3. Delete the root file 4. Commit the change
Quick migration command:
mkdir -p sdd && mv sdd-settings.yaml sdd/ && git add -A && git commit -m "Migrate sdd-settings.yaml to sdd/"
**Formal definition:** [`schemas/sdd-settings.schema.json`](./schemas/sdd-settings.schema.json) (JSON Schema Draft 2020-12)
The schema defines three top-level sections: `sdd` (plugin metadata), `project` (project metadata), and `components` (list of typed components with settings). Component types and their settings schemas are defined by the active tech pack.
sdd:
initialized_by_plugin_version: "7.0.0"
updated_by_plugin_version: "7.1.0"
initialized_at: "2026-02-07 00:00:00Z"
updated_at: "2026-02-09 14:30:00Z"
project:
name: "my-app"
description: "A task management SaaS application"
techpacks:
<namespace>:
name: <tech-pack-name>
namespace: <namespace>
version: "1.0.0"
mode: internal # or external, git
path: <tech-pack-directory>
components:
my-component:
type: <type-from-tech-pack>
techpack: <namespace>
directory: <directory-from-tech-pack-pattern>
other-component:
type: <type-from-tech-pack>
techpack: <namespace>
directory: <directory-from-tech-pack-pattern>| Aspect | Settings | Config | |--------|----------|--------| | **What** | Structural capabilities | Runtime values | | **When set** | At component creation, changeable | Per-environment | | **Examples** | `depends_on`, component-type-specific fields | `port: 3000`, `replicas: 3` | | **Affects** | What gets scaffolded | Values in scaffolded files | | **Stored in** | `sdd/sdd-settings.yaml` | Config component `envs/` directory |
Component types and their settings schemas are defined by the active tech pack. Core does not hardcode component type definitions.
To discover available component types and their settings schemas:
Invoke techpacks.listComponents for the active tech pack namespace.
To load type-specific settings schemas during validation:
Invoke techpacks.routeSkills with: namespace: <active-namespace> phase: implementation
The tech pack's `techpack-settings` skill contains the full component type definitions, settings tables per type, directory patterns, and validation rules.
Component directory patterns are defined in the tech pack manifest under `components.<type>.directory_pattern`. Invoke `techpacks.listComponents` to get the directory pattern for each component type. Do NOT hardcode type→directory mappings.
Initialize a new settings file.
**Input:**
| Parameter | Required | Description | |-----------|----------|-------------| | `initialized_by_plugin_version` | Yes | Current SDD plugin version | | `project_name` | Yes | Project name | | `project_description` | No | Project description | | `components` | Yes | List of components with settings |
Load and return current settings.
Merge partial updates into existing settings. Triggers automatic sync of affected artifacts.
Get the actual directory names for all components.
┌─────────────────┐
│ /sdd (init) │ Settings defined during project creation
└────────┬────────┘
│
▼
┌─────────────────┐
│ Scaffolding │ Settings drive what files/templates are created
│ (initial) │ Settings drive initial config values
└────────┬────────┘
│
▼
┌─────────────────┐
│ Development │ Settings changes come from:
│ │ - Specs (new components, capability changes)
│ │ - Plans (implementation decisions)
│ │ - /sdd with natural language about settings (manual adjustments)
└────────┬────────┘
│
▼
┌─────────────────┐
│ Settings Sync │ Changes propagate to affected artifacts
│ (incremental) │ Only adds/updates, never deletes user content
└─────────────────┘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.