.claude/skills/pm-refine-fr/SKILL.md
Refine a feature request by analyzing its current state, rewriting the description with full detail, filling in missing fields (business value, acceptance summary, category, priority), and adding structured user stories.
npx skillsauth add pinkroosterai/PinkRoosterMcp pm-refine-frInstall 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.
Analyze an existing feature request, rewrite it with comprehensive detail, fill in gaps, and add user stories.
pwdmcp__pinkrooster__get_project_status with projectPath set to the directory aboveprojectIdCall mcp__pinkrooster__get_feature_request_details with the FR ID from $ARGUMENTS.
If no ID is provided, call mcp__pinkrooster__get_feature_requests with projectId and stateFilter: "Inactive" to list candidates, then use the AskUserQuestion tool to let the user pick:
[{label: "{frId}", description: "\"{name}\" ({status}, {priority})"}, ...]Record the current state of all fields:
To write a well-informed FR, understand the project context:
get_symbols_overview or list_dir to understand the relevant areas of the codebase mentioned in the FR descriptionmcp__pinkrooster__get_feature_requests to understand the level of detail expected and avoid overlapThis step is proportional to the FR's scope — a small enhancement needs less exploration than a new major feature.
Call mcp__pinkrooster__create_or_update_feature_request with projectId, featureRequestId, and improved fields:
{feature-name}: {brief qualifier} (e.g., "pm-explore: AI-Driven Feature Discovery Skill")Expand the description into a comprehensive specification:
Keep the original author's intent — refine and expand, don't reimagine.
If missing or weak, derive from the description:
If missing, write 5-8 concrete, testable acceptance criteria numbered as a list.
If missing or generic, classify:
Feature — entirely new capabilityEnhancement — extends existing functionalityImprovement — makes existing functionality better without adding new capabilitiesIf missing, infer from business value and scope. Don't change existing priority without flagging it.
Analyze the refined description to identify distinct user roles and capabilities, then add user stories via mcp__pinkrooster__manage_user_stories with action: "Add".
Guidelines for user stories:
goal should describe observable behavior, not internal implementationbenefit should explain the "so what?" — why does the user care?Common role patterns:
If user stories already exist, review them:
action: "Update" with the index to improve themaction: "Remove" with the indexShow the user what changed:
## Refined: {frId} "{new name}"
### Fields Updated
| Field | Before | After |
|-------|--------|-------|
| Name | {old} | {new} |
| Description | {length}ch → {length}ch | Expanded |
| Business Value | {empty/existed} | {set/updated} |
| Acceptance Summary | {empty/existed} | {set/updated} |
| Category | {old} | {new or unchanged} |
| Priority | {old} | {new or unchanged} |
### User Stories ({count})
| # | Role | Goal | Benefit |
|---|------|------|---------|
| 1 | {role} | {goal} | {benefit} |
| ... | | | |
### Next Steps
- Scaffold a work package: `/pm-scaffold {frId}`
- View project status: `/pm-status`
- Triage and prioritize: `/pm-triage`
status — refinement is about content, not workflow statetools
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.