Skip to content

feat: wire land-plan-docs into /workflows-groom#205

Merged
aagnone3 merged 1 commit into
mainfrom
feat/wire-land-plan-docs-into-groom
Jul 18, 2026
Merged

feat: wire land-plan-docs into /workflows-groom#205
aagnone3 merged 1 commit into
mainfrom
feat/wire-land-plan-docs-into-groom

Conversation

@aagnone3

Copy link
Copy Markdown
Collaborator

What & why

Wires the land-plan-docs skill into /workflows-groom so a groom run persists its own plan artifact(s) once it reaches planned. Previously groom left the join-keyed docs/plans/** doc dirty in the worktree, where a git clean, a worktree prune, or grooming-in-one-worktree-implementing-in-another silently lost it — while the board's join key still pointed at it.

This is the groom half of the parent epic #145 (closed). Siblings #149 (/workflows-plan standalone + nested stand-down), #150 (/deepen-plan), #151 (consistency pass) remain open and out of scope here.

Changes (single file: skills/workflows-groom/SKILL.md)

  1. Hard-Stop Contract gains a narrow docs-only-PR carve-out — grooming may open exactly one PR that persists its own plan markdown under docs/plans/**; explicitly not a lifecycle transition and not license for implementation branching/PRs. The top-line contract summary and the NEVER CODE guardrail were reconciled to match.
  2. Completion section invokes land-plan-docs after --groom-verify succeeds, via a delegated Sonnet sub-agent (Task tool), never inline, batching all plan docs written this run into one docs-only PR with auto-merge armed. Best-effort — never blocks packet emission; groom owns the land step (nested /workflows-plan defers), and idempotency makes any overlap a no-op.
  3. Groomed packet gains an explicit Plan PR status line (landed / pending / needs approval / skipped), applicable in board and no_board modes.

Validation

  • bun test → 513 pass / 0 fail
  • bun run docs:check → up to date
  • bun run typecheck → clean

No test asserted the Hard-Stop wording, so this is a pure skill-content change; the suites guard against unrelated regressions.

Notes

Closes #148

Groom now persists its own plan artifact(s) after reaching `planned`,
closing the gap where join-keyed plan docs were left dirty in the worktree
and lost to a git clean / worktree prune.

- Hard-Stop Contract gains a narrow docs-only-PR carve-out (plan markdown
  only; never license for implementation branching/PRs).
- Completion section invokes `land-plan-docs` via a delegated Sonnet
  sub-agent after `--groom-verify`, batching all plan docs from the run;
  best-effort and never blocks packet emission.
- Groomed packet gains an explicit `Plan PR` status line
  (landed / pending / needs approval / skipped), in board and no_board modes.

Closes #148

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@aagnone3
aagnone3 merged commit 1d4d707 into main Jul 18, 2026
7 checks passed
@aagnone3
aagnone3 deleted the feat/wire-land-plan-docs-into-groom branch July 18, 2026 16:56
@github-actions github-actions Bot mentioned this pull request Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Wire land-plan-docs into /workflows:groom

1 participant