Skip to content
Back to skills

Sdlc Spec

ASecurity

SDLC stage 2 — read an intent file and produce docs/sdlc/specs/<slug>.md, a requirements and design spec that applies the project's CLAUDE.md conventions and available skills as organisational policy, and ends with explicitly flagged concerns (especially contradicting policies). Use after /sdlc-intent, "write the spec", "design this from the intent".

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 27, 2026
ai-agentsgitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add vanssata/claude-agentic-sdlc-module --skill sdlc-spec --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sdlc Spec?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sdlc Spec
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vanssata-sdlc-spec/badge)](https://www.skillsdirectory.com/skills/vanssata-sdlc-spec)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sdlc-spec
description: SDLC stage 2 — read an intent file and produce docs/sdlc/specs/<slug>.md, a requirements and design spec that applies the project's CLAUDE.md conventions and available skills as organisational policy, and ends with explicitly flagged concerns (especially contradicting policies). Use after /sdlc-intent, "write the spec", "design this from the intent".
argument-hint: <path to docs/sdlc/intent/<slug>.md>
---

# /sdlc-spec $ARGUMENTS

Input: an intent file (default: the most recent `docs/sdlc/intent/*.md` if no argument).
Output: `docs/sdlc/specs/<slug>.md` with the same slug.

## The task, verbatim

> Read the attached intent.md and produce a requirements and design spec. Apply the organizational
> skills and conventions that apply to this project. Describe clearly any areas of concern,
> especially where you cannot satisfy contradicting policies.

## Organisational skills = what this project already says

Before designing, read `docs/sdlc/constitution.md` first: it is this project's own list of principles, `C1`…`C<n>`. Cite the ones a decision rests on as `C<n>`. If the file is absent, say so in one line and carry on — it is not a blocker.

Then collect the policies the spec must conform to, in this order:

1. the repo-root instruction file — `CLAUDE.md` and/or `AGENTS.md`, whichever exist — and the
   global one of the runtime you are in (`~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md`), bounded reads.
   When a repo carries both, they describe the same project: read both and note any disagreement
   as a flagged concern;
2. `.claude/skills/*/SKILL.md` and `.claude/agents/*.md`, `.codex/skills/*/SKILL.md` and
   `.codex/agents/*.toml` in the repo — read only the frontmatter
   `description:` lines (`grep -n '^description:'`) and open a skill only if it applies;
3. `docs/sdlc/adr/*.md` — accepted decisions are binding, note their numbers;
4. plugin skills whose description matches the stack (e.g. Sylius/Symfony UX skills).

List them in **Policy conformance** with one line each on how the design honours them. When two
policies contradict each other or the intent, do **not** pick silently — put it in **Flagged concerns**.

## Steps

1. **Prerequisites** — the intent file exists and `docs/sdlc/specs/TEMPLATE.md` exists
   (else `/project-init`). Read the intent fully; it is small by design. Carry its open questions.
2. **Collect policies** as above.
3. **Design** — delegate to the `architect` subagent (it runs at the STRONG tier — the model
   `state.py profile --tier STRONG` prints for the runtime you are in; escalate to the EXPERT agent only when an EXPERT trigger in the
   routing rules fires, e.g. an irreversible data-model or API
   decision). Give it: the intent text, the policy list, and the request to
   return Requirements (numbered, testable), Design (components, data flow, ≥2 alternatives
   rejected), Interfaces (exact shapes), Risks. Do not let it write code.
4. **Write** — copy `docs/sdlc/specs/TEMPLATE.md` to `docs/sdlc/specs/<slug>.md`, replace
   `{{TITLE}}`/`{{SLUG}}`, fill every section from the architect output plus your policy pass.
   Every requirement references the intent outcome it satisfies.
5. **Flagged concerns** — mandatory and last. Include: policy-vs-policy contradictions,
   policy-vs-intent contradictions, requirements you cannot satisfy, assumptions the intent left
   open, security/data-protection questions. Write `none` only if the list is genuinely empty and
   say why you believe that.
6. **Confirm** — show the concerns section first, then the rest; take one round of corrections.
7. **Hand-off** — suggested commit `git add docs/sdlc/specs/<slug>.md && git commit -m "spec: <title>"`
   and next step `/sdlc-plan docs/sdlc/specs/<slug>.md`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…