Allow custom commands/skills to set a permission mode (e.g. plan), enabling a "plan → implement" command flow
What I'm trying to do
I'd like a single custom command (skill) that starts work in plan mode, lets Claude research and present a plan via ExitPlanMode, and then continues straight into implementation after I approve the plan — all from one command, without having to remember to toggle Shift+Tab or start the session with a CLI flag.
Current state
As far as I can tell from the docs:
--permission-mode plan(CLI flag) anddefaultMode: "plan"(settings.json) control the startup permission mode for the whole session.- The
ExitPlanModetool already handles the "present plan → approve → implement" transition nicely. - But custom command / skill frontmatter has no field to set the permission mode (no
permission-mode: plan). So I can't scope "plan-first" to a specific command — only to the whole session.
This means "plan-first for this kind of task, normal mode otherwise" isn't expressible per-command. I either flip the global default, or manually toggle each time.
Proposed feature
Add a permission-mode (or default-mode) frontmatter field to custom commands / skills, e.g.:
---
name: plan-then-build
description: Research and plan first, then implement after approval
permission-mode: plan
---
When the command is invoked, the session enters that permission mode for the duration of the command, then the existing ExitPlanMode approval flow carries it into implementation.
Why
- Lets teams ship "safe by default" planning commands without changing the global
defaultMode. - Makes the plan→implement workflow a one-step, repeatable command instead of a manual toggle.
- Keeps the real read-only guard of plan mode (prompt-only instructions don't enforce the no-edit guard).
Alternatives considered
- Global
defaultMode: "plan"— too coarse; affects every task. - Prompting inside the command ("don't edit, plan first") — not enforced; Claude can still edit.