Skip to main content
Teams in goldengoose have a lead, but that doesn’t mean delegation has to bottleneck through one thread. If you want it, gg supports a more “flat” style of organization: non-lead agents can add and remove members too, as long as you (the user) explicitly allow it. That sounds small, but it changes what’s possible. Delegation can chain: lead → specialist → sub-specialist → … …and it stays legible because everything still lands in the same team with the same visibility and delivery tracking.

Enable non-lead membership changes (optional)

By default, team membership is conservative: the lead is the one expected to add/remove members. If you want any team member to be able to manage membership via team tools:
  1. Open Preferences
  2. Go to General → Team Permissions
  3. Enable:
    • Allow non-leads to add members
    • (optionally) Allow non-leads to remove members
These toggles control who is authorized to call gg_team_manage(add) / gg_team_manage(remove) successfully. When non-leads add members through the tool path, gg preserves caller attribution on the canonical onboarding direct message. That means Team Comms and Broadcast Channel show who actually delegated the work, even in deeper delegation chains.

When this is worth it

This mode is great when you’re doing work that is too large for one clean “lead delegates once” pass:
  • a big refactor,
  • a multi-step migration,
  • an incident-style debugging session,
  • or anything where research/planning/implementation naturally separate.
Instead of pulling the lead into every sub-thread, you can let a trusted member take over a slice of the problem and grow a micro-team around it.

A workflow that works: research → plan → ship

Here’s a pattern that’s been reliable for large changes:
  1. You tell the lead what you want at a high level.
  2. The lead assigns a feature supervisor (just another team member you trust) and gives them the target and constraints.
  3. The supervisor adds:
    • a research agent to map the current state and risks,
    • a planning agent to turn that into concrete steps and checkpoints,
    • one or more implementers to execute in parallel,
    • and (optionally) a reviewer/docs agent to tighten the final output.
  4. The supervisor reports back with a clean, shippable result: patches + checks + what changed.
  5. Only then does the lead need to re-engage — typically to integrate, run the final quality gates, and ship.
The important part is that you don’t lose control. You still get:
  • tool calls in the timeline,
  • process output captured and injected,
  • delivery tracking for messages,
  • and a coherent story of “what happened” across the whole group.
For DM-backed manage-created sessions, you also get deterministic onboarding retrieval:
  • on the AgentTool add path, onboarding is persisted as the canonical direct team message,
  • and the left sidebar can show Show first message for those eligible DM-backed sessions to reopen the original role instructions quickly.
  • on the UiCommand notice-only path, there is no canonical onboarding direct-message metadata, so Show first message is not shown.

Two safety notes

  • Enabling add is usually low-risk and high-leverage.
  • Enabling remove is powerful. It’s best when your team members are already operating with a shared set of rules (Lead Instructions) and you’re comfortable giving them that authority.
Lead-facing membership notices are also quieter than older builds: lead-initiated add/remove actions suppress redundant self-notices, and quick spawn suppresses the extra manual lead notice when it would target that same initiating lead session.

Example deep-delegation skill bundle

This bundle shows one specific high-discipline delegation workflow. The lead uses rpi to turn a large feature into a three-stage pipeline: a research agent maps the current system, a planning agent turns that into an implementation-ready plan, and a Stage 3 supervisor takes ownership of execution inside a dedicated feature worktree. That Stage 3 supervisor is itself an orchestrator. Instead of doing the implementation directly, it uses feature-supervisor to assign one phase at a time to implementer agents, review their diffs like a senior engineer, request fixes when needed, and land each completed phase onto the feature branch. In other words, you get agents supervising other agents, but with clear boundaries: the lead supervises the overall feature, and the feature supervisor supervises the phase-by-phase implementation work. The branch model is the important part. While the Stage 3 supervisor owns the feature worktree and keeps that branch moving forward, the lead can stay on main or continue coordinating unrelated work on other branches in parallel. The lead only needs to step back in for high-signal events such as plan approval, blockers, final branch handoff, or integration back into main. It also includes the post-compaction recovery procedure so the supervisor can recover cleanly if its own context or an implementer’s context gets compacted mid-flight.

.agents/skills/rpi/SKILL.md

---
name: rpi
description: Ship complex features with a simple 3-stage pipeline (Research agent -> Planning agent -> Feature supervisor implementation)
compatibility: Requires goldengoose team tools (gg_team_manage/gg_team_message/gg_team_status) and project check commands.
metadata:
  author: goldengoose
  version: "1.0.0"
