This skill should be used when the user asks to "prioritize requirements", "prioritize epics", "prioritize stories", "prioritize tasks", "prioritize backlog", "use MoSCoW", "apply MoSCoW priorities", "assign priorities", "set priority labels", "rank features", "what should I build first", "what's most important", "order by importance", "must have vs should have", or when they need to determine the priority order of epics, user stories, or tasks using the MoSCoW framework.
From requirements-expertnpx claudepluginhub sjnims/requirements-expert --plugin requirements-expertThis skill uses the workspace's default tool permissions.
examples/example-prioritization-session.mdexamples/example-prioritized-backlog.mdreferences/best-practices.mdreferences/moscow-framework.mdreferences/moscow-worksheet.mdreferences/prioritization-examples.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Reviews prose for communication issues impeding comprehension, outputs minimal fixes in a three-column table per Microsoft Writing Style Guide. Useful for 'review prose' or 'improve prose' requests.
| User Intent | Action | Resource |
|---|---|---|
| Gathering context | Define scope and constraints | Step 1: Define Context |
| Classifying priorities | Apply MoSCoW decision tree | MoSCoW Framework section |
| Validating balance | Check distribution rules | Step 4: Validate and Balance |
| Updating GitHub | Apply priority fields and labels | Step 6: Update GitHub Projects |
| Step-by-step workflow | Load complete worksheet | references/moscow-worksheet.md |
| Viewing examples | Load prioritization session | examples/example-prioritization-session.md |
The /re:prioritize command applies MoSCoW priorities to requirements in GitHub Projects. This skill provides the MoSCoW framework, decision criteria, and prioritization worksheets that the command uses. Load this skill for deeper understanding of prioritization concepts or when you need guidance beyond what the command provides.
Prioritization is the process of determining the relative importance and sequence of requirements at any level—epics, user stories, or tasks. Using the MoSCoW framework (Must Have, Should Have, Could Have, Won't Have), teams can make informed decisions about what to build first, ensuring maximum value delivery within constraints.
Effective prioritization:
Items must exist before prioritizing. If none exist, use epic-identification, user-story-creation, or task-breakdown as appropriate.
Categorize requirements into four priority levels. For detailed definitions, characteristics, and examples, see references/moscow-framework.md.
| Category | Definition | Target % |
|---|---|---|
| Must Have | Critical for success; product fails without these | <60% |
| Should Have | Important but deferrable; significantly enhances value | ~20% |
| Could Have | Nice-to-have; marginal value, include if time permits | ~20% |
| Won't Have | Explicitly excluded from current scope | Variable |
Apply these questions in order for each item:
Is this legally, contractually, or safety-required?
Would the product be fundamentally broken or fail to deliver core value without this?
Does this significantly improve value but have a viable workaround?
Is this a nice-to-have enhancement with marginal impact?
Is this explicitly out of scope for this release?
Establish the scope and constraints using AskUserQuestion to gather:
Scope:
Boundaries:
For detailed context collection workflow, see references/moscow-worksheet.md.
First, retrieve items from GitHub Projects:
gh project item-list [project-number] --owner [owner] --format json
For each item, evaluate against these criteria:
| Criterion | Assessment Factors |
|---|---|
| User Value | UX improvement, user count affected, frequency of use |
| Business Value | Revenue impact, strategic importance, competitive advantage |
| Risk | Technical complexity, unknowns, third-party dependencies |
| Effort | Time required, resource needs, ROI |
| Dependencies | Prerequisites, blockers, external dependencies |
Rate each factor as High/Medium/Low. See references/moscow-worksheet.md for detailed assessment workflow.
Use AskUserQuestion to capture priority decisions for each item. Present MoSCoW options with clear descriptions:
Classification Order:
Use the classification criteria from each MoSCoW category above to guide decisions.
Review the prioritization against these validation rules:
Distribution Check:
MVP Viability Check:
If validation fails, use AskUserQuestion to present adjustment options. See references/moscow-worksheet.md for detailed validation workflow.
Within each MoSCoW category, establish order:
Sequencing Factors:
Common Strategies:
Persist prioritization decisions using GitHub CLI:
Retrieve Field ID First:
Before updating fields, retrieve the Priority field ID:
gh project field-list [project-number] --owner [owner] --format json | jq '.fields[] | select(.name=="Priority") | .id'
Update Priority Custom Field:
Use the retrieved field ID to update items:
gh project item-edit --id [item-id] --field-id [priority-field-id] --value "[priority]"
Apply Priority Labels:
gh issue edit [issue-number] --repo [owner/repo] --add-label "priority:must-have"
Add Rationale Comments (for Must Haves and Won't Haves):
gh issue comment [issue-number] --repo [owner/repo] --body "Priority: [level]\n\nRationale: [explanation]"
See references/moscow-worksheet.md for the complete GitHub update workflow.
Apply MoSCoW at each level of the requirements hierarchy:
| Level | Focus | Key Consideration |
|---|---|---|
| Epics | Major capabilities | Foundation vs. enhancement, strategic alignment |
| Stories | Features within epic | Happy path first, core before polish |
| Tasks | Implementation steps | Technical dependencies, vertical slices |
For detailed examples and level-specific patterns, see references/prioritization-examples.md.
Key practices for effective prioritization:
For detailed guidance on each practice, see references/best-practices.md.
Watch for these prioritization anti-patterns:
| Pitfall | Problem | Solution |
|---|---|---|
| Everything is "Must Have" | If everything is critical, nothing is | Apply strict criteria; target <60% Must Have |
| Ignoring Dependencies | High-priority items blocked by low-priority | Map dependencies; prioritize prerequisites |
| Forgetting "Won't Have" | Scope creep when exclusions are implicit | Explicitly document what's out of scope |
| Loudest Voice Wins | Decisions based on volume, not value | Use objective criteria and data |
| Never Re-Prioritizing | Priorities become stale as context changes | Review and adjust priorities regularly |
For detailed mitigation strategies, see references/best-practices.md.
Load references as needed:
| Reference | When to Load | Path |
|---|---|---|
| moscow-framework.md | Detailed MoSCoW definitions, characteristics, examples, and classification criteria | references/moscow-framework.md |
| moscow-worksheet.md | Executing a multi-phase prioritization session or needing step-by-step workflow guidance | references/moscow-worksheet.md |
| best-practices.md | Reviewing prioritization decisions, resolving disputes, or validating distribution balance | references/best-practices.md |
| prioritization-examples.md | Level-specific examples for epics, stories, or tasks | references/prioritization-examples.md |
Working examples that can be copied and adapted:
| Example | Use Case | Path |
|---|---|---|
| example-prioritized-backlog.md | Viewing backlog structure, rationale documentation, or GitHub integration format | examples/example-prioritized-backlog.md |
| example-prioritization-session.md | Facilitating stakeholder sessions or trade-off discussions | examples/example-prioritization-session.md |
When to Prioritize:
Updating GitHub Projects:
Prioritization is an ongoing activity throughout the requirements lifecycle—use it to focus effort on what matters most and deliver maximum value incrementally.
Load these skills when prioritization reveals needs beyond this skill's scope:
| Prioritization Context | Load Skill | Routing Trigger |
|---|---|---|
| Epics need identification or refinement | epic-identification | User needs to create or adjust epic scope |
| Stories need creation or refinement | user-story-creation | User needs to create or adjust user stories |
| Tasks need breakdown or refinement | task-breakdown | User needs to create or adjust tasks |
| Priorities need validation with stakeholders | requirements-feedback | User needs to gather feedback on priority decisions |