Skip to content
Development
Skill

/feature

Runs the full AI-assisted workflow for a non-trivial feature or change: plan, plan critique, user approval, implementation with tagged tests, code review, exploratory QA, and PR. Use when the user asks to build or start a feature, or to implement a change that needs a plan,

From plugin
ai-workflow
59 skills4 agents2 MCP

Claude Code

$ npx -y skills add cunhaax/ai-workflow --skill feature --agent claude-code

SKILL.md

feature.SKILL.md
name: feature
description: >
  Runs the full AI-assisted workflow for a non-trivial feature or change:
  plan, plan critique, user approval, implementation with tagged tests, code
  review, exploratory QA, and PR. Use when the user asks to build or start a
  feature, or to implement a change that needs a plan, review, and PR. Every
  planning run saves the approved plan to a file; with `--plan-only` it stops
  there, and `--from-plan <slug>` runs such a saved plan without re-planning.
license: MIT
metadata:
  author: André Cunha

/feature

Pipeline: plan → critique → implement → test → code-review → QA → PR. Run steps in order, skipping only where a step or the mode says so. `AGENTS.md` is the source for commands, default branch, sensitive areas, and task tracking.

`planner`, `plan-critic`, `code-critic` and `adversarial-qa` below are sub-agents: "call" means spawn the sub-agent of that name, never load the same-named skill into your own context (you would be reviewing your own work). The same holds for `build.md` step 4's second reviewer, a `general-purpose` sub-agent that runs the bundled `/code-review` skill.

Input

  • User prompt (verbatim, including any doc/link references)
  • Session branch: a feature branch, not the default branch (any branch with

`--plan-only`)

Phases

The steps live in files in `${CLAUDE_SKILL_DIR}/`, the directory of this skill. Read each with `Read` when its phase starts:

  • `plan.md`: step 1 (1a–1d), from prompt to saved plan
  • `build.md`: steps 2–8, from implementation to a reviewed, QA'd HEAD. Its

input is the approved plan text from step 1, or a saved plan it loads itself (`--from-plan`)

  • `pr.md`: step 9, opening the PR and keeping it up to date once open

The mode is set by the first token of the arguments; a flag anywhere else is prompt content, passed on verbatim:

| First token | Runs | |---|---| | `--plan-only` | `plan.md`, then STOP | | `--from-plan` | `build.md` (loading the saved plan) → `pr.md` | | anything else | `plan.md` → `build.md` → `pr.md` |

Only this table decides what runs next: each phase file ends at its last step, then continue with the next file in the table. For every phase file:

  • An unexpanded `${CLAUDE_SKILL_DIR}`, or a phase file you can't read → STOP

per `AGENTS.md` Rule 2; never work from memory of it

  • Re-read the current phase file whenever it is no longer fully in your

context (e.g. after compaction), and read a file before following a pointer into it

  • Step numbers are the same across files: steps 1a–1d are in `plan.md`,

steps 2–8 in `build.md`, step 9 in `pr.md`

`--plan-only` STOP: skip steps 2–9, report the plan file's absolute path and that `/feature --from-plan <slug>` on a feature branch runs it. No branch, commit, push, or PR.

Shared definitions

Used by more than one phase file.

**Plan file location**: `.workflow-plans/<slug>.md` under the **main worktree**: the parent of the `.git` dir printed by `git rev-parse --path-format=absolute --git-common-dir`. That parent still contains a `.git` segment (e.g. a submodule), or the dir's name is not `.git` (a bare repo) → ask the user where to write (for `--from-plan`, where to read).

**Ownership check**, before this run rewrites, removes or marks a plan file: the file still has the `slug`, `base-commit` and exact content this run last wrote to it, or read from it for `--from-plan` (when marking consumed, a `consumed:` line is not part of the comparison). Content no longer available, e.g. after context compaction → can't verify → ask.

Output

  • Default and `--from-plan`: `pr.md`'s *Output*
  • `--plan-only`: `plan.md`'s *Output*, reported as in the `--plan-only` STOP
  • Every mode: a summary of skipped steps, plan deviations, `context7` lookup

failures, and why

Rules

  • Never skip `planner` for a new feature (`--from-plan` runs a plan that

already went through it)

  • Never skip `plan-critic` unless all step 1b criteria hold AND the user opted

out (`--from-plan` re-runs it only when the base moved)

  • Never leave a source the prompt references unread: read it yourself and

pass it to the `planner` verbatim; the planner never fetches

  • Never enter plan mode from a sub-agent
  • Never present work to the user before `code-critic` has reviewed it
  • Relay ALL `NEEDS_DECISION` items and Open Questions to the user; never

decide them

  • Sub-agents never modify the project's code; only the main agent implements

changes (`adversarial-qa` also writes `.qa-evidence/`)

<!-- SKILL NAMING NOTE (Claude Code): the skill is named `code-critic` so it does NOT shadow Claude Code's bundled `code-review` skill (project skills shadow bundled ones). `/code-review ultra` stays reachable as an optional, user-launched deep pass. Do not rename back. -->

Read more
@cunhaax
Ships withai-workflow

Turns Claude Code into a small development team instead of one agent guessing alone — with a git-level gate that keeps the humans in charge of what actually ships.

59 skills4 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
5
Star history of cunhaax/ai-workflow on GitHub, a chart by star-history.com

Other skills on ai-workflow.

adversarial-qa

adversarial-qa

Exploratory QA of a running feature through its UI (Playwright) and/or API (curl) to find issues the plan and committed tests…

@cunhaax@cunhaaxInstall Skill
code-critic

code-critic

Reviews code changes against project standards and the approved plan; returns PASS/FAIL/NEEDS_DECISION per checklist item plus…

@cunhaax@cunhaaxInstall Skill
init-workflow

init-workflow

Sets up and checks the AI workflow in a project that has this plugin installed: scaffolds missing AGENTS.md, CLAUDE.md, hooks,…

@cunhaax@cunhaaxInstall Skill
plan-critic

plan-critic

Critiques a draft implementation plan with pre-mortem, inversion, load-bearing-assumption and consistency checks; returns…

@cunhaax@cunhaaxInstall Skill
plan-draft

plan-draft

Drafts a structured implementation plan (approval summary with acceptance criteria, contract, files, edge cases, test strategy)…

@cunhaax@cunhaaxInstall Skill
review-guide

review-guide

Computes a PR's Tier floor and unplanned-changes list with a bundled read-only script, then writes the PR's Tier line and Review…

@cunhaax@cunhaaxInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about feature.

Which coding agents can use feature?
feature installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.