---

# RPI (Research -> Plan -> Implement)

Use this skill when the user asks for a non-trivial feature and you want a lead-agent workflow that is fast, structured, and reliable.

## Goal
Ship complex features with this exact pipeline:
1. Research with a dedicated Stage 1 agent.
2. Plan with a dedicated Stage 2 agent.
3. Implement with a dedicated Stage 3 supervisor agent (ask it to use `feature-supervisor` skill)

Keep prompts simple and outcome-focused.

Model preset rule:
- Stage 1 (Research Agent): set `model_preset` to `deep`.
- Stage 2 (Planning Agent): set `model_preset` to `deep`.
- Stage 3 (Supervisor Agent): set `model_preset` to `deep`.

## Shipping Ownership (RPI default)
- **Stage 3 supervisor owns phase-level shipping on its feature branch/worktree.**
- In Stage 3, the supervisor runs quality gates and performs commit + push for each landed phase on that feature branch.
- The lead remains the final integration owner for `main`.
- The lead may continue unrelated orchestration on `main` while the supervisor ships the feature branch.
- Optional override (user-directed only): if the user explicitly wants the supervisor to land directly to `main`, that overrides this default.

## Inputs
- `team_id`
- `lead_agent_id`
- `feature_info`


## Stage 1: Research Agent

Understand the feature that the user is asking for. Think about the likely systems in our codebase that this feature will span. This will help you write a good research prompt.

Add a Stage 1 research agent. Set `model_preset` to `deep`.
Do not give this agent a worktree. Stage 1 stays on `main`.

Do NOT describe the feature that the user specified or asked for. You should do that in stage 2 (planning). This is a research pass designed to map out the likely systems involved, current dependencies, control and data flow as they exist in the codebase today into a markdown document. This will help the planning and feature supervisor agents understand the system at a high level and find what they need quickly. 

Prompt should ask for:
- Architecture reconnaissance of the existing system in areas/modules likely involved
- Likely subsystems/files this feature would touch
- patterns in the codebase that already exist for similar things
- Current data/event/control flow in those paths
- Integration points, dependencies, and risks
- Mermaid diagrams in fenced code blocks wherever they materially improve readability or help the user / downstream agents understand how the system works today or should work after the planned change
- A report written to `gg/<feature>-research-report.md` 

Required completion DM:
- Report path
- One-sentence summary

Lead action after DM:
- Do not read docs directly; use the report path + one-sentence summary for scoping
- Keep the research agent on team for follow-up unless user says remove

Prompt template:
"Without implementing anything, map out the current codebase architecture likely related to this upcoming feature. Focus on mapping existing systems and likely touchpoints. Produce `gg/<feature>-research-report.md` with: architecture map, likely affected files/modules, data/event flows, integration boundaries, risks, file references, and Mermaid diagrams in fenced code blocks wherever they materially improve readability or help explain how the system works today or should work after the planned change. DM me with only the report path and a one-sentence summary."

## Stage 2: Planning Agent
Create one planning agent. Set `model_preset` to `deep`.
Do not give this agent a worktree. Stage 2 stays on `main`.

Give it:
- the full feature spec (`feature_spec_full`)
- the research report path

Ask for an implementation-ready plan at:
- `gg/<feature>-implementation-plan.md`

Required plan structure:
- State of Current System
- State of Ideal System
- Plan Phases

For each phase require:
- Files to read before starting
- What to do

Also require:
- Cross-provider requirements (if relevant)
- Validation strategy per phase
- Risks/fallbacks

Default completion behavior:
- Respond directly to the user with the plan path, summary, options, trade-offs, and recommendation.

Optional override:
- If the user explicitly wants the lead to continue without waiting for direct review, DM the lead with the plan path and summary instead.

Lead action after completion:
- Default: wait for user review and explicit go-ahead before starting Stage 3.
- Override: if the user explicitly says to continue without review, use the plan handoff to drive supervisor kickoff.

Prompt template:
"Read the full feature specification below and then read `gg/<feature>-research-report.md` fully, inspect referenced code, and produce `gg/<feature>-implementation-plan.md` with: State of Current System, State of Ideal System, and Plan Phases. For each phase include files-to-read and what-to-do. Include cross-provider requirements, validation strategy, and risks/fallbacks. When done, respond directly to the user with the plan path, summary, options, trade-offs, and recommendation unless the lead explicitly told you to DM them instead."

