agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Component type definitions, discovery questions, and settings validation for fullstack-typescript projects.
Claude Code
$ npx -y skills add LiorCohen/sdd --skill component-discovery --agent claude-code
Codex
$ npx skills add LiorCohen/sdd --skill component-discovery -a codex -y
Cursor
$ npx skills add LiorCohen/sdd --skill component-discovery -a cursor -y
Gemini CLI
$ npx skills add LiorCohen/sdd --skill component-discovery -a gemini-cli -y
GitHub Copilot
$ npx skills add LiorCohen/sdd --skill component-discovery -a github-copilot -y
OpenCode
$ npx skills add LiorCohen/sdd --skill component-discovery -a opencode -y
Windsurf
$ npx skills add LiorCohen/sdd --skill component-discovery -a windsurf -y
name: component-discovery description: Component type definitions, discovery questions, and settings validation for fullstack-typescript projects. user-invocable: false
Tech-specific discovery content for the fullstack-typescript tech pack. Loaded by the core `component-discovery` skill via `techpacks.routeSkills(phase: component-discovery)` to provide component type mappings, discovery questions, settings validation rules, and example configurations.
Use these questions to determine which component types are needed:
| Question | If Yes | Component Type | |----------|--------|----------------| | Do you need to persist data? | yes | `database` | | Does it have a backend/API? | yes | `server` | | Does the server expose an API consumed by other components? | yes | `contract` | | Does it have a user-facing frontend? | yes | `webapp` | | Will it be deployed to Kubernetes? | yes | `helm` (one per deployment mode) |
Once a component type is identified, ask deeper questions to understand scope and settings.
External specs typically lack backend details. These must be derived from UI descriptions and explicit questions.
**YAGNI Principle**: Only derive operations explicitly shown in the UI. Do not assume full CRUD.
| Category | Discovery Question | Source | |----------|-------------------|--------| | **Entities** | What pieces of data need to be stored? | Look at what is displayed in the UI | | **Relationships** | What are the relationships between data? | Look at lists, dropdowns, links between views | | **User Actions** | What user actions modify data? | Look at buttons, forms, CTAs | | **Action Effects** | How does each action affect data? | Only operations visible in the UI | | **Business Rules** | What validation or constraints apply? | Often missing from specs -- verify or ask | | **Authorization** | Who can perform each action? | Often missing from specs -- verify or ask |
Derive from UI analysis and ask clarifying questions:
| Category | Discovery Question | |----------|-------------------| | **Endpoints** | What operations are needed? List each with HTTP verb, path, and description. Only include operations visible in the UI. | | **Consumers** | Who calls this API? (webapp, mobile app, external service) | | **Error Cases** | What can go wrong? (validation errors, not found, unauthorized, conflicts) |
External specs usually have good UI detail. Extract rather than ask:
| Category | Discovery Question | Where to Find | |----------|-------------------|---------------| | **Pages/Views** | What screens does the user see? | Mockups, wireframes, user flow diagrams | | **Forms** | What data does the user input? | Form mockups, input field descriptions | | **States** | Loading, empty, error states? | May be missing from specs -- ask if absent |
When UI/UX is involved and the spec does not include visual assets, ask:
Do you have any visual assets I can reference? - Mockups or wireframes (Figma, Sketch, etc.) - Screenshots of existing UI - Rough sketches or drawings - Reference images from other products If you can share images, I can extract much more accurate requirements than from text descriptions alone.
Skip this prompt if the spec already includes images or links to design tools.
A single server can handle multiple processing modes. Ask:
Should the backend be a single service or multiple? - Single API server - API + Worker (hybrid mode in one deployment) - Separate API and Worker servers (independent scaling)
A single server can have multiple helm charts for independent scaling:
This allows API and worker processes to scale independently.
Before accepting the final component configuration, validate these cross-reference rules:
| Rule | Validation | |------|-----------| | **Database references** | Every database name in a server's `databases` array must exist as a `database` component | | **Contract references** | Every contract name in `provides_contracts` or `consumes_contracts` must exist as a `contract` component | | **Webapp contract references** | Every contract name in a webapp's `contracts` array must exist as a `contract` component | | **Helm deploy target** | Every helm chart's `deploys` value must reference an existing `server` or `webapp` component | | **Helm deploy modes** | A helm chart's `deploy_modes` must be valid for the target server's `server_type` (e.g., `[worker]` is only valid if `server_type` is `worker` or `hybrid` with `worker` in `modes`) | | **Config singleton** | Exactly one `config` component must exist |
components:
- name: config
type: config
settings: {}
- name: task-api
type: contract
settings:
visibility: internal
- name: task-db
type: database
settings:
provider: postgresql
dedicated: false
- name: task-server
type: server
settings:
server_type: api
databases: [task-db]
provides_contracts: [task-api]
consumes_contracts: []
helm: true
- name: task-app
type: webapp
settings:
contracts: [task-api]
helm: true
- name: task-server-chart
type: helm
settings:
deploys: task-server
deploy_type: server
deploy_modes: [api]
ingress: true
- name: task-app-chart
type: helm
settings:
deploys: tasStructure 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.