From base
Executes a plan generated by /plan. Orchestrates team members in parallel, each working in isolated worktrees. Use when ready to execute a plan from .agents/plans/, resume an interrupted execution, or run a specific plan by ID.
How this skill is triggered — by the user, by Claude, or both
Slash command
/base:executeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read `.agents/plans/state.yml` to check for an active plan.
Read .agents/plans/state.yml to check for an active plan.
If $ARGUMENTS contains a plan ID — use that plan directly.
If state.yml has currentPlan set — resume that plan (retomar from where it left off).
If no active plan and no argument:
.agents/plans/ to find plans with status: pending/plan firstRead the selected plan's plan.yml to load the full plan context.
plan.yml's branch field (e.g., feat/user-notifications) and switch to itplan.yml status to in_progressstate.yml: set currentPlan to the plan IDTeamCreate to create an agents teamYou are strictly a coordinator. You NEVER write code, edit files, or execute commands yourself — no matter how small the task. Your only job is to orchestrate.
Create tasks — use TaskCreate to create one task per plan task. Use the task title as subject and a brief description.
Identify dispatchable tasks — find all tasks with status: pending whose dependsOn are all completed.
Spawn one teammate per dispatchable task — use the Agent tool with:
team_name: the team name from step 2name: the task ID (e.g., 01-create-notifications)subagent_type: "task-executor"isolation: "worktree" — MUST be passed explicitly in the Agent tool call, do NOT rely on the agent's frontmatter aloneprompt: the absolute path to the task file (e.g., /path/to/project/.agents/plans/001-user-notifications/01-create-notifications.yml)The task-executor agent handles everything autonomously: reads the task file, executes steps, commits, merges to the plan branch, cleans up its branch, and updates all tracking files.
Assign tasks — use TaskUpdate with owner set to the teammate's name.
Track progress via TaskGet/TaskList. Messages from teammates are delivered automatically — do NOT poll.
Status updates: after each state change (task started, completed, unblocked), present a status table to the user showing all tasks with their current state and assigned agent.
Merges: the task-executor handles merges and conflict resolution autonomously. If two teammates merge around the same time, the second one will rebase and retry automatically.
Unblocking: as tasks complete, check if their completion unblocks new tasks (tasks whose dependsOn are now all completed). For each newly unblocked task, spawn a new task-executor teammate (always with isolation: "worktree" in the Agent tool call) and assign it the task via TaskUpdate.
Context limit recovery: if a teammate hits its context limit and stops responding, read its task file to check progress. Spawn a new teammate for the same task — the task-executor handles resumption automatically by reading step progress from the task file.
Resumability: if resuming an interrupted plan, read each task file to find:
status: completed — skipstatus: in_progress — spawn a task-executor teammate (it handles resumption automatically by reading step progress)status: pending and satisfied dependencies — spawn and dispatch normallyWhen all tasks in the plan are completed:
plan.yml status to completedstate.yml: set currentPlan to null, update lastCompletedPlan to the plan ID, clear activeTasksSendMessage with type: "shutdown_request". If a teammate does not respond to the shutdown request, skip it — do not block on zombie agents.TeamDelete. If it fails because an agent is still active, inform the user which agent is stuck and ask them to terminate it manually, then retry TeamDelete.After cleanup, walk the user through a guided QA review of the completed work:
plan.yml to get the user flow, goals, and edge casestask-executor agents (one per gap or group of related gaps) to fix the issues. Each fix agent receives a prompt describing the gap and the expected behavior.Read .agents/plan.config.yml and check for a completion.mode field.
If completion.mode exists — follow it directly without asking.
If completion.mode does not exist — ask the user with AskUserQuestion:
.agents/plan.config.yml under completion.mode (pr or squash) so it is not asked again.Read references/pr-template.md and follow it to push the plan branch and create a PR. After the PR is created, inform the user and share the PR URL.
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'git merge --squash <plan-branch>commit field from plan.yml as the message. Check if a commit-related skill is available and follow its conventions.git branch -D <plan-branch>task-executor agents with team_name and isolation: "worktree"npx claudepluginhub kvnwolf/devtools --plugin baseExecutes implementation plans by dispatching tasks to implementer and reviewer subagents. Tracks progress per-task and coordinates sequential phases.
Executes implementation plans from plan.md files via Superpower Loop phases: task creation, batch execution with verification, git commits. Use after plan ready or on 'execute the plan'.