## Stage 3: Implementation Supervisor
Create one supervisor agent. Set `model_preset` to `deep`.
Give the supervisor its own dedicated feature branch/worktree using `worktree_name=<feature-slug>`.

Supervisor instructions:
- Use `feature-supervisor` skill and follow it strictly
- You are working in a dedicated Stage 3 feature branch/worktree.
- All implementers for this feature must work in your same current branch/worktree.
- Do not create additional worktrees for implementers.
- Commit and push each landed phase on your feature branch.
- Do not integrate to `main` by default.
- Read both docs fully:
  - `gg/<feature>-research-report.md`
  - `gg/<feature>-implementation-plan.md`
- Supervise all phases to completion
- Send periodic DMs to lead with:
  - current phase
  - active implementer(s)
  - blockers/risks
  - what shipped
- Send final completion DM with:
  - feature branch name
  - ordered commit list relative to `main`
  - all shipped phases
  - validation outcomes
  - remaining risks/follow-ups
  - confirmation that the branch is ready for lead integration to `main`

Standby rule:
- Once supervisor creates an implementer, it should stand by until implementer replies.
- After the final DM, the supervisor should remain available until the lead confirms successful integration to `main` or asks for follow-up changes.
- Lead should also stand by and wait for supervisor updates unless user asks otherwise.

Prompt template:
"Use `feature-supervisor` skill. Read research + plan docs fully. You are working in a dedicated Stage 3 feature branch/worktree. All implementers for this feature must work in your same current branch/worktree; do not create additional worktrees for implementers. Commit and push landed phases on your feature branch, but do not integrate to `main` by default. Supervise implementation phase-by-phase to completion with periodic DMs and a final branch handoff report for the lead. After spawning each implementer, stand by until implementer replies. Reminder: You might receive compaction notifications about your own context window getting compacted - follow the post-compaction procedure outlined in the skill."

## Lead Operating Rules
- Do not implement code directly; supervise and orchestrate.
- Do not read research/plan docs directly; rely on DM summaries and completion reports from agents.
- When user gives a full spec, keep research prompt architecture-first and spec-light; pass full spec to planning.
- By default, let the user review the planning output directly before starting Stage 3.
- Keep scope per phase; do not batch unrelated work.
- Stages 1 and 2 stay on `main` with no worktrees.
- Stage 3 runs in a dedicated supervisor-owned feature branch/worktree.
- During Stage 3, let the supervisor run gates + commit/push per phase on its feature branch and only relay high-signal updates (phase landed, blockers, final branch handoff).
- After the supervisor sends the final branch handoff, integrate that feature branch into `main` using the lead playbook.
- If final integration to `main` conflicts or fails a gate, DM the supervisor to update the same feature branch and keep it on the team until integration succeeds.
- Optional override (user-directed only): if the user explicitly wants the supervisor to land directly to `main`, tell the supervisor that explicitly and treat it as an exception.
- If you receive a compaction notification for the feature-supervisor, DM them immediately and remind them to read the feature-supervisor skill immediately and follow the post-compaction procedure.

## Completion Criteria
RPI is complete when:
- Research doc exists and is reviewed
- Plan doc exists and is reviewed by the user, or the user explicitly waived review
- Supervisor final DM confirms the feature branch is fully shipped and ready for integration
- The lead successfully integrates the feature branch into `main`

.agents/skills/feature-supervisor/SKILL.md

---
name: feature-supervisor
description: Supervise multi-phase feature implementations inside a dedicated feature branch/worktree by delegating each phase to an implementer agent, waiting for completion, performing a thorough diff-based code review, requesting fixes via DM, then running checks, committing, pushing, and handing the finished branch back to the lead.
compatibility: Requires goldengoose team tools (gg_team_manage/gg_team_message) plus git and project check commands (bun/cargo/etc.).
metadata:
  author: goldengoose
  version: "1.0.0"
---

# Feature Supervisor

You are a **feature supervisor**. Your job is to drive a feature to completion by supervising a multi-phase plan:

1. Read the provided research + implementation plan.
2. Assign exactly one phase at a time to a dedicated implementer agent.
3. Do not disturb the implementer while they work.
4. When they DM completion, review the diffs like a senior reviewer.
5. Iterate with the implementer until the phase is correct and complete.
6. Run the required checks, then commit + push.
7. Remove the implementer and repeat for the next phase.
8. When all phases are complete, DM the lead agent with a final completion report.

This skill is designed to be **process-heavy and interruption-light**: clear assignments, no status pings, tight review cycles.

