home / skills / lerianstudio / ring / executing-plans

executing-plans skill

/default/skills/executing-plans

This skill helps coordinate autonomous or batch plan execution with mandatory human checkpoints, ensuring safe, auditable progress and rapid feedback.

npx playbooks add skill lerianstudio/ring --skill executing-plans

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
7.1 KB
---
name: ring:executing-plans
description: |
  Controlled plan execution with human review checkpoints - loads plan, executes
  in batches, pauses for feedback. Supports one-go (autonomous) or batch modes.

trigger: |
  - Have a plan file ready to execute
  - Want human review between task batches
  - Need structured checkpoints during implementation

skip_when: |
  - Same session with independent tasks → use ring:subagent-driven-development
  - No plan exists → use ring:writing-plans first
  - Plan needs revision → use ring:brainstorming first

sequence:
  after: [ring:writing-plans, ring:pre-dev-task-breakdown]

related:
  similar: [ring:subagent-driven-development]
---

# Executing Plans

## Overview

Load plan, review critically, choose execution mode, execute tasks with code review.

**Core principle:** User chooses between autonomous execution or batch execution with human review checkpoints.

**Two execution modes:**
- **One-go (autonomous):** Execute all batches continuously with code review, report only at completion
- **Batch (with review):** Execute one batch, code review, pause for human feedback, repeat

**Announce at start:** "I'm using the ring:executing-plans skill to implement this plan."

## The Process

### Step 1: Load and Review Plan
1. Read plan file
2. Review critically - identify any questions or concerns about the plan
3. If concerns: Raise them with your human partner before starting
4. If no concerns: Create TodoWrite and proceed to Step 2

### Step 2: Choose Execution Mode (MANDATORY)

**⚠️ THIS STEP IS NON-NEGOTIABLE. You MUST use `AskUserQuestion` before executing ANY tasks.**

Ask: "How would you like to execute this plan?" Options: (1) **One-go (autonomous)** - all batches with code review, no human review until completion (2) **Batch (with review)** - pause for human review after each batch

**Based on response:** One-go → Steps 3-4 loop until done | Batch → Steps 3-5 loop

### Why AskUserQuestion is Mandatory (Not "Contextual Guidance")

**This is a structural checkpoint, not optional UX polish.**

User saying "don't wait", "don't ask questions", or "just execute" does NOT skip this step because:

1. **Execution mode affects architecture** - One-go vs batch determines review checkpoints, error recovery paths, and rollback points
2. **Implicit intent ≠ explicit choice** - "Don't wait" might mean "use one-go" OR "ask quickly and proceed"
3. **AskUserQuestion takes 3 seconds** - It's not an interruption, it's a confirmation
4. **Emergency pressure is exactly when mistakes happen** - Structural gates exist FOR high-pressure moments

**Common Rationalizations That Mean You're About to Violate This Rule:**

| Rationalization | Reality |
|-----------------|---------|
| "User intent is crystal clear" | Intent is not the same as explicit selection. Ask anyway. |
| "This is contextual guidance, not absolute law" | Wrong. It says MANDATORY. That means mandatory. |
| "Asking would violate their 'don't ask' instruction" | AskUserQuestion is a 3-second structural gate, not a conversation. |
| "Skills are tools, not bureaucratic checklists" | This skill IS the checklist. Follow it. |
| "Interpreting spirit over letter" | The spirit IS the letter. Use AskUserQuestion. |
| "User already chose by saying 'just execute'" | Verbal shorthand ≠ structured mode selection. Ask. |

**If you catch yourself thinking any of these → STOP → Use AskUserQuestion anyway.**

### Step 2.5: Context Switching for Multi-Module Plans

**If plan has tasks with `target:` and `working_directory:` fields:**

1. **Track current module:**
   ```
   current_module = None
   current_directory = "."
   ```

2. **Before each task, check for context switch:**
   ```
   IF task.target != current_module AND current_module != None:
     # Prompt user for confirmation
     AskUserQuestion:
       question: "Switching to {task.target} module at {task.working_directory}. Continue?"
       header: "Context"
       options:
         - label: "Continue"
           description: "Switch to {task.target} and execute task"
         - label: "Skip task"
           description: "Skip this task and continue with next"
         - label: "Stop"
           description: "Stop execution for manual review"

     IF answer == "Continue":
       current_module = task.target
       current_directory = task.working_directory
     ELIF answer == "Skip":
       Mark task as skipped → proceed to next
     ELSE:
       Stop execution → report progress
   ```

3. **Load module-specific PROJECT_RULES.md:**
   ```
   IF {task.working_directory}/PROJECT_RULES.md exists:
     Instruct agent to read module-specific rules
     Module rules override root rules
   ```

