.claude/skills/pm-housekeeping/SKILL.md
Identify and remove stale, cancelled, rejected, or superseded PinkRooster entities (issues, feature requests, work packages). Keeps the project board focused on active, relevant work. Use when the user says "housekeeping", "remove stale items", "clean the board", "delete cancelled items", "prune old entities", or "tidy up the project".
npx skillsauth add pinkroosterai/PinkRoosterMcp pm-housekeepingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scan a project for stale, cancelled, rejected, or superseded entities and safely remove them after user confirmation. Keeps project boards focused on active, relevant work.
For codebase cleanup (dead code, unused imports), use /pm-cleanup instead.
Parse $ARGUMENTS for flags:
--dry-run: Show candidates without deleting anythingpwdmcp__pinkrooster__get_project_status with projectPath set to the directory aboveprojectIdMake these calls in parallel to get all items across all states:
mcp__pinkrooster__get_issue_overview with projectId (no filter — all states)mcp__pinkrooster__get_feature_requests with projectId (no filter — all states)mcp__pinkrooster__get_work_packages with projectId (no filter — all states)Scan all items and categorize cleanup candidates by reason:
Cancelled stateCancelled stateRejected statusDeferred status older than 30 daysReplaced stateReplaced stateImplementing for >14 days with no updates
(call mcp__pinkrooster__get_work_package_details to check task timestamps)Implementing state with no linked WP and no updates for >14 days## Housekeeping Candidates — {projectId}
**Scanned**: {issueCount} issues, {frCount} FRs, {wpCount} WPs
**Candidates found**: {candidateCount}
| # | ID | Name | Type | State/Status | Reason |
|---|-----|------|------|-------------|--------|
| 1 | {id} | {name} | Issue/FR/WP | {state} | {reason} |
| 2 | {id} | {name} | Issue/FR/WP | {state} | {reason} |
| ... |
### Warnings
- Deleting a WP also deletes all its phases and tasks
- Deleting an Issue/FR clears links from associated WPs (WPs are NOT deleted)
If no candidates found: "No housekeeping candidates found. Project board is clean."
If --dry-run:
"Dry run complete. {candidateCount} items would be eligible for removal. Run without --dry-run to proceed."
Otherwise: Use AskUserQuestion:
[{label: "#1 {id}", description: "{name} ({type}, {state}) — {reason}"}, ..., {label: "All ({N})", description: "Delete all {N} candidates"}, {label: "None", description: "Cancel — keep all items"}]If more than 4 candidates, batch the options:
For each selected item, call mcp__pinkrooster__delete_entity with:
entityType: Issue, FeatureRequest, or WorkPackageentityId: the item's composite ID (e.g., proj-1-issue-3, proj-1-fr-2, proj-1-wp-1)Collect results (success/failure) for each deletion.
## Housekeeping Complete — {projectId}
### Deleted {count} items
| # | ID | Name | Type | Result |
|---|-----|------|------|--------|
| 1 | {id} | {name} | Issue/FR/WP | Deleted |
| ... |
### Project After Housekeeping
- Issues: {newCount} (was {oldCount})
- Feature Requests: {newCount} (was {oldCount})
- Work Packages: {newCount} (was {oldCount})
### Next Steps
- View project status: `/pm-status`
- Triage remaining items: `/pm-triage`
- Clean up codebase debt: `/pm-cleanup`
- Start next work item: `/pm-next`
If "None" was selected: "No items deleted. All candidates remain for future review."
--dry-run shows candidates without prompting for deletiontools
Verify acceptance criteria for a phase or entire work package. Runs verification based on each criterion's method (AutomatedTest, Manual, AgentReview) and records results via the MCP tool.
development
Diagnose the root cause of a bug, error, crash, or unexpected behavior. Traces through code, logs, services, database state, and git history to find why something is broken. Researches error messages online for known issues. Produces a diagnosis with evidence and suggested fix. Use when the user reports a problem, error message, stack trace, test failure, or says things like "why is this happening", "this is broken", "I'm getting an error", "something's wrong with...", "debug this", or "figure out why...".
development
Review and prioritize open issues and feature requests. Analyzes severity, age, and codebase impact to recommend priority adjustments and next steps.
tools
Show project status dashboard with issue/FR/WP counts, active items, blocked items, and priority next actions. Use when the user asks about project status, progress, what's happening, what needs attention, or what to work on.