Our review
This skill extracts the core intent and actionability from issues and pull requests, going beyond surface-level requests to identify underlying needs, severity, emotional tone, and relationship mapping.
Strengths
- Comprehensive multi-dimensional analysis (type, severity, sentiment, actionability).
- Includes PR analysis for extracting the problem and implementation guidance.
- Relationship mapping for detecting duplicates and dependencies.
Limitations
- Heuristic-based; may misclassify nuanced cases.
- Requires quality issue/PR descriptions; vague inputs reduce accuracy.
- Sentiment analysis relies on basic lexicon; fails on sarcasm or non-English repos.
When triaging a large volume of issues/PRs to quickly prioritize and understand user needs.
When deep contextual understanding of a single complex issue is needed; human empathy is irreplaceable.
Security analysis
SafeThe skill is purely descriptive and contains no executable commands, no destructive actions, no exfiltration attempts, and no obfuscated payloads. It merely provides analysis instructions.
No concerns found
Examples
Analyze this issue: 'Can't login after update v2.3.1 - I keep getting error 500 when submitting credentials. Works fine in previous version.' Extract type, underlying need, severity, sentiment, actionability, and recommend next step.Extract intent from this PR: 'Add dark mode' - description says 'Would be nice to have a dark theme for late night coding. Implemented by adding CSS variables.' Identify the problem being solved, assess approach, and extract implementation guidance.Find relationships between these two issues:
Issue #1: 'App crashes on startup after update'
Issue #2: 'Getting startup failure, version 3.0'
Are they duplicates? What is the underlying need?Intent Extraction
At a glance
- Purpose: Convert raw issues/PRs into “what the user actually needs” + actionability.
- Use when: Analyzing items, mapping duplicates/relationships, or writing briefs.
- Output: Intent, severity, sentiment, actionability, relationships, and the minimal next step.
Purpose
Surface the real need behind issues and PRs, not just the stated request. Semantic keyword lists (intent, needs-info cues) are config-driven and can be derived from repo templates.
Issue Intent Extraction
Step 1: Classify Type
| Type | Signals | |------|---------| | Bug | "doesn't work", "error", "crash", "broken", stack traces | | Feature | "would be nice", "could you add", "support for", "feature request" | | Question | "how do I", "is it possible", "what does", question marks | | Support | Configuration help, usage questions, troubleshooting | | Meta | Project governance, contributing, community |
Step 2: Extract Underlying Need
Ask: "What is the user actually trying to accomplish?"
Example:
- Stated: "Add --verbose flag to install command"
- Underlying need: User can't debug why installation fails
- Better solution might be: Better error messages, not a flag
Step 3: Assess Severity
| Level | Criteria | |-------|----------| | Critical | Security vulnerability, data loss, complete breakage | | High | Major functionality broken, no workaround | | Medium | Functionality impaired, workaround exists | | Low | Minor inconvenience, cosmetic, edge case |
Step 4: Gauge Emotional State
| Tone | Signals | Response Adjustment | |------|---------|---------------------| | Frustrated | "still broken", "why hasn't", urgency | Acknowledge, prioritize response | | Enthusiastic | "love this", "excited to", "great project" | Match energy, encourage | | Neutral | Factual reporting | Standard professional tone | | Confused | "I don't understand", "not sure if" | Patient, educational |
Sentiment scoring uses a small lexicon by default; adjust the config for non-English repos as needed.
Step 5: Check Actionability
- Actionable: Clear reproduction steps, specific request, enough context
- Needs info: Missing environment, vague description, can't reproduce
- Blocked: Depends on external factor, needs design decision
PR Intent Extraction
PRs are intelligence sources, not merge candidates. Your job is to extract the problem, understand the approach, and implement the fix yourself.
Step 1: Identify the Problem Being Solved
Read:
- PR title and description
- Linked issues (if any)
- Commit messages
- The actual code changes
Ask: "What problem does this solve? Why did the contributor think this was worth doing?"
Step 2: Assess the Approach
| Aspect | Questions | |--------|-----------| | Correctness | Does it actually solve the problem? | | Completeness | Are edge cases handled? Tests included? | | Fit | Does the approach match project patterns? | | Scope | Is it focused or does it include unrelated changes? |
Step 3: Extract Implementation Guidance
PRs tell you exactly how to fix the problem. Extract:
- Root cause: What did the contributor identify as the problem?
- Solution approach: What's the core fix? (e.g., use
path.sepinstead of/) - Edge cases: What did they handle that you might miss?
- Test cases: What scenarios did they consider?
Use this to implement your own fix. The PR is your requirements document and reference implementation.
Step 4: Assess Contributor Context
| Factor | How to Determine | Impact | |--------|------------------|--------| | First-time? | Check if first contribution to repo | Warmer welcome, more patience | | Experienced? | Previous accepted PRs | Can be more direct | | Maintainer? | Has write access | Different review bar | | Drive-by? | No previous engagement | May not respond to feedback |
Relationship Mapping
Automated Detection (in triage.ts)
The script detects:
- Explicit mentions: "Fixes #42", "Related to #30"
- Number references: "#42" in body/comments
Manual Enrichment
During analysis, also identify:
- Duplicates: Same underlying issue, different reporters
- Root cause: Multiple symptoms of one problem
- Dependency: Item A must be resolved before B
- Conflict: PRs that can't both be used as the basis for implementation
- Quality: Whether a PR actually solves the linked issue (strong/medium/weak)
Recording Relationships
In item markdown:
## Relationships
- Duplicate of [ISSUE:28] (same root cause)
- Addressed by [PR:38], [PR:40] (competing fixes)
- Blocks [ISSUE:50] (depends on this fix)
Common Patterns
The "Same Bug, Many Reports" Pattern
Multiple issues report the same underlying problem. Signs:
- Similar error messages
- Same affected functionality
- Clustering in time
Action: Identify the canonical issue, close duplicates with references.
The "Competing PRs" Pattern
Multiple PRs solve the same problem differently.
Action: Evaluate each on merit, pick the best, close others with thanks.
The "Feature Creep PR" Pattern
PR starts solving one thing, grows to include unrelated changes.
Action: Request scope reduction or split into multiple PRs.
The "XY Problem" Pattern
User asks for X (their attempted solution) when they really need Y.
Action: Identify Y, address the actual need.
Opportunity Extraction
During analysis, look for improvements not explicitly requested:
- Documentation gaps revealed by questions
- UX friction implied by repeated confusion
- Reliability gaps implied by flaky or brittle fixes
Record these as opportunity notes and convert high‑impact items into briefs.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.