4. **Pass working directory to agent:**
   ```
   Task(
     subagent_type=task.agent,
     model="opus",
     prompt="Working directory: {task.working_directory}

     Before executing, cd to the working directory:
     cd {task.working_directory}

     If PROJECT_RULES.md exists in this directory, read and follow it.

     {task.prompt}"
   )
   ```

**Optimization:** To minimize context switches, batch tasks by module when possible:
- Original: [backend, frontend, backend, frontend]
- Optimized: [backend, backend, frontend, frontend]
- **Only reorder if no dependencies between modules**

---

### Step 3: Execute Batch
**Default: First 3 tasks**

**Agent Selection:** Backend Go → `ring:backend-engineer-golang` | Backend TS → `ring:backend-engineer-typescript` | Frontend → `ring:frontend-bff-engineer-typescript` | Infra → `ring:devops-engineer` | Testing → `ring:qa-analyst` | Reliability → `ring:sre`

For each task: Check context switch (Step 2.5) → Mark in_progress → Dispatch to agent with working_directory → Follow plan steps exactly → Run verifications → Mark completed

### Step 4: Run Code Review
**After each batch, REQUIRED:** Use ring:requesting-code-review (all 5 reviewers in parallel)

**Handle by severity:**
- **Critical/High/Medium:** Fix immediately (no TODO) → re-run all 5 reviewers → repeat until resolved
- **Low:** Add `TODO(review): [Issue] ([reviewer], [date], Low)`
- **Cosmetic:** Add `FIXME(nitpick): [Issue] ([reviewer], [date], Cosmetic)`

**Proceed when:** Zero Critical/High/Medium remain + all Low/Cosmetic have comments

### Step 5: Report and Continue

**One-go mode:** Log internally → proceed to next batch → report only at completion
**Batch mode:** Show implementation + verification + review results → "Ready for feedback." → wait → apply changes → proceed

### Step 6: Complete Development

Use finishing-a-development-branch to verify tests, present options, execute choice.

## When to Stop

**STOP immediately:** Blocker mid-batch | Critical gaps | Unclear instruction | Verification fails repeatedly. **Ask rather than guess.**

## Remember

- **MANDATORY:** `AskUserQuestion` for execution mode - NO exceptions
- Use `*` agents over `general-purpose` when available
- Run code review after each batch (all 5 parallel)
- Fix Critical/High/Medium immediately (no TODO)
- Low → TODO, Cosmetic → FIXME
- Stop when blocked, don't guess
- **If rationalizing why to skip AskUserQuestion → You're wrong → Ask anyway**

Overview

This skill enforces controlled plan execution with human review checkpoints. It loads a plan, validates it, and runs tasks in either autonomous one-go mode or interactive batch mode with mandatory user confirmations. The workflow emphasizes code review, module-aware context switching, and strict quality gates.

How this skill works

The skill reads and critically reviews the plan, then obligates the user to choose execution mode via AskUserQuestion before any task runs. It executes tasks in batches (default first 3) while checking for module context switches and dispatching each task to the appropriate specialist sub-agent. After each batch it runs a parallel five-reviewer code review and enforces fixes for critical issues before continuing.

When to use it

  • Implementing multi-step engineering plans that require quality gates and human oversight
  • Running changes across multiple modules or working directories where context switches matter
  • Situations where code review and immediate remediation of high-severity issues are required
  • When you need a repeatable, auditable execution process with clear stop conditions
  • Automating routine sequences but retaining human checkpoints for safety

Best practices

  • Always use AskUserQuestion to select One-go or Batch mode before executing tasks
  • Batch tasks by module when possible to reduce context switches, but don’t reorder dependent tasks
  • Treat Critical/High/Medium review findings as blockers and fix them immediately
  • Record Low issues as TODOs and Cosmetic issues as FIXME with reviewer and date
  • Stop and ask for clarification on blockers, unclear instructions, or repeated verification failures

Example use cases

  • Deploying a cross-service feature that touches backend, frontend, and infra with enforced reviews
  • Running a refactor across repositories where working_directory and PROJECT_RULES.md differ by module
  • Automated implementation of a design with batch mode to collect human feedback after each batch
  • Full autonomous execution for low-risk, well-specified plans using one-go mode with final report

FAQ

Can I skip asking the user and infer execution mode from context?

No. The AskUserQuestion step is mandatory to set architecture, recovery, and rollback semantics and cannot be skipped.

What happens if a batch has a Critical review finding?

Critical/High/Medium issues must be fixed immediately with re-review; execution halts on blockers until resolved.