feat(review-fix-loop): package and document the standalone skill for discovery - #114
Merged
Merged
Conversation
…discovery ## Summary - List `skills/review-fix-loop` in the README's "Current reusable agent skills" section (with its `local_commit`/`update_pr` policies and the tracked #103/#104/#105 caller-migration follow-ups), correct the eight-skills count to nine, and add its `just test-review-fix-loop`/ `just eval-review-fix-loop` targets to the Quick Start and evaluation sections alongside a short description of its cross-cutting corpus. - Add `review-fix-loop` to `scripts/validate_plugins.py`'s `REQUIRED_SKILLS` set so a missing install or a missing `agents/openai.yaml` fails plugin packaging validation in CI, matching every other repository-owned skill. - Refresh `skills/review-fix-loop/agents/claude-code.md` and `agents/openai.yaml`, stale since issue #98 (reviewer orchestration): they described only document validation and one review pass, predating the `local_commit`/`update_pr` workflows issues #99-#101 actually delivered. - Add a "Publication policy and retained commits" section to `SKILL.md` itself (the first document a caller reads) stating plainly that both workflows keep fixes local until convergence, that `update_pr` publishes exactly once, and that every non-converged terminal result reports its retained unpushed commits via `unpushed_commits`/`operator_action` — this was previously only documented in `references/CONTRACT.md` and `references/local-commit.md`/`update-pr.md`. ## Why - Issue #102 (final child of epic #95) requires packaging, discovery, and documentation completeness for the already-implemented `review-fix-loop` skill following this repository's established conventions for sibling skills, per `design/review-fix-loop.md`'s rollout step 6. - `skills-ref validate`, `skills-ref to-prompt`, and `python3 scripts/validate_plugins.py` already run generically over every skill in `skills/*` in CI (`.github/workflows/ci.yml`) and via `just lint`/`just check`, so this ticket's job was closing the specific gaps those checks did not yet enforce or the docs did not yet state, not inventing a new packaging mechanism.
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Packages, documents, and exposes the standalone
review-fix-loopskill(already fully implemented by epic #95's prior children #96-#101) through this
repository's established discovery and distribution surfaces:
skills/review-fix-loopin the README's "Current reusable agentskills" section (its
local_commit/update_prpolicies and the trackedMigrate implement-ticket repository review remediation to review-fix-loop #103/Migrate babysit-pr repository review remediation to review-fix-loop #104/Evaluate and migrate carve-changesets remediation to review-fix-loop #105 caller-migration follow-ups), corrects the "eight skills"
installation count to nine, and wires its existing
just test-review-fix-loop/just eval-review-fix-looptargets into theQuick Start and evaluation sections.
review-fix-looptoscripts/validate_plugins.py'sREQUIRED_SKILLSset, so plugin packaging validation (already run in CI) now fails closed if
the skill or its
agents/openai.yamlever goes missing from the installedplugin — matching every other repository-owned skill.
skills/review-fix-loop/agents/claude-code.mdandagents/openai.yaml, stale since issue Implement review-fix-loop reviewer isolation and complete-review orchestration #98 (reviewer orchestration): theydescribed only document validation and one review pass, predating the
local_commit/update_prworkflows issues Deliver and evaluate standalone review-fix-loop local_commit #99-Build deterministic and result-blind review-fix-loop evaluation coverage #101 actually delivered.SKILL.md(the first document a caller reads) stating plainly that bothworkflows keep fixes local until convergence, that
update_prpublishesexactly once, and that every non-converged terminal result reports its
retained unpushed commits via
unpushed_commits/operator_action— thiswas previously documented only in
references/CONTRACT.mdandreferences/local-commit.md/update-pr.md.CHANGELOG.md, including backfilling the SHA a priorentry was missing (an outstanding gap from PR feat(review-fix-loop): add the cross-cutting, result-blind evaluation corpus #113's own changelog step,
caught by this PR's own review-code-change pass).
Why
Issue #102 is the final child of epic #95. Everything else
review-fix-loopneeded (contracts, local execution, reviewer orchestration,
local_commit,update_pr, evaluation corpus) already merged; this ticket's job was closingthe remaining packaging/discovery/documentation gaps per
design/review-fix-loop.md's rollout step 6, following the same conventionsalready established for sibling skills (
review-code-change,implement-ticket,carve-changesets) rather than inventing new packagingpatterns.
Acceptance criteria
with a fresh
git cloneinto a scratch directory at this PR's exact head,then
skills-ref validate skills/review-fix-loop,skills-ref to-prompt skills/*/(showsreview-fix-loopby name in the<available_skills>listing), and
python3 scripts/validate_plugins.py(now requires it).in-agent path an explicit override —
SKILL.md"Run a complete review",references/reviewer-orchestration.md,agents/claude-code.md.convergence and warns about retained unpushed commits on non-converged
exits — new
SKILL.md"Publication policy and retained commits" section.examples — pre-existing
references/examples/*.json,scripts/tests/test_local_commit.py/test_update_pr.py,scripts/evals/runner.py --scenario <id>; confirmed still passing.actionable, fail-closed errors — pre-existing
resolve_review_execution_mode->blocked/missing_capability,update_pr.py'smissing_authority/remote_advanced/publication_failed;confirmed unit-tested.
.github/workflows/ci.yml's existing "Validate skills (agentskills)" and"Validate plugin packaging" steps already run generically over
skills/*;the latter now enforces
review-fix-loop's presence.Validation
just format— passjust lint— pass (9/9 skills valid viaskills-ref validate, pluginpackaging valid)
just test— pass (every skill'sscripts/testssuite green, including273 tests under
skills/review-fix-loop/scripts/testsand 318 underreview-suite/scripts/tests)skills-ref validate,skills-ref to-prompt,python3 scripts/validate_plugins.py, andpython3 skills/review-fix-loop/scripts/validate.py terminal-result <example>all passreview-code-changepasses in fresh, read-only subagents: the firstfound one strong-recommendation correctness finding (a missing CHANGELOG
SHA backfill required by
AGENTS.md); fixed, re-validated, and thefollow-up pass returned clean across all three lenses
(solution-simplicity, correctness, code-simplicity)
Fixes #102