# Coding

> 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.

- Skill: `inapp-inc/coding` (Agent Skill)
- Install (CLI): `npx skillmds@latest add inapp-inc/coding`
- Raw SKILL.md: https://api.skillmd.com/api/skills/inapp-inc/coding/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: inapp-inc (https://skillmd.com/u/inapp-inc)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/inapp-inc/coding

---


# 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.

