garrytan / garrytan/gstack

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

Open
#1,343 5 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
133k
Forks
19.9k
Avg merge
18h 46m
Merged PRs (30d)
26

Description

## Problem

gstack generates detailed plan files (CEO plans, eng plans) in `~/.gstack/projects//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)
```

6. **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

- #1170 — native plan writing skill (complementary — write + track)
- #341 — resume multi-step workflows (overlapping concern: session continuity vs. plan continuity)
- #542 — office-hours design docs invisible to downstream skills (same family: plan discoverability)

## 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.