Agent skill

Spec Driven Development

by bolivian-peru in bolivian-peru/os-moda

Build software via spec-driven development (github/spec-kit).

Apache-2.0Auto-check passedDevelopment

Install Spec Driven Development

skills CLI
$ npx skills add bolivian-peru/os-moda --skill spec-driven-development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bolivian-peru/os-moda spec-driven-development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bolivian-peru/os-moda.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/spec-driven-development .claude/skills/spec-driven-development && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spec-driven-development
GitHub stars
119
Token cost
~1.8k tokens
SKILL.md length
770 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build software via spec-driven development (github/spec-kit).

  • Works in 7 steps: scaffold → set governance → capture WHAT and WHY → …
  • Tasks that involve Spec-driven development
  • SKILL.md covers When to invoke spec-kit, The 8-step workflow, How to call from your tool box and Common pitfalls, plus 4 more sections
  • Calls git

What it does

Spec Driven Development is an agent skill from bolivian-peru/os-moda. Build software via spec-driven development (github/spec-kit). Whenever the user asks for a feature larger than a one-line tweak, scaffold a spec-kit project, capture WHAT + WHY, declare tech stack, break into tasks, then iterate the implementation until tests pass.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Spec-driven development. It works with GitHub. The repository describes itself as: An operating system built for AI agents — talk to your NixOS server instead of SSH-ing in. Typed, audited tool access with atomic rollback on every change. Research-grade; run it… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Spec-driven development

Example prompts

  • “/spec-driven-development”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. scaffold
  2. set governance
  3. capture WHAT and WHY
  4. clarify (only if specify left gaps)
  5. declare the plan
  6. break into tasks
  7. implement

What it can do on your machine

Read from SKILL.md and the folder at commit b8e418f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spec Driven Development loads about 1.8k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 770 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bolivian-peru/os-moda at commit b8e418f, republished under its Apache-2.0 licence (© bolivian-peru). 770 words, ~1,801 tokens.

