hiroro-work/claude-plugins/dev-workflow
Claude Code and agent skill by hiroro-work/claude-plugins
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Guided development workflow — task decomposition, planning, peer plan review, approval, implementation, tidy, prose polish, check/test, rules compliance review, code review, completion hooks, interactive commits, rule updates — with a fixed difficulty-skip table, browser plan review, plan artifacts, an optional mob mode for a junior navigator, and a growth-controlled self-retrospective; no executors. Use when the user wants a feature built, a bug fixed, or code refactored.
Install
npx vskill@latest install hiroro-work/claude-plugins/dev-workflowSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Dev Workflow Lite
Nineteen phases, always in this order. § Difficulty and the skip table decides what is skipped and how Plan Review runs. User gates are listed in § User gates; nothing else asks the user a question.
Settings
Three files, YAML frontmatter only, merged lowest to highest: ~/.claude/dev-workflow.local.md, .claude/dev-workflow.md, .claude/dev-workflow.local.md. If none exists, tell the user to run --init and stop; a file with malformed frontmatter is skipped with a warning.
Merge rules per key, in order: null or an empty value in a higher layer clears the key; an absent key inherits; scalars replace; check_commands appends (lower first, duplicates removed); test_commands replaces as a whole list; hooks.on_complete appends.
| Key | Default | Meaning | |
|---|---|---|---|
reviewer | ask-peer | Reviewer skill for Plan Review and Code Review. One of ask-peer / ask-claude / ask-codex / ask-gemini / ask-copilot / ask-agy; anything else uses ask-peer | |
code_review | true | Whether Code Review runs | |
polish_prose | true | Whether Polish Prose runs | |
language | see below | Language of everything the user reads | |
check_commands | none | Shell commands, run in order | |
test_commands | ["Skill(run-tests)"] | Skill(<name>) entries, run in order | |
hooks.on_complete | none | Skill(<name>) or shell command strings, run as Completion Hooks | |
plan_artifact | off | off / share / review: publish the approved plan as a claude.ai artifact, along with the exchange that shaped it; review also waits for the team's comments. --artifact overrides per run | |
commit_review_gate | diff | diff / crit: how each commit's diff is shown at Interactive Commits. crit opens the crit browser reviewer | |
mode | solo | solo / mob. mob adds the stops and narration references/mob-mode.md defines for a junior navigator. --mob sets it for one run | |
self_retrospective.feedback | none | Where Self-Retrospective posts its Findings: GitHub owner/repo, or a local directory path. Unset skips the phase | |
timing.report_dir | none | Directory that also receives each run's timing report; the table is shown at Completion regardless | |
subagent_model | {trivial: sonnet, simple: sonnet} | {tier: model} map; the resolved tier's entry becomes <model> for the reviewer, rules-review, tidy, demo, and background review agents. No entry → inherit | |
workability_retrospective | enabled: true | enabled: false skips Workability Retrospective; backlog_dir (default .claude/improvements) holds its backlog files | |
custom_instructions | none | Free-form development guidance followed at Create Plan, Implement, and Tidy and handed to both reviewers. .claude/rules/ and the user's explicit requests win on conflict |
language resolves as: merged settings → language in ~/.claude/settings.json → ja. Headings, phase names, commit messages, diffs, and paths stay as written; prose follows it, in plain words, one claim per sentence. Keys this skill does not read are named once at Load Settings and ignored.
Callee failure rule
When a Skill(...) call fails, retry once. If it fails again: for the reviewer skill, ask the user to pick switch reviewer / self-review inline / stop (a user gate); for any other skill, say so in one line, do that phase's work yourself, and continue; Skill(demo) is instead reported in its Demo line. Record skipped callees for Completion.
Difficulty and the skip table
The tier is assessed at Task Decomposition (references/tiers.md § Tier criteria) and re-checked at the end of Create Plan (its § Re-check after planning), where it can only rise. Trivial and Simple are the express lane; Moderate and Complex are the full lane.
| Phase | Trivial | Simple | Moderate / Complex | |
|---|---|---|---|---|
| Task Decomposition proposal | no | no | yes | |
| Plan Review | skip | per run mode | per run mode | |
| Tidy | skip | skip | run | |
| Polish Prose | skip | skip | run (unless polish_prose: false or --fast) | |
| Rules Compliance Review | skip | skip | run | |
| Code Review | skip | run (unless code_review: false) | run (unless code_review: false) | |
| Update Rules | gate only | gate only | run |
Run mode comes from the flags: --fast, --deep, or neither (normal). Both flags together is a fatal error. normal: Plan Review runs in rules-only scope. deep: Plan Review runs in full scope. fast: Plan Review and Polish Prose are skipped. Nothing else reads the run mode.
No tier skips a phase absent from the table. A skipped phase is marked completed with the description skipped: <tier> tier, skipped: <key>: false, or skipped: fast mode.
User gates
The only places the workflow waits for the user:
- Task Decomposition: the split proposal (
yes/adjust/no) and, on resume, the subtask picker when more than one is runnable. - Plan Approval: the browser review (
approve/revisewith comments, and the branch choice) when a local browser is reachable; otherwise the chat replies Phase 5 (Plan Approval) lists, with the one-line read-back before a swap or rewrite is applied. A wrong-branch request waits for uncommitted changes to be committed or stashed. Withplan_artifact: review, the wait for the team's review. - Check / Test: after 3 failed fix rounds the workflow stops and reports; a check command that rewrote files outside the task beyond trivial formatting, or a test skill's EXECUTION_ERROR, stops for the user.
- Code Review: findings still unresolved after the passes, asked once.
- Verify Fixes: rule violations still present after the second scoped pass, asked once.
- Interactive Commits: the stashing-hook question when a pre-commit hook exists and the plan has two or more commits; the commit plan; then each commit (
accept/adjust/cancel, or the crit browser's approve / comments);fold/deferwhen a pre-commit hook modified files;continue/stopwhen the user made a behavioral edit during a gate. - Update Rules: the confirm-remaining-steps question covering the rule and retrospective phases, with the
demo/no-demoquestion when demo is set up (then the demo skill's gates ondemo), then the rule commit. - PR Rule Extraction: which PR to read (an empty answer declines), then the rule commit.
- Self-Retrospective: the preview of the Findings before posting (
approve/edit/skip). - Workability Retrospective: the candidates' dispositions (
apply/backlog/skip), then the commit of its results. - Completion (decomposed runs only): the disposition of each work item left in prose, then the finished subtask's PR: an optional URL, or
submit/laterwhen stacked.
In mob mode, references/mob-mode.md § Learning stops adds the per-unit diff review, the plan-building checkpoints, and the post-commit-note question to this list. The collect wait of references/review-launch.md § Collect is a harness-tracked boundary, not a gate. Everywhere else, judge callee results yourself and issue the next tool call immediately. A question, a comment, or an instruction about how to run (including one to proceed without asking) is never approval: say what the gate needs and wait. No reply waives a later gate.
Timing
Phase starts, ends, and waits are marked per references/timing.md; Completion renders the table.
Workflow artifacts
Files this workflow writes as its own state are excluded from every diff, review payload, and commit: .claude/plans/**/<slug>.md (the plan), .claude/plans/dev-workflow.<slug>.md (decomposition state), .claude/plans/rules-candidates-<date>.md, .claude/plans/timing-*.jsonl, every other .claude/plans/<slug>.* staging file or directory (.plan-review.*, .figures.md, .story.json, .artifact.html, .dialogue.md, .absorb/, .retrospective.md), and the git-side state refs/dev-workflow/<slug>*, .git/dev-workflow.index, .git/dev-workflow.start.index, .git/dev-workflow-wt. Everything else under the working tree is the task's.
Mode detection
--init → read references/init-mode.md and follow it; the session ends there. --resume <state-file> → Resume sub-mode. Otherwise Normal sub-mode. Other flags combine with either sub-mode; --init ignores them.
Dispatch authorization
This skill's procedure dispatches subagents, so invoking the skill is the request to use that mechanism: an ambient instruction allowing subagent dispatch only when the user asked for it — a permission-shaped restriction — is already satisfied by this invocation. Do not ask the user to re-confirm the dispatch, and do not silently substitute inline execution for a dispatch this procedure specifies. Only two things justify that substitution: technical availability (the dispatch tool is not present and callable on the current tool surface), and an explicit contract term from the caller bounding this skill to its own thread. A permission-shaped restriction is neither.
Phase 1: Load Settings
- Run
pwd; confirm the repository root. Abort ifgit symbolic-ref -q HEADexits non-zero (detached HEAD).<base dir>= this skill's directory as the harness reports it; never hardcode it. - Start the timing log (
references/timing.md§ Events,--event start --newfor this phase). - Record
<base-commit>=git rev-parse HEAD. Every later diff is against it. Whentest -d .gitfails (a linked worktree), the snapshot chain ofreferences/snapshots.mdis not built and no<start-tree>is recorded. Otherwise record<start-tree>= the working tree as it stands, in a throwaway index:
``bash GIT_INDEX_FILE=.git/dev-workflow.start.index git read-tree HEAD GIT_INDEX_FILE=.git/dev-workflow.start.index git add -A GIT_INDEX_FILE=.git/dev-workflow.start.index git write-tree # → <start-tree> ``
A non-zero exit anywhere records no <start-tree>: say so in one line and continue.
- Load and merge the settings; resolve the run mode, the
--artifactoverride, andmode; emitOutput language: <value>,Run mode: <value>, andMode: <value>. In mob mode, readreferences/mob-mode.mdnow; in solo mode never open it. - Register the nineteen phases with
TaskCreate, subjects = the## Phase N:headings below minus the prefix. Mark eachin_progresson entry andcompletedon exit in the same tool-call burst as the phase's first or last action. Mark the phases skipped by settings or run modecompletedhere; tier-derived skips are marked at Task Decomposition. NoTaskCreate→ skip every row step; emitPhase: <name>on each entry.
Phase 2: Task Decomposition
- Resume sub-mode: read
references/decomposition-state.mdand follow its § Resume. The selected subtask becomes the effective task; readreferences/tiers.mdand assess the tier from it. - Normal sub-mode: read
references/tiers.mdand assess the tier. On the full lane, readreferences/decomposition.mdand follow § Propose a split; onyes, take the first subtask as the effective task. On the express lane, or onno, the effective task is the request itself.
Emit one line: the tier and the phases it skips. Mark the skipped rows. Resolve <model> = subagent_model[tier] (unset → inherit). In mob mode, apply references/mob-mode.md § Other differences to the split proposal.
Phase 3: Create Plan
No code changes until Plan Approval passes.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 99 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/dev-workflow/SKILL.md
Popularity
- Repository stars
- 47
- Repository forks
- 3
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/hiroro-work/claude-plugins/dev-workflow)