decide
The lead decides what a lane asked for and couldn't do itself (a new package, a migration, a protected file, a UX question) against the story's requirements…
Skill by warrendeanlangeveldt
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/warrendeanlangeveldt-decide
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, sales
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/decide
What's inside
- Skill name
decide- Description
- The lead decides what a lane asked for and couldn't do itself (a new package, a migration, a protected file, a UX question) against the story's requirements, the spec, the principles and the architecture. Approves it, answers the lane with something that fits better, or takes it to the person only when it crosses a guardrail. Use when code-kit's loop or `code-kit next` says a lane waits on your decision, when a lane hands back a change request, or when the person runs /code-kit:decide [request numbers].
- License
- MIT
- Instructions
- 57 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Decide a lane's request
The person is the product owner and sets the guardrails: the specs, the screens' visual design, CI and the pipelines, the kit (the rules in `.claude/code-kit.json`), and product questions the spec doesn't answer, plus anything with production, cost or strategy implications. Everything technical is yours by default: contracts, migrations, packages, merges into the base, and a weakened test on a lane's branch once you've reviewed it (`code-kit approve tests --lane <lane> --delegated --story ST-n --reason "…"`); on your own branch a weakened test is the person's. Inside them, you run the team. A lane that needs something it can't do itself asks you, and you decide on the merits. Passing a request to the person because you could is not deciding: they'd approve it by default, and the check would be gone.
The CLI is `node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs"`.
## 1. Find the requests
`requests --json` lists each open request with its number (`n`), the lane, what it asked for (`names`, `what`), and whose decision it is (`by`). The argument, if given, names the numbers to take. Take every request `by: "lead"`. A request `by: "person"` is theirs: see step 4.
For each, read the lane's change request (its report, in `.claude/state/reports/<branch>.md` in its worktree), its story in the plan, and the requirements the story cites, in the specs.
## 2. Judge it
**A package.** Approve it only when all of these hold:
- The story's requirements need what it does. Name the requirement.
- Nothing the project already depends on does the job: read the manifest (`package.json`, `pyproject.toml`, `Cargo.toml`…) and search the code for an existing helper.
- It fits the principles (`docs.principles`) and the lane's layer: a layer's `denyPackages` in the config, and anything the principles say about dependencies, such as no SDK in the domain layer, or a port before a vendor.
- It's the lightest thing that does the job. A whole framework for one function is the wrong answer; the standard library or a few lines of code may be the right one.
- It's maintained, and its licence is one the project can ship. For npm packages, `approve` checks the registry against `approvals.delegate.dependencies`. For other ecosystems the check is yours: look at the package's page.
**A protected file** (a migration, a validator, anything in `protected` that's yours to approve). Approve it when the change carries out what the story's requirements ask, and nothing more: a migration that adds the columns the spec names, a validator change the spec's rule requires. A change the spec doesn't call for is scope creep; send it back.
**A UX question** (what a screen does on an error, an empty list, a slow load, a second tap, the wording the spec implies). Answer it from the spec and the principles the person agreed, and write the answer where the lane will read it: the story in the plan, or the spec section's notes. Ask the person only when the spec and the principles don't settle it. A screen's visual design is theirs: it's approved before the screen is built.
## 3. Act on it
- **Yes.** Approve it for the lane and the story, saying why in the reason:
```bash
node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs" approve <package or approval> --lane <lane> --delegated --story ST-n --reason "<the requirement it serves, what the project already has, how it fits>"
```
Then resume the lane: SendMessage to its agent if it's still running, or dispatch the story again with "approved: <what>" in the brief.
- **Something fits better.** Drop the request with the reason, and tell the lane what to use instead:
```bash
node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs" requests drop <n> --reason "<use X instead, because …>"
```
- **It crosses a guardrail.** A package that would break a principle, change the architecture or need a spec change; a change to the spec or a contract; a product question the spec doesn't answer. Take it to the person with your recommendation, and carry on with what doesn't depend on it:
```bash
node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs" ask "<the question, in a sentence>" --story ST-n --blocks --why "<which guardrail it crosses>" --option "<choice>: <what it does>" --option "…"
```
## 4. The person's requests
A request `by: "person"` is a guardrail the lane hit: a spec, a contract, a design, CI, or a weakened test. Check the lane really needs it first: often the story can be done inside the guardrail, and you tell the lane how and drop the request. If it does need it, the request is already waiting for the person, in their band and the pane's Needs you. Add your recommendation with `ask` when the choice isn't obvious from the request alone.
## 5. Report
One line per request: what was asked, what you decided, and why. "ST-138: pillow approved for api (MED-5 needs HEIC decoding; nothing installed reads HEIC)." Then carry on with the build.From warrendeanlangeveldt/code-kit, MIT.
More from warrendeanlangeveldt/code-kit
- 0.565score
lead
warrendeanlangeveldt
Make this Claude Code session the project's lead session, where code-kit's loop runs and the plan's stories are dispatched from, when several sessions work…
SkillAFreshness: AClaude Code +9 - 0.565score
design
warrendeanlangeveldt
Design a design story's screens with the person before any of them is built, and record each approved design so its screen can be coded.
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch
warrendeanlangeveldt
Hand stories from the plan to their lane agents, one per lane, every free lane at once.
SkillAFreshness: AClaude Code +9 - 0.565score
init
warrendeanlangeveldt
Set up code-kit in a project, or bring an existing setup up to date.
SkillAFreshness: AClaude Code +9 - 0.565score
next
warrendeanlangeveldt
The one command for code-kit.
SkillAFreshness: AClaude Code +9 - 0.565score
review
warrendeanlangeveldt
The lead's review of a lane's finished branch before it merges.
SkillAFreshness: AClaude Code +9 - 0.565score
spec-design
warrendeanlangeveldt
Turn an idea into a buildable specification by working it through with the person.
SkillAFreshness: AClaude Code +9 - 0.565score
status
warrendeanlangeveldt
Where the build stands against the spec.
SkillAFreshness: AClaude Code +9 - 0.561score
spec-check
warrendeanlangeveldt
Check a task against the project's specs before implementing it, and again before declaring it done.
SkillAFreshness: AClaude Code +9 - 0.556score
check
warrendeanlangeveldt
Validate the project's .claude/code-kit.json and show who owns what.
SkillAFreshness: AClaude Code +9 - 0.304score
team-init
warrendeanlangeveldt
No description from the publisher yet.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 21, 2026 (7 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/warrendeanlangeveldt/code-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from warrendeanlangeveldt
- 0.565score
lead
warrendeanlangeveldt
Make this Claude Code session the project's lead session, where code-kit's loop runs and the plan's stories are dispatched from, when several sessions work…
SkillAFreshness: AClaude Code +9 - 0.565score
design
warrendeanlangeveldt
Design a design story's screens with the person before any of them is built, and record each approved design so its screen can be coded.
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch
warrendeanlangeveldt
Hand stories from the plan to their lane agents, one per lane, every free lane at once.
SkillAFreshness: AClaude Code +9 - 0.565score
init
warrendeanlangeveldt
Set up code-kit in a project, or bring an existing setup up to date.
SkillAFreshness: AClaude Code +9 - 0.565score
next
warrendeanlangeveldt
The one command for code-kit.
SkillAFreshness: AClaude Code +9 - 0.565score
review
warrendeanlangeveldt
The lead's review of a lane's finished branch before it merges.
SkillAFreshness: AClaude Code +9
Cite this page
decide skill. Agent Mart. https://agentmart.dev/skills/warrendeanlangeveldt-decide (last updated 2026-10-24)