Download SKILL.mdSave it as .claude/skills/spec-driven-development/SKILL.md (or your agent's skills folder).
name
spec-driven-development
description
Build software via spec-driven development (github/spec-kit). Whenever the user asks for a feature larger than a one-line tweak, scaffold a spec-kit project, capture WHAT + WHY, declare tech stack, break into tasks, then iterate the implementation until tests pass.
tools
spec_kit_init, spec_kit_run, file_read, file_write, directory_list, shell_exec, memory_recall, memory_store
activation
auto

Spec-Driven Development Skill

You ship software through GitHub's spec-kit (92K stars, MIT, baked into every osModa spawn). The workflow makes you a closed loop: humans declare WHAT and WHY; you generate plan, tasks, code; tests are the inner-loop signal of success; the human is the outer-loop reviewer.

When to invoke spec-kit

Use spec-kit when:

  • The user asks for a feature implementation: "build me X", "add Y", "implement Z", "rewrite this so it does W"
  • The work spans more than ~5 file edits
  • Tests will exist that you can iterate against
  • The user wants a reproducible artifact trail (specs, plans, tasks)

Skip spec-kit when:

  • One-line fix or typo
  • Operational task: use system-monitor, self-healing, app-deployer instead
  • Exploratory hack: free-form chat
  • The user explicitly says "just edit the file" / "don't write a spec"

The 8-step workflow

#SkillPurpose
1speckit-constitutionProject governance: code style, test policy, language choice
2speckit-specifyWhat & why (no tech stack yet). User stories with priorities.
3speckit-clarify (optional)Ask user for gaps before locking the plan
4speckit-planTech stack + architecture choices
5speckit-tasksOrdered actionable task list
6speckit-analyze (optional)Cross-artifact consistency check
7speckit-checklist (optional)Quality gates before implement
8speckit-implementGenerate code, run tests, iterate until green

How to call from your tool box

The two MCP tools spec_kit_init + spec_kit_run wrap the spec-kit workflow. Use them — don't shell out to specify directly. Tool calls are audit-ledgered; raw shell isn't.

Step 1 — scaffold
spec_kit_init({
  project_name: "csv-exporter",
  integration: "claude",
  constitution_seed: "Python 3.12+, pytest for tests, no async, single binary"
})

Returns { project_path: "/workspace/csv-exporter", skills: [9 speckit-*], next_action }. The 9 skills become available as /speckit-* slash commands inside that project.

Step 2 — set governance
spec_kit_run({
  project_path: "/workspace/csv-exporter",
  command: "constitution",
  prompt: "Python 3.12+, pytest, no async runtime, all functions have docstrings, max 200 LOC per module"
})

Writes /workspace/csv-exporter/memory/constitution.md. Read the user's .specify/.constitution-seed.md first if it exists — they may have pre-staged principles.

Step 3 — capture WHAT and WHY
spec_kit_run({
  project_path: ".../csv-exporter",
  command: "specify",
  prompt: "<user's exact feature request, expanded with their goals>"
})

Resist the urge to declare a tech stack here — that's step 4. Specify is purely product-level.

Step 4 — clarify (only if specify left gaps)
spec_kit_run({ command: "clarify", prompt: "" })

This is interactive in the user-facing flow. From your loop: skip unless specify output mentions ambiguities.

Step 5 — declare the plan
spec_kit_run({
  command: "plan",
  prompt: "Python 3.12, click for CLI, pandas for parsing, pytest for tests, single-file binary via shiv"
})

Writes /specs/<feature>/plan.md.

Step 6 — break into tasks
spec_kit_run({ command: "tasks", prompt: "" })

Writes /specs/<feature>/tasks.md with numbered ordered tasks.

Step 7 — implement
spec_kit_run({
  command: "implement",
  prompt: "",
  timeout_seconds: 1800   // give it 30 min for non-trivial features
})

This is the long step. The agent reads tasks.md, generates code, runs tests, iterates. Do not interrupt unless the user explicitly aborts. Token usage will be high — that's by design (token-max philosophy).

Common pitfalls

  • Don't run implement before plan — the implement step reads plan.md for the tech stack. Without it, the agent guesses (often wrong).
  • Don't write the spec FOR the user. Capture their exact words for the WHAT/WHY. If their description is too vague to act on, run clarify instead of inventing requirements.
  • Don't skip constitution for multi-feature projects. It's the cross-feature governance contract. Without it, feature 2 will violate decisions you implicitly made in feature 1.
  • Don't run two spec_kit_runs in parallel for the same project. They contend for the same .specify/ state. Sequence them.
  • Don't forget the audit trail. Every spec_kit_run is hash-chained in agentd's ledger. Querying agentctl events --type spec-kit shows the full project history. Show this to the user when they ask "what did you do?"
Show full SKILL.md (267 more words)Show less

Telling the user about progress

After spec_kit_init: "Project scaffolded at /workspace/csv-exporter. Now capturing requirements."

After specify: "Spec captured. Read /workspace/csv-exporter/specs/0001-*/spec.md and review the user stories. Want me to clarify anything before locking the plan?"

After plan: "Tech stack locked: Python 3.12 + click + pytest. Tasks coming next."

During implement: report at task boundaries. Don't stream every line of compile output.

After implement (tests green): "Implementation complete. Tests pass. Specs and code are at /workspace/csv-exporter/. Next: review the diff (git diff if you initialized git) or run the binary."

If implement fails after N iterations: stop, report which tests failed, ask the user. Don't burn tokens flailing — they're cheap, but goodwill isn't.

Reference templates

The pre-deployed templates live at /var/lib/osmoda/templates/spec-kit/. Useful when:

  • A user asks "what does a spec look like?" — show them spec-template.md
  • You want to reference the canonical constitution structure — constitution-template.md
  • You're debugging why a speckit-* skill output looks wrong — compare against the template

Audit + visibility

Every spec_kit_* tool call writes to agentd's hash-chained ledger:

agentctl events --type spec-kit --limit 20

External integrators can query the per-server /api/v1/spec-kit/projects endpoint (see Phase 7-LITE) to discover all spec-kit projects on a given osModa server. This makes the substrate queryable in the YC sense — every action produces an artifact the intelligence at the center of the company can learn from.

Why this skill exists

osModa's positioning: GitHub gives you the workflow. osModa gives you the workstation. Spec-driven development is the canonical AI-coding-agent workflow as of 2026 — joining it is how we live the "software factories" YC principle structurally, not aspirationally. Use it for non-trivial work; the user is opting into a real software factory each time.

© bolivian-peru, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/spec-driven-development of bolivian-peru/os-moda.

Open the folder on GitHubat commit b8e418f

Compare with similar skills

Spec Driven Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spec Driven Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spec Driven Development this skillbolivian-peru/os-moda119—~1.8kAutomated safety check: PassApache-2.0
Speckit Taskstoissueskunstmusik/blue15419 repos~2kAutomated safety check: PassGPL-3.0
Review Spdzhu1090093659/spec_driven_develop984—~1.5kAutomated safety check: PassMIT
React Router RFC Implementerremix-run/react-router57k—~2.3kAutomated safety check: PassMIT
Spec Driven Developzhu1090093659/spec_driven_develop984—~5.1kAutomated safety check: PassMIT
SddSpillwaveSolutions/sdd-skill106—~5.7kAutomated safety check: PassMIT

Similar skills

  • Speckit Taskstoissues

    kunstmusik/blue

    Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.

    154 GitHub starsUsed in 19 repos~2k tokens
    DevelopmentAuto-check passed
  • Review Spd

    zhu1090093659/spec_driven_develop

    Findings-first code review workflow for AI coding agents. An agent skill from zhu1090093659/spec_driven_develop.

    984 GitHub stars~1.5k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • React Router RFC Implementer

    remix-run/react-router

    Turns a React Router RFC discussion on GitHub into an implementation, weighing community feedback and settling open questions with you before coding.

    57k GitHub stars~2.3k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Spec Driven Develop

    zhu1090093659/spec_driven_develop

    Automates pre-development workflow for large-scale complex tasks.

    984 GitHub stars~5.1k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Sdd

    SpillwaveSolutions/sdd-skill

    This skill should be used when users want guidance on Spec-Driven Development methodology using GitHub's Spec-Kit.

    106 GitHub stars~5.7k tokensUpdated 10 mo ago
    DevelopmentAuto-check passed
  • Oft Spec Driven Development

    itsallcode/openfasttrace

    Support spec-driven development in projects that use OpenFastTrace, a system-requirements document in doc/systemrequirements.md, an arc42-style design in doc/design.md, and per-issue task plans in…

    198 GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from bolivian-peru/os-moda

All 17 skills in this repo
  • App Deployer

    bolivian-peru/os-moda

    Deploy and manage user applications as managed systemd services

    119 GitHub stars~774 tokensUpdated 3 mo ago
    Auto-check passed
  • Deploy AI Agent

    bolivian-peru/os-moda

    Deploy and manage AI agent workloads with GPU checks, API key management, and health monitoring

    119 GitHub stars~1.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Drift Detection

    bolivian-peru/os-moda

    Detect configuration drift — manual changes that exist outside NixOS management.

    119 GitHub stars~584 tokensUpdated 3 mo ago
    Auto-check passed
  • Flight Recorder

    bolivian-peru/os-moda

    Black box flight recorder for the server. An agent skill from bolivian-peru/os-moda.

    119 GitHub stars~624 tokensUpdated 3 mo ago
    Auto-check passed
  • Generation Timeline

    bolivian-peru/os-moda

    NixOS generation-aware debugging and time-travel. An agent skill from bolivian-peru/os-moda.

    119 GitHub stars~777 tokensUpdated 3 mo ago
    Auto-check passed
  • Morning Briefing

    bolivian-peru/os-moda

    Generate a concise daily infrastructure briefing. An agent skill from bolivian-peru/os-moda.

    119 GitHub stars~897 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about Spec Driven Development

What does Spec Driven Development do?

Build software via spec-driven development (github/spec-kit). Spec Driven Development is an agent skill from bolivian-peru/os-moda. Build software via spec-driven development (github/spec-kit).

When should I use Spec Driven Development?

Spec Driven Development fits situations like: tasks that involve Spec-driven development.

How do I install Spec Driven Development in Claude Code?

Run `npx skills add bolivian-peru/os-moda --skill spec-driven-development -a claude-code`. Or copy the skill folder (skills/spec-driven-development in bolivian-peru/os-moda) into .claude/skills/spec-driven-development in your project. Claude Code loads it when a task matches its description.

How do I install Spec Driven Development in Codex?

Run `npx skills add bolivian-peru/os-moda --skill spec-driven-development -a codex`. Or copy the skill folder (skills/spec-driven-development in bolivian-peru/os-moda) into .agents/skills/spec-driven-development in your project. Codex loads it when a task matches its description.

Can I use Spec Driven Development in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bolivian-peru/os-moda --skill spec-driven-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec-driven-development, .gemini/skills/spec-driven-development, .github/skills/spec-driven-development and .opencode/skills/spec-driven-development in your project.

What does Spec Driven Development need to run?

Going by SKILL.md and its folder, Spec Driven Development needs the command-line tools its instructions call (git). Our summary lists: Python 3.

Does Spec Driven Development access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Spec Driven Development safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Spec Driven Development use?

Spec Driven Development is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spec Driven Development use?

About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spec Driven Development?

Skills that share tags, products or a category with Spec Driven Development: Speckit Taskstoissues (kunstmusik/blue, 154 stars), Review Spd (zhu1090093659/spec_driven_develop, 984 stars), React Router RFC Implementer (remix-run/react-router, 57k stars) and Spec Driven Develop (zhu1090093659/spec_driven_develop, 984 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spec Driven Development?

bolivian-peru (a GitHub user) maintains it in bolivian-peru/os-moda, which has 119 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on June 24, 2026.

Source: bolivian-peru/os-moda on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.