Skip to content

feat: /plan-status skill — check progress of a gstack plan against git log + codebase #1343

@Willardgmoore

Description

@Willardgmoore

Problem

gstack generates detailed plan files (CEO plans, eng plans) in ~/.gstack/projects/<slug>/ceo-plans/ and eng-plans/. These plans have phases, success-criteria checkboxes, file/gem references, and pre-migration checklists.

There is no skill to answer: "Where am I against this plan?"

The current workaround is asking Claude to manually read the plan and cross-reference the codebase — which works but is ad-hoc, inconsistent, and not something you'd think to do unless you remembered to ask.

Proposed skill: /plan-status

A read-only skill that:

  1. Resolves the plan file — from an explicit argument, branch-name match, or AskUserQuestion if multiple plans exist
  2. Extracts phases, - [ ]/- [x] success-criteria checkboxes, file/directory references, gem references, and pre-migration checklists
  3. Gathers evidence from git log (commits since branching from main), git diff --name-only, filesystem checks (does the file/dir exist or was it deleted as planned?), and Gemfile grep
  4. Classifies each item as DONE / PARTIAL / REMAINING / DROPPED using evidence conservatively (uncertain = REMAINING)
  5. Produces a scannable dashboard:
## Plan Status: 2026-05-05-ruby-llm-full-migration.md
Branch: feature/ruby-llm-migration | As of: 2026-05-06

### Phase Summary
| Phase | Status | Notes |
|-------|--------|-------|
| Phase 0: Foundation | DONE | Gems added, initializers present |
| Phase 7: RAG migration | REMAINING | NotImplementedError stubs; no RubyLLM.embed calls |

### Success Criteria
| Item | Status |
|------|--------|
| langchainrb removed from Gemfile | REMAINING |
| Cross-tenant scoping test passes | REMAINING |
| ActsAsTenant require_tenant = true | PARTIAL — dev only |

### Summary
6 of 8 phases complete. 8 of 13 success criteria met.
Suggested next: Phase 7 RAG migration (remove langchainrb, wire RubyLLM.embed)
  1. Offers to start on the top REMAINING item or update the plan's checkboxes — but never auto-starts.

Triggers

  • "plan status"
  • "how far along is the plan"
  • "what's done / what's left"
  • "check plan progress"
  • "where are we on the plan"

Why it belongs in gstack

gstack already owns the plan lifecycle: /office-hours/plan-ceo-review/plan-eng-review → implementation → /ship. Plan status is the missing step between "plan written" and "ship called" — the regular check-in that keeps the plan and reality synchronized.

The skill is entirely read-only (no file writes), uses only Bash, Read, Glob, Grep, and optionally AskUserQuestion. Low complexity, high signal.

Related issues

Notes

I've built a local version of this skill at ~/.claude/skills/gstack/plan-status/SKILL.md and am running it now. Happy to contribute the implementation upstream if the direction looks right.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions