Builds a feature, page, component, API or data layer from an approved spec and AGENTS.md, and sends you back to /architect when a key decision is missing.
Install the "develop" agent skill from https://github.com/jsmastery-pro/skills/tree/main/skills/develop into .claude/skills/develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "develop", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add jsmastery-pro/skills --skill develop -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "develop" agent skill from https://github.com/jsmastery-pro/skills/tree/main/skills/develop into .agents/skills/develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "develop", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add jsmastery-pro/skills --skill develop -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "develop" agent skill from https://github.com/jsmastery-pro/skills/tree/main/skills/develop into .cursor/skills/develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "develop", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add jsmastery-pro/skills --skill develop -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "develop" agent skill from https://github.com/jsmastery-pro/skills/tree/main/skills/develop into .gemini/skills/develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "develop", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
GitHub CLI
$ gh skill install jsmastery-pro/skills develop
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add jsmastery-pro/skills --skill develop -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "develop" agent skill from https://github.com/jsmastery-pro/skills/tree/main/skills/develop into .github/skills/develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "develop", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add jsmastery-pro/skills --skill develop -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "develop" agent skill from https://github.com/jsmastery-pro/skills/tree/main/skills/develop into .opencode/skills/develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "develop", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
develop
GitHub stars
1.4k
Token cost
~3.8k tokens
SKILL.md length
2,106 words
Files
12
Skills in repo
8
Repo updated
First seen
Licence
MIT
At a glance
Builds a feature, page, component, API or data layer from an approved spec and AGENTS.md, and sends you back to /architect when a key decision is missing.
Works in 3 steps: Locate this feature's scope file (only… → Open the governing spec via the… → The nearest AGENTS.md (workspace/area)…
Building a page, component, API or service from an approved design
SKILL.md covers Output style (plain words, no…, What this skill does, Asks vs acts and Artifact ownership, plus 3 more sections
Calls git
What it does
The /develop command turns a spec and the project's conventions into working code. Work is split into a UI track (components, pages and layouts, guided by ui-guide.md) and a logical track (APIs, services, data layers, business logic and integrations, guided by logical-guide.md), and both run when a feature needs both, such as sign-in pages plus session logic.
Its first step checks the spec. If a load-bearing choice like an auth approach or a payment provider is undecided and nothing records it, it stops and routes you to /architect instead of inventing an answer mid-build. It does not open with rounds of questions; it asks only about what the design left open, such as the visual direction when no reference was given or a business rule the spec skipped.
It writes the app code and touches the files under docs/scope only to update feature status, milestone boxes and code pointers. At the Prototype tier it marks a feature done after its own self check; at Alpha, Beta and GA it leaves the feature in progress for /check verify and /test to close. Its messages and files are written in plain language without dashes, and separate guides cover the build flow, git and several UI routes.
When your agent uses it
Building a page, component, API or service from an approved design
Implementing a feature that has both a UI side and backend logic
Finding out whether a missing decision needs the architect step first
Example prompts
“/develop the invoice list page from the approved spec.”
“Build the payments webhook service described in the spec and update the scope when you finish.”
“Run develop on the sign-in feature, covering both the pages and the session logic.”
Requirements
An approved spec or design for the feature
An AGENTS.md file describing the project's conventions
3 steps, taken from the first numbered list in SKILL.md.
1Locate this feature's scope file (only that one). Monorepo → docs/scope// for the task's package. Pick the file (scope.md, or the matching…
2Open the governing spec via the feature's spec pointer, reading only its build spec sections as defined in the build flow (flow/build.md)…
3The nearest AGENTS.md (workspace/area) may already capture the decision, synced from an earlier feature (e.g. "the auth provider is…
What it can do on your machine
Read from SKILL.md and the folder at commit 43b69e4. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves these tools, so the agent can use them without asking each time:
Bash
Read
Grep
Glob
Write
Edit
Agent
AskUserQuestion
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
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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
Develop Feature Builder loads about 3.8k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 2,106 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~77
When it runs· the whole SKILL.md, loaded when a task matches
~3.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: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NotePre-approves every shell command (allowed-tools: Bash)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.
Download SKILL.mdSave it as .claude/skills/develop/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
develop
description
Run /develop to build a feature, UI or backend, from an approved design, a page, component, API, service, or data slice. If something load bearing is undecided and no spec records it, it stops and routes you to /architect; otherwise it reads the spec plus AGENTS.md, builds, and advances the scope.
Write everything this skill produces, files and messages alike, in plain simple language. Talk to the reader as you, warm and direct like a colleague, and present every step as a recommendation they may run or skip, never an order. Keep technical terms that carry real meaning; explain each in plain words. Never use a dash or a hyphen as punctuation: no em dash, no en dash, and no hyphenated compounds. Write read only, not read-only. Say it in simple words, or reword the sentence. Code, file paths, command flags, and values other skills match on keep their hyphens. Use short sentences, commas, or parentheses. Clear beats clever.
<!-- OUTPUT-STYLE:END -->
What this skill does
The builder: turns a spec plus project conventions into working code. Tracks: UI (components, pages, layouts; ui-guide.md), Logical (APIs, services, data layers, business logic, integrations; logical-guide.md), or both (e.g. "auth" = sign in pages plus session logic → run both). Step 0 gates on the spec so load bearing choices (an auth approach, a payment provider) are decided in /architect, not silently invented partway through the build.
Asks vs acts
Gates, then acts: no upfront question rounds like /architect. Read the decision, build, ask only what the design left open (the visual direction when no reference was given; a business rule the spec didn't settle). Infer from the spec, AGENTS.md, and codebase; recommend local implementation choices.
Artifact ownership
Writes app code (plus CSS/tokens for UI).
Scope (docs/scope/): only the Step 4 touches (feature status → in-progress, milestone sub boxes, Build it box, code pointer). Marks a feature done only at the Prototype workflow tier (build plus its own self check; the engineer opted out of separate verification); an Assumed spec does not block this, it stays flagged as owing ratification. At Alpha/Beta/GA it leaves the feature in-progress for /check verify and /test to close, and never ticks Verify it or Test it. Never creates files in docs/scope/ (scopes only; analysis/research is /architect's, in the spec's rationale.md).
Never writes spec content or deliberates a decision (flags the need, defers to /architect); never restructures root AGENTS.md (that's /audit); new area conventions go via /sync afterwards. One narrow exception: on Build now, record it as an assumed spec (Step 0), /develop may create a spec, but only in Status: Assumed, and only the assumption record fields (owed decision, assumption built on, authorized by, code area, requirements seeds). It never writes rationale and never advances an Assumed spec past that state; /architect owns clearing it. This is the only spec /develop creates.
One spec touch on an existing spec: the **Status**: line (umbrella decision → the index.md's, never a child's), plus filling the feature's spec pointer line. Build start: Proposed → In Progress; build lands (feature → done): In Progress → Accepted (a spec is not Accepted until its feature ships). Never edit spec content, only that line, surgically: read it again right before writing; unexpected state (already Accepted, Superseded) → flag, don't clobber. Never move a spec out of Assumed (that is ratification, /architect's job): an Assumed spec stays Assumed through the build even while the feature is in-progress, so it can never reach Accepted until /architect ratifies it. The feature itself can still be marked done (the engineer's call); the Assumed spec stays flagged as owing ratification, it does not block done.
Artifact base: docs/ by default, .workflow/ if docs/ is a published docs site. Read from whichever exists (paths here assume docs/).
Shared scope: read it again right before ticking, edit only the specific checkbox, status, or pointer line (never rewrite the file); feature not as expected (already done, reworked) → flag, don't overwrite.
Portability (any OS, any agent)
Any Agent Skills client, macOS/Linux/Windows. Detection snippets are POSIX reference; use your agent's own cross platform file tools. Builds inline on the main thread (Step 3); the only subagents are a read only scout that explores code (Step 2.5) and a read only researcher for a doc check (Step 2.6, degrading to building from knowledge without web capability), both on the cheapest model. Bundled guides (ui-guide.md, logical-guide.md, checklist.md) and the build flow after the gate (flow/build.md) are paths relative to this skill's folder; the main thread reads them. No interactive question picker → ask the prompts as plain text with the same options.
Execution
Before you build: the project must already exist (except the scaffold task)
Exception: if this IS the scaffold sub task of the Stack and architecture foundation feature (prompt says scaffold, or the step initializes the project from the stack spec), creating the project IS the job. Read the ARCHITECTURE spec's ## Proposed stack; run the framework's own project initializer for the stack the spec names; install base dependencies (framework, core runtime, only what the first slice needs); lay out directories; confirm a dev server or build runs. Keep the repo the initializer creates (never discard it when relocating the project); if it made none and git integration is on, git init. Scaffold steps derive from the stack decision (a decision spec has no build plan). Install just in time: NOT every library the spec names (email, monitoring, and so on); each later feature installs its own when built; only cross cutting tooling (lint, format, type strictness) comes early, via /audit + the tooling task. Then proceed.
Otherwise /develop builds into an existing project. No skeleton (no package.json/pyproject.toml/go.mod/manifest, no source tree) and not the scaffold task → stop:
No project found to build into. Run the scaffold step first (the Stack and architecture feature's scaffold sub task, per your architecture spec), then run /develop again.
A project exists (even a bare scaffold) → proceed.
Before you build: freshness & collaboration (don't build on stale state or over a teammate)
Before mutating anything (skip silently if solo, offline, or not using git): git fetch quietly; base = main, else master; behind count (git rev-list --count HEAD..origin/<base>); uncommitted work (git status --short).
Behind (count > 0) → stop and warn: "You're N commits behind origin/$BASE. A teammate may have already changed or shipped this. Pull first, then run again."
Uncommitted work in the area you'll touch → warn: "You have uncommitted changes here. Commit or stash first so this build doesn't tangle with them." Let them proceed if they insist.
Feature in-progress in the scope AND its code area (pointer line's path) has recent commits by another author (git log --format='%an' -- <area>) → warn: "<feature> looks like it's partway through the build by someone else. Coordinate before continuing it." Confirm before proceeding.
Warnings, not hard blocks, but surface them.
Git integration: if the nearest AGENTS.md## Git says integration: on, read flow/git.md and follow it (branch before building, commit as milestones land); absent or off → do no active git.
Show full SKILL.md (999 more words)Show less
Step 0: The spec gate (always first)
Is a decision owed and unrecorded? Do NOT judge this by introspection ("do I feel like I'm inventing something?"), the build model rationalizes a real decision as "just wiring" and waves it through. Use a positive input coverage test, which is mechanical and harder to talk yourself out of:
Enumerate every value this build must produce, compute, or display (from the acceptance criteria and the spec's design). For each, does the spec name where it comes from (an input, a DB column, a derivation from a named value, a prior decision)? Any required value with no named source is an owed decision.
If any source is unnamed, stop and route to the gate (/architect, or record an Assumed spec; /develop implements decisions, it doesn't make them). A decision is also owed when you'd have to invent:
A provider, library, integration, data model, or cross cutting pattern (e.g. auth provider, DB/ORM, caching strategy).
A whole UI page or screen: its design system (design.md there? if not, which direction?), sections/composition, component inventory, asset strategy (no screenshot, no repo images → e.g. an online source). Owed unless a design.md AND a page level spec pin these down.
A feature's behavior (search, a wizard: "what exactly should it do?" is open; /architect asks those questions). Owed unless a spec defines it.
What "local implementation detail" actually means (the narrow exception): ONLY a choice among options the spec's named sources already permit, a loop style, a variable name, which helper to call. The moment a choice determines a value's source, or a behavior an acceptance criterion constrains, it is load bearing by definition, however small it looks. Deriving "the user's today from the timezone on their last read row" is not a local detail: it picks the source of a value an AC constrains, so it is owed. NOT owed for genuine pure implementation: a small bug fix, a component matching an existing design.md, wiring pieces whose sources the spec already names, a copy tweak, anything an existing spec/design.md/AGENTS.md fully governs.
Don't hardcode to page names or to any one example (timezone is an illustration of the pattern, not a rule); apply the input coverage test to whatever was asked. False negatives are the failure mode, building a real decision without noticing: when a required value's source is unnamed, or you are unsure, treat as owed and ask (panel below).
Read only what this feature needs, never the whole docs/ tree: its one scope file and its one governing spec (single file, or umbrella index.md plus the one child speccing this sub task). No other features' rows, scope files, workspaces, or unrelated specs.
Check, in order:
Locate this feature's scope file (only that one). Monorepo → docs/scope/<workspace>/ for the task's package. Pick the file (scope.md, or the matching <epic>.md in a split) from the At a glance table alone; read just this feature's section. needs a decision with no spec pointer yet → decision owed and missing. Malformed → flag and ask, don't guess.
Open the governing spec via the feature's spec pointer, reading only its build spec sections as defined in the build flow (flow/build.md), Step 2 item 1. Found → it's the spec; proceed. No pointer and no linked spec → targeted look in docs/specs/<workspace>/ for one matching this feature's scope, never a blanket read.
The nearestAGENTS.md (workspace/area) may already capture the decision, synced from an earlier feature (e.g. "the auth provider is already chosen") → proceed without a new spec.
Decision owed and unrecorded → don't guess, don't silently stop. Ask (single select; AskUserQuestion on Claude Code):
question: "This looks like it needs an architecture decision first: <name the specific load-bearing choice, e.g. 'which auth provider + session model'>. How do you want to handle it?"
header: "spec first?"
options:
Architect it first: "Recommended. Capture the decision in a spec before building, so the build has a spec." → end here with the handoff below. Do not build.
No, not needed: "I've judged there's no real decision here; build directly." → proceed to the build flow (flow/build.md).
Build now, record it as an assumed spec: "Build it, but write the assumption down first so the decision lives in the repo, not just this chat. The Assumed spec stays flagged as owing ratification (/architect), but that never blocks marking the feature done." → write an Assumed spec (below), then proceed to the build flow (flow/build.md), leaving the feature in-progress with an assumed decision (spec NNNN) note in the scope (docs/scope/).
The tool appends "Other" as a free text option automatically.
On Build now, record it as an assumed spec, write a minimal Assumed spec before building (this is the one narrow spec write /develop owns; see Artifact ownership). Resolve $SPEC_DIR the way /architect does (single repo → docs/specs/; monorepo workspace → docs/specs/<workspace>/), take the next free NNNN, and write $SPEC_DIR/NNNN-<slug>.md:
markdown
# NNNN · <feature>
**Status**: Assumed
**Date**: <today>
**Authorized by**: <engineer>, during /develop
## Owed decision
<the specific load bearing choice that was not made>
## Assumption built on
<the concrete assumption this build will use>
## Code area
<the paths this build will touch>
## Requirements
<acceptance criteria seeds carried from the scope Done when, if any>
## Ratify
This decision was recorded by /develop, not deliberated. Run `/architect <feature>`
to deliberate and ratify it. Until then it stays flagged as an owed decision; it does not block marking the feature `done`.
Point the feature's scope spec line at this file. The assumption is now durable: it survives /clear, teammates read it, and a later /develop builds against it instead of guessing again. The Assumed spec stays flagged as owing ratification; it does not block marking the feature done (see flow/build.md, Step 4).
On Architect it first, end with:
Run this next, then come back to /develop:
/architect <feature>: <the specific decision to settle>
Once the spec exists, run /develop <task> again and I'll build to it.
No decision owed (pure implementation) → skip the question, proceed.
Build flow (Steps 1-4)
Once the gate clears (no decision owed, or the engineer chose No, not needed / Build now, record it as an assumed spec), read flow/build.md and follow its Steps 1-4: classify the track, load the decision and conventions, explore, optional doc check, build, then update the scope and report. Do not read flow/build.md when the gate ends the run (Architect it first, no build).
Reference files
Build flow after the gate (Steps 1-4): flow/build.md
Develop Feature Builder 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.
Develop Feature Builder compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Develop Feature Builder this skilljsmastery-pro/skills
Guides changes to an existing Twenty app: adding or editing objects, layouts, logic functions and front components, with a plan stated before multi-entity edits.
Generate, modify, and render professional README.md files and project introduction HTML pages using the bundled README Generator Pro FastAPI application.
Becomes a senior backend architect who designs scalable, resilient server-side systems with clear API contracts, sound data models, and documented trade-offs.
Applies the SPARC method (specification, pseudocode, architecture, refinement, completion) with 17 specialized modes and multi-agent orchestration, from research to deployment.
Runs a reproduce, localize, hypothesize, test, fix and verify loop to find a bug's root cause, applies the minimal fix and hands off a regression test.
Runs as the last step after a completed change to keep AGENTS.md files, the project scope and linked spec status lines current, using only small surgical edits.
Bootstraps a project's tool-agnostic AGENTS.md files for a greenfield project, an undocumented codebase or one area, adding only what is missing and never overwriting curated content.
Turns a product idea into a coarse, ordered scope kept in docs/scope, then keeps it current: plan a product, plan the next slice, enroll one feature or reconcile after shipping.
Builds a feature, page, component, API or data layer from an approved spec and AGENTS.md, and sends you back to /architect when a key decision is missing. The /develop command turns a spec and the project's conventions into working code.md), and both run when a feature needs both, such as sign-in pages plus session logic.
When should I use Develop Feature Builder?
Develop Feature Builder fits situations like: building a page, component, API or service from an approved design; implementing a feature that has both a UI side and backend logic; finding out whether a missing decision needs the architect step first.
How do I install Develop Feature Builder in Claude Code?
Run `npx skills add jsmastery-pro/skills --skill develop -a claude-code`. Or copy the skill folder (skills/develop in jsmastery-pro/skills) into .claude/skills/develop in your project. Claude Code loads it when a task matches its description.
How do I install Develop Feature Builder in Codex?
Run `npx skills add jsmastery-pro/skills --skill develop -a codex`. Or copy the skill folder (skills/develop in jsmastery-pro/skills) into .agents/skills/develop in your project. Codex loads it when a task matches its description.
Can I use Develop Feature Builder 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 jsmastery-pro/skills --skill develop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/develop, .gemini/skills/develop, .github/skills/develop and .opencode/skills/develop in your project.
What does Develop Feature Builder need to run?
Going by SKILL.md and its folder, Develop Feature Builder needs the command-line tools its instructions call (git). Our summary lists: An approved spec or design for the feature; An AGENTS.md file describing the project's conventions. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Write, Edit, Agent, AskUserQuestion.
Does Develop Feature Builder access the network?
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Develop Feature Builder safe to install?
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
What licence does Develop Feature Builder use?
Develop Feature Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Develop Feature Builder use?
About 3.8k tokens (SKILL.md is roughly 15k 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 Develop Feature Builder?
Skills that share tags, products or a category with Develop Feature Builder: Twenty App Entity Development (twentyhq/twenty, 58k stars), Readme Generator Pro (beizhi23/README-Generator-Pro, 113 stars), Moai Ref API Patterns (modu-ai/moai-adk, 1.2k stars) and Tapd Story Validate (TencentBlueKing/bk-bcs, 840 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Develop Feature Builder?
jsmastery-pro (a GitHub organization) maintains it in jsmastery-pro/skills, which has 1,429 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on August 9, 2026.
Source: jsmastery-pro/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.