Coding
Use this skill to implement against an approved spec slice. It is invoked by the spec-driven-development skill with the spec slice (not only the original user prompt). Apply the relevant language and stack guidelines below so code is consistent, testable, and aligned with the spec and OpenAPI contract.
Core Rules
- Stack confirmation (required): Before applying any language guideline from the table below, confirm the project stack against ADR-0001 (or its accepted ADR-0017 exception). If the stack does not match and no exception is on file, stop and escalate to the architecture platform-fit gate.
- Do not start implementation until the pre-development UI design prompt exists at
<projectDir>/Discovery and Design/FigmaMake_UI_Prompt.txt (generated by the SDD workflow; max 4950 characters for Figma Make).
- Implement only what the spec slice specifies; surface spec gaps immediately.
- Keep code aligned with the OpenSpec source-of-truth specs in
<projectDir>/openspec/specs/**/spec.md. If implementation requires a behavior change, update OpenSpec deltas first (in the relevant change folder), then implement.
- When the slice involves APIs, refer to
<projectDir>/Docs/openapi.yaml for endpoints, request/response shapes, and types. If the API must change, edit that OpenAPI file first, then implement.
- Follow the coding guidelines for the primary language/framework in use (see references below).
- Document assumptions when a code decision depends on interpretation. If implementation reveals the spec is wrong or incomplete, pause, update the spec (and OpenAPI if applicable), then continue.
- Hard enforcement (manual PR operations): This skill MUST NOT create, open, update, comment on, approve, or merge pull requests. Any PR/merge action is manual developer work; this skill only changes code and tests in the workspace and documents what should be included in a PR.
Language and Stack Guidelines (Reference)
All guidelines live under .cursor/skills/_resources/coding-skills/. Use the one that matches the implementation target.
| Stack / Language |
Primary reference |
| React |
.cursor/skills/_resources/coding-skills/reactjs/SKILLS.md |
| Node.js |
.cursor/skills/_resources/coding-skills/nodejs/SKILLS.md |
| JavaScript |
.cursor/skills/_resources/coding-skills/javascript/SKILLS.md |
| Python |
.cursor/skills/_resources/coding-skills/python/SKILLS.md |
| PHP |
.cursor/skills/_resources/coding-skills/php/SKILLS.md |
| CI/CD |
.cursor/skills/_resources/coding-skills/ci-cd/SKILLS.md |
Each SKILLS.md covers: project setup and structure, naming, error handling, testing, security, performance, and a quick checklist. Read the relevant file before implementing in that stack.
Raw historical guideline exports (not for agent use) live under .cursor/skills/_resources/coding-skills/legacy-source/.
Cross-Cutting Expectations
- Configuration: Never hardcode environment-specific values; use config files or env vars injected at deploy time.
- APIs: Implement against
<projectDir>/Docs/openapi.yaml; keep types and payloads in sync. Generate clients/stubs from that contract where supported.
- Linting and format: ESLint/Prettier (JS/TS), PEP 8 / Black (Python), etc. as per the stack guide; pre-commit hooks where applicable.
- Tests: Write or update tests as required by the spec slice and the testing skill; align with existing project conventions.
Failure Modes To Avoid
- Implementing from an implied spec instead of the written spec slice.
- Applying a language guideline without confirming ADR-0001 (or accepted exception).
- Adding “helpful” extra behavior without updating the spec.
- Changing API behavior or payloads without updating the OpenAPI spec first.
- Ignoring the language-specific guidelines for structure, naming, and error handling.
Handoff
When handing off to testing or closeout: name the spec slice implemented; list files or areas changed; note any spec or OpenAPI updates made. This skill succeeds when the code satisfies the spec slice and stays within the approved scope and guidelines.
1---2name: coding3description: Use when implementing features or fixes against an approved spec slice. Applies language- and stack-specific coding guidelines (React, Node, Python, JavaScript, PHP, CI/CD) and keeps code aligned with the spec and OpenAPI contract. Invoked by spec-driven-development for implementation.4---56# Coding78Use this skill to **implement against an approved spec slice**. It is invoked by the spec-driven-development skill with the spec slice (not only the original user prompt). Apply the relevant language and stack guidelines below so code is consistent, testable, and aligned with the spec and OpenAPI contract.910## Core Rules1112- **Stack confirmation (required):** Before applying any language guideline from the table below, confirm the project stack against **ADR-0001** (or its accepted ADR-0017 exception). If the stack does not match and no exception is on file, stop and escalate to the architecture platform-fit gate.13- Do not start implementation until the **pre-development UI design prompt** exists at `<projectDir>/Discovery and Design/FigmaMake_UI_Prompt.txt` (generated by the SDD workflow; max 4950 characters for Figma Make).14- Implement only what the spec slice specifies; surface spec gaps immediately.15- Keep code aligned with the **OpenSpec source-of-truth specs** in `<projectDir>/openspec/specs/**/spec.md`. If implementation requires a behavior change, update OpenSpec deltas first (in the relevant change folder), then implement.16- When the slice involves APIs, **refer to `<projectDir>/Docs/openapi.yaml`** for endpoints, request/response shapes, and types. If the API must change, **edit that OpenAPI file first**, then implement.17- Follow the **coding guidelines** for the primary language/framework in use (see references below).18- Document assumptions when a code decision depends on interpretation. If implementation reveals the spec is wrong or incomplete, pause, update the spec (and OpenAPI if applicable), then continue.19- **Hard enforcement (manual PR operations):** This skill MUST NOT create, open, update, comment on, approve, or merge pull requests. Any PR/merge action is **manual developer work**; this skill only changes code and tests in the workspace and documents what should be included in a PR.2021## Language and Stack Guidelines (Reference)2223All guidelines live under **`.cursor/skills/_resources/coding-skills/`**. Use the one that matches the implementation target.2425| Stack / Language | Primary reference |26|------------------|-------------------|27| **React** | `.cursor/skills/_resources/coding-skills/reactjs/SKILLS.md` |28| **Node.js** | `.cursor/skills/_resources/coding-skills/nodejs/SKILLS.md` |29| **JavaScript** | `.cursor/skills/_resources/coding-skills/javascript/SKILLS.md` |30| **Python** | `.cursor/skills/_resources/coding-skills/python/SKILLS.md` |31| **PHP** | `.cursor/skills/_resources/coding-skills/php/SKILLS.md` |32| **CI/CD** | `.cursor/skills/_resources/coding-skills/ci-cd/SKILLS.md` |3334Each SKILLS.md covers: project setup and structure, naming, error handling, testing, security, performance, and a quick checklist. **Read the relevant file** before implementing in that stack.3536Raw historical guideline exports (not for agent use) live under `.cursor/skills/_resources/coding-skills/legacy-source/`.3738## Cross-Cutting Expectations3940- **Configuration:** Never hardcode environment-specific values; use config files or env vars injected at deploy time.41- **APIs:** Implement against `<projectDir>/Docs/openapi.yaml`; keep types and payloads in sync. Generate clients/stubs from that contract where supported.42- **Linting and format:** ESLint/Prettier (JS/TS), PEP 8 / Black (Python), etc. as per the stack guide; pre-commit hooks where applicable.43- **Tests:** Write or update tests as required by the spec slice and the testing skill; align with existing project conventions.4445## Failure Modes To Avoid4647- Implementing from an implied spec instead of the written spec slice.48- Applying a language guideline without confirming ADR-0001 (or accepted exception).49- Adding “helpful” extra behavior without updating the spec.50- Changing API behavior or payloads without updating the OpenAPI spec first.51- Ignoring the language-specific guidelines for structure, naming, and error handling.5253## Handoff5455When handing off to testing or closeout: name the spec slice implemented; list files or areas changed; note any spec or OpenAPI updates made. This skill succeeds when the code satisfies the spec slice and stays within the approved scope and guidelines.