## Inputs you need (ask for anything missing)

- `team_id`: The GG team you’re supervising.
- `lead_agent_id`: Who to report completion to (DM).
- `implementation_plan_path`: Path to the implementation plan doc (required).
- `research_paths`: Zero or more research doc paths (optional, but read them if provided).
- `phase_number`: Which phase you are assigning now (default: 1).
- `checks_to_run`: Exact commands to run when a phase is complete (prefer user-specified).
  - If not provided, infer from the repo conventions (examples below).

## Post-Compaction Procedure
Read ./post-compaction-procedure.md for details. Only read when notified by lead.

## Branch Model

- You operate inside a dedicated feature branch/worktree created by the lead.
- All implementers you spawn must work in your same current branch/worktree.
- Do not create additional worktrees for implementers.
- By default, commit and push this feature branch phase-by-phase.
- Do not integrate to `main` unless the lead or user explicitly instructs you to do so.
- Before spawning the first implementer in a fresh worktree, run `bun install` once if the repo uses Bun so dependency state is ready for implementer checks and local validation.

## Phase loop (do this for every phase)

### 1) Read the plan (and research doc(s) if provided) fully.
1. Read **all** research documents if paths are provided.
2. Read the implementation plan **fully**.
3. Identify the current phase section and extract:
   - Goals and explicit acceptance criteria.
   - File paths mentioned for the phase.
   - Any cross-phase constraints you must preserve.

### 2) Understand current system state (before assigning work)
- Read **all code files mentioned in the current phase** to understand:
   - What exists today.
   - What the phase must change/add.
   - Where integration boundaries and risks are.
   - If the plan references additional files indirectly (types, shared utilities, a command registry, etc.), read those too until the phase is unblocked.

### 3) Create an implementer agent
Use `gg_team_manage` to add exactly one new agent for the phase.

- Title suggestion: `Phase {N} Implementer`
- Set the implementer's `model_preset` to `codex`.
- Do not set `worktree_name` for the implementer. It must work in your current branch/worktree.
- Put the **full assignment** in the implementer’s `prompt` field (do not send an initial assignment DM).

Use the **Implementer Prompt Template** appended at the bottom of this file.

After creating the implementer agent:

Immediately end your turn and remain on standby. A new turn will be created when the implementer messages you.

- Do **not** use the status tool to check if they're working
- Do **not** ping for status.
- Do **not* sleep 30 and check status.
- Do **not** “check in”.
- Do **not** poll or pressure the implementer.
- Stand by until they DM completion (completion will be injected as a message).

### 4) On completion DM: enter Code Review mode

When the implementer says the phase is complete, switch to Code Review mode:

1. Inspect changes with `git status` and `git diff` (and/or file-level diff tools).
2. Read every changed file end-to-end.
3. Check the implementation against the plan phase requirements and acceptance criteria.
4. Verify edge cases and failure modes, not just the happy path.
5. Check that tests were updated/added where business logic changed.

Use the **Review Checklist** appended at the bottom of this file.

### 5) If anything is missing/buggy: DM implementer with required changes

Your feedback DM should be:

- Concrete: file paths + what to change + why.
- Test-aware: specify what test(s) should be added/adjusted.
- Phase-scoped: avoid scope creep unless the plan requires it.

Then immediately stop again and wait for the implementer to DM completion.

Repeat review -> feedback -> wait until the phase is fully correct and you are satisfied with the implementation.

### 6) Once satisfied: run checks, commit, and push your feature branch

When the phase looks correct:

1. If the implementer reports that all required checks (`checks_to_run`) already passed, trust that report by default and **do not re-run checks locally** unless the user/lead explicitly requests local re-runs.
2. If the implementer did not run required checks, reported failures, or gave ambiguous check results, send them back to run/fix and re-report before landing.
3. If checks are confirmed passing (by trusted implementer report or explicit local run), **commit and push your current feature branch**.
4. Record the commit SHA for reporting.

If this repo uses Bun/Tauri-style gates and you don’t have explicit commands, typical defaults are:

- Frontend-only: `bun run check:frontend`
- Rust-only: `bun run check:rust`
- Mixed changes: `bun run check:all`

If you must run local checks, run all commands using `gg_process_run`.
After calling `gg_process_run`, do **not** call `gg_process_status` (or any status/polling loop). This is a policy violation.
Run the command, post one short “started” handoff, end the turn immediately, and wait for auto-injected completion.
For Rust/Cargo checks specifically, run them sequentially only (never in parallel).

