Add review-open-issues skill - #675
Merged
Merged
Conversation
None of the 5 CultureBotAI Mech repos had a dedicated skill for sweeping the full open-issue queue. The existing next-tasks skill only samples the first ~30 open issues as lightweight context while reconciling NEXT_TASKS.md; it was never meant to validate hundreds of issues individually against current code. review-open-issues is a heavier, periodic pass: paginate the entire open queue, check each issue for staleness/duplication against git log and merged PRs, and assign an honest P0/P1/P2 priority. It is read-only by default — closing issues or updating a tracker requires explicit confirmation. CommunityMech already has an active tracker issue, #669 ("[P0-P2 tracker] Repository safety, test, documentation, CI, and packaging remediation"). The skill is designed to maintain that tracker in place rather than spawn a duplicate. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ote durability Review of PR #675 found the Step 1 "true count" fallback command omits --limit, so gh silently caps it at its default of 30 -- exactly the silent-truncation failure the surrounding text warns against. Also reworded the Step 6 tracker note so it explicitly tells the agent to verify #669 is still open before trusting the note, rather than treating "this repo already has one" as a durable fact.
…ield claim Review of this PR found, and live gh CLI testing confirmed, that gh issue list --limit has no hard cap near 300 (gh auto-paginates through the API; --limit 5000+ returns full results on repos with thousands of open issues). The "GitHub's cap" framing and the implied paginate/sample fallback were both fictional. Also fixed a second false claim: gh issue list --json does support a `comments` field when explicitly requested -- the Notes section wrongly asserted the json mode omits comments entirely.
Same class of finding surfaced during review of the sibling TraitMech PR: git log --grep "#<N>" plain substring-matches unrelated numbers (#48 also matches #480, #4823, ...), producing false "already fixed" evidence for STALE/CLOSE recommendations -- switched to --perl-regexp with a \b word-boundary anchor.
Review found the wording ambiguous between one general user approval gating an unattended gh issue close loop, versus per-item confirmation -- made per-item confirmation explicit.
gh pr list --search matches a bare number anywhere in indexed text, not anchored to an issue reference (verified live: returns unrelated PRs) -- added a caveat so it's used as a lead, not proof. Also noted Step 1's -q filter only prints number/date/title -- body/labels are fetched but not shown, and Steps 2/3 need them via gh issue view.
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
.claude/skills/review-open-issues/SKILL.mdfor periodic, full-queue CommunityMech issue triage.origin/mainand exact linked closing PRs, avoiding unmerged-branch and substring-search false positives..claude/skills/next-tasks/SKILL.md.Adversarial review fixes
Verification
just lintjust test: 2606 passed, 89 skipped, 8 deselectedclosedByPullRequestsReferenceslookup and merged timestamp verification tested against issue enrich_edison_response can re-attribute a stale sidecar to a new task_id #673 / PR Close provider and Edison provenance review gaps #674.origin/mainexcludes an issue-referencing commit thatgit log --allincludes.git diff --checkThe generic Codex
quick_validate.pyvalidator was also tried. It rejects the repository-wide established frontmatter keys (category,requires_database,requires_internet, andversion) in both this skill and the pre-existingnext-tasksskill, so repository-consistent frontmatter was retained.Generated with Claude Code and corrected through adversarial review.