Create a project level dev issue grooming skill#633
Merged
Conversation
Collaborator
narthur
commented
Apr 22, 2026
- docs: add technical spec for dev-grooming skill
- docs: add author-only close rule to dev-grooming spec
- feat: add dev-grooming-session helper script
- fix: accurate groomable count and optimize snooze filtering
- fix: remove dead code and fix status groomable accuracy
- refactor: remove dead code and restore status breakdown
- fix: clean up expired snoozes in cmd_snoozed before displaying
- feat: add SKILL.md for dev-grooming skill
- docs: mark SKILL.md step complete in plan
- fix: add missing status command to dev-grooming-session help text
- fix: make date calls portable across GNU and BSD (macOS)
- chore: add issue grooming skill
Contributor
Build Performance⚡ +0.04s (+0.7%) average build time
|
Contributor
Accessibility IssuesSummaryNo baseline issues found.
Issue Breakdown
|
Spec covers adapting the personal grooming skill to a project-level skill that filters for DEV-labeled issues and integrates with the beeminder/blog label taxonomy (ZzZ, ZOM, resolution labels, etc.). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only the issue author should close issues. Others should apply the resolution label and comment pinging the author instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adapted from personal grooming-session script with DEV-specific changes: - Filters for DEV-labeled issues only - Excludes ZzZ-labeled issues via jq filter - Shows labels in list output for at-a-glance context - Removes Firefox auto-open behavior Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- cmd_status now subtracts ZzZ-labeled issues from groomable count - filter_snoozed replaced O(n^2) per-item jq loop with single jq pass Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete unused get_snoozed_numbers function - cmd_status now reuses fetch_issues + filter_snoozed pipeline for accurate groomable count (no double-subtract or expired-snooze bugs) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove unused get_repo_snoozes and is_snoozed functions - Restore ZzZ/Snoozed line items in cmd_status, derived from the fetch+filter pipeline to avoid double-counting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Label-aware grooming workflow for DEV issues with: - Label correctness analysis (work type, size/priority, status, content) - ZOM high-priority flagging - Update labels action with full taxonomy reference - Resolution label selection (zap, nix, cnr, dup) when closing - ZzZ label snooze as alternative to script-level snooze - Author-only close rule with mark-resolved fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace GNU-specific `date -d` and `--iso-8601` with helper functions that detect the platform and use the appropriate syntax. This ensures the script works on both Linux (GNU coreutils) and macOS (BSD date). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
dd37d1a to
84616e5
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new “dev-grooming” skill under .claude/skills/ to help run structured issue-grooming sessions against DEV-labeled GitHub issues, including a helper script to list/next/view/snooze issues and a written workflow spec for the skill.
Changes:
- Added
dev-grooming-sessionBash helper for stale-first issue selection with local snoozing and basic status reporting. - Added
SKILL.mdspec describing the grooming workflow, constraints (including author-only closing), and command reference.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
.claude/skills/dev-grooming/dev-grooming-session |
New helper script for fetching/sorting DEV issues, snoozing, and displaying next/list/status. |
.claude/skills/dev-grooming/SKILL.md |
New skill spec documenting the intended workflow and how to use the helper script. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Validate snooze duration with regex before arithmetic - Validate --limit value to handle missing/non-integer args under set -u - Use portable mktemp templates in set_snooze, remove_snooze, cmd_reset - Bump cmd_next/cmd_list fetch limit from 100 to 500 for accurate stale ordering - Correct script path to .claude/skills/dev-grooming/dev-grooming-session in SKILL.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.