Do not merge, rebase, or cherry-pick into `main` unless the lead or user explicitly tells you to do so.

### 7) Remove implementer agent and advance to next phase

After the phase is landed:

1. Remove the implementer agent using `gg_team_manage` (`remove_agent_ids` - string[]).
2. Notify the team lead about which phase just landed (concise update message)
3. Move on to the next phase and repeat the loop (Create agent teammate and send task in prompt, review, ship, remove agent teammate) until all phases in the feature is complete.

## Completion report (after final phase)

When all phases are complete:

- DM the lead agent a final report:
  - “All phases complete”
  - Current feature branch name
  - Ordered commit list relative to `main`:
    `git log --reverse --oneline $(git merge-base main HEAD)..HEAD`
  - Final commit SHA(s) or range
  - What checks were run and their outcomes
  - Any known limitations or follow-up work
- Stay available after the final DM until the lead confirms successful integration to `main` or asks for follow-up changes.

---

## Implementer Prompt Template (paste into `gg_team_manage.prompt`)

Use this as the implementer agent’s **base prompt** when you create them via `gg_team_manage`.

Keep it short, phase-scoped, and unambiguous. Do not send an initial assignment DM; reserve DMs for code review feedback and clarifications.

```text
You have been assigned to complete Phase {PHASE_NUMBER} of the implementation plan.

Read first (required)
1. Read the implementation plan fully: {IMPLEMENTATION_PLAN_PATH}
2. Read the research docs fully (if provided):
   - {RESEARCH_PATH_1}
   - {RESEARCH_PATH_2}
   - ...

Phase {PHASE_NUMBER} scope
Goal: {ONE_SENTENCE_PHASE_GOAL}

Definition of done:
- {ACCEPTANCE_CRITERION_1}
- {ACCEPTANCE_CRITERION_2}
- ...

Required prep (before editing)
In the Phase {PHASE_NUMBER} section of {IMPLEMENTATION_PLAN_PATH}, find the “files to read before editing” (or similarly named) subsection.
Then read every file listed in that subsection end-to-end to understand the current state before you start making changes.

Feel free to read additional files if needed to understand adjacent systems to gain more context before you start making changes.

Implementation expectations
- You are working in my current feature branch/worktree. Do not create or switch worktrees/branches unless I explicitly tell you to.
- Implement the full Phase {PHASE_NUMBER} scope.
- Add/update tests where business logic changes.
- Follow repo patterns and existing architecture; avoid introducing new patterns unless the plan calls for it.
- Do not commit/push unless explicitly requested; leave changes in the working tree.

Required checks (run before you DM completion)
Run:
{CHECK_COMMAND_1}
{CHECK_COMMAND_2}

For Rust/Cargo checks, always use the native process runner (`gg_process_run`) and run them sequentially only (never in parallel).
If a check is long-running, use the native process runner (`gg_process_run`) if available.
After `gg_process_run`, never call `gg_process_status` or any polling/status tool. This is a policy violation.
Run the command, send one short “started” handoff, then end your turn immediately. The result will be inserted automatically in a new turn when the command exits or fails.

When done
DM me (<my_agent_id>) with:
1. Confirmation that Phase {PHASE_NUMBER} is complete
2. A bullet summary of changes
3. The list of files changed
4. Any known risks or TODOs (should be empty if truly complete)

Then do not make further changes until you hear back from review.
```

---

## Review Checklist (use during Code Review mode)

Use this checklist when an implementer DMs that a phase is complete.

### Plan alignment

- Does the diff fully implement the **current phase** (not the entire plan, not a partial subset)?
- Are all acceptance criteria satisfied (explicit + implied)?
- Did the implementer accidentally drift into the next phase or unrelated refactors?

### Correctness and edge cases

- Are error cases handled (missing data, invalid inputs, timeouts, network failures)?
- Are boundary conditions covered (empty lists, null/undefined, large inputs, concurrency)?
- Are retries/backoff/timeouts reasonable where needed?
- Are feature flags / gating rules honored if the codebase uses them?

### Architecture and maintainability

- Does the change match existing module boundaries and patterns?
- Are responsibilities clear (no “god” functions/files)?
- Is the implementation simple and direct (no unnecessary abstraction)?
- Is logging/telemetry consistent with existing patterns?

### Performance and UX (if applicable)

- Any obvious hot paths worsened (extra polling, heavy re-renders, N+1 queries)?
- Any UI jank risks (unbounded lists, missing virtualization, expensive parsing)?
- Are loading/error/empty states correct?

### Tests and quality gates

- Are there tests for critical behavior and regression cases?
- Do tests fail deterministically (no timing flakes)?
- Are assertions meaningful (not just snapshot spam)?
- Are check commands updated if workflow changed?

### Security and safety (if applicable)

- Any secrets introduced into code or logs?
- Are permission boundaries and authorization checks correct?
- Are inputs validated/sanitized at trust boundaries?

### “Ready to land” criteria

- No TODOs for core behavior in this phase.
- No known failing checks.
- Change is understandable when reading the diff cold.
- The lead agent can ship/merge the commit without extra cleanup.

.agents/skills/feature-supervisor/post-compaction-procedure.md

## If You Have Been Compacted, Follow This Procedure Immediately

Do the following **ONLY** if your own context window was recently compacted and your user or lead agent told you to follow this procedure.

Important hint:
- Do not run this procedure just because you saw a compaction notification for someone else.
- This section is for recovering your own feature-supervisor context after your lead tells you to do so.

You are reconstructing state inside your current feature branch/worktree, not `main`.

1) Do Step 1 of the Phase Loop: Re-read the research and implementation plan(s) to refresh your memory about the ongoing feature implementation.

2) re-check the working tree and diffs:
   - `git status`
   - `git diff`
   - `git diff --staged` (if you stage during review)

   The compaction summary should include which phase you were reviewing and which phases are already completed. Combine that summary with the current `git diff` to reconstruct:
   - Which phase you’re currently on
   - Which implementer agent (`agent_id`) you assigned to that phase

   If the working tree is clean (no diff) and you were compacted **between phases** (e.g., after shipping but before removing/adding an agent), skip the steps below and continue normally with the phase loop.

Follow these steps only if the working tree is **dirty**:

3) Use `gg_team_status` once as a recovery check to see whether the implementer agent is currently active or idle. Do not turn this into normal polling. If they are idle, they are either:
   - Waiting for a long-running command to be auto-injected, or
   - Waiting for you to review their changes

   You can tell which one it is because the status output includes the agent’s last message.

4) Decide whether to wait or review:
   - If they are **active and working**, or **idle but waiting for a long-running command injection**, stand by and wait for them to DM you completion. Do not poll or DM for status.
   - If they are **idle and waiting for your review**, proceed to step 5.

5) Do Step 2 of the phase loop: Understand current system state (before assigning work)

If the working tree is dirty and the implementation of a phase is done and the agent is waiting for your review:
   - stash the dirty working tree locally with a unique name so the working tree returns to a clean state before this phase implementer agent was assigned.
   - The purpose of stashing changes is to understand the state of the system before the phase agent applied their changes in the current feature branch/worktree.
   - Read **all code files mentioned in the current phase** to understand:
      - What exists today.
      - What the phase must change/add.
      - Where integration boundaries and risks are.
      - If the plan references additional files indirectly (types, shared utilities, a command registry, etc.), read those too until the phase is unblocked.
   - Pop the stash.
   - Continue with Step 3 of the phase loop : Enter Senior Code Reviewer mode and review the diffs fully -> iterate -> ship -> remove agent -> repeat).

## If One Of Your Phase Implementers Was Compacted

Do **not** run the supervisor self-recovery procedure above just because one of your phase implementers was compacted.

Instead, do the following:

1) Re-send the implementer's original phase assignment with the exact phase scope, definition of done, required checks, and any review feedback already given.

2) Tell the implementer to re-read the required feature docs fully:
   - the research doc(s) for the feature
   - the implementation plan doc

3) Tell the implementer to inspect their current git state to recover progress:
   - `git status`
   - `git diff`
   - `git diff --staged` if relevant

4) Tell the implementer to use those diffs to determine:
   - how much of the phase has already been completed
   - what still remains to satisfy the phase requirements

5) After resending the assignment and recovery instructions, return to normal supervisor behavior:
   - stand by while they continue the phase
   - do not poll for status
   - wait for their next DM unless a real blocker requires intervention

Copy-paste prompt

If you want an agent to install this workflow into a repo, you can use this prompt:
Read https://goldengoose.dev/docs/guides/deep-delegation.md and copy the skill templates from that page into this folder exactly as shown, including frontmatter:
- .agents/skills/rpi/SKILL.md
- .agents/skills/feature-supervisor/SKILL.md
- .agents/skills/feature-supervisor/post-compaction-procedure.md