Automated summary
Conducts thorough research on requirements and codebase before implementation, producing a research document with confidence scoring.
Strengths
- Systematic process for gathering requirements from Jira and Confluence.
- Parallel codebase exploration for efficiency.
- Identifies gaps and ambiguities, prompting clarification.
- Produces structured research document with confidence scoring.
Limitations
- Relies on availability of Jira and Confluence APIs (MCP tools).
- Requires clear user input for question resolution; may stall without answers.
- Confidence scoring may be subjective without rigorous metrics.
Use when starting a new feature or story to ensure full understanding before coding.
Use when requirements are already crystal clear and well-documented, or when doing a simple bug fix with no ambiguity.
Security analysis
SafeThe skill only instructs the agent to gather information from sources and produce a research document. No destructive commands, data exfiltration, or execution of arbitrary code is involved. It poses no security risk.
No concerns found
How this analysis is madeExamples
Research Jira ticket FEAT-123: add user profile editing. Gather requirements from Jira and explore the codebase for affected components.I need to assess the feasibility of adding a dark mode to the app. Use the research skill to check existing UI patterns, dependencies, and complexity.Research the current authentication flow. Find all related files, state management, and API calls. Identify any known issues.name: research description: Use when needing to understand requirements before implementation. Gathers context from Jira, Confluence, codebase, and docs. Produces research document with confidence scoring.
Research Skill
Conducts thorough research on requirements and codebase before implementation.
When to Use
Use this skill when:
- Need to understand a Jira ticket before planning
- Exploring feasibility of a feature
- Gathering context about existing code patterns
- Assessing complexity of a task
Agent Compatibility
- AskUserQuestion: use the tool in Claude Code; in Codex CLI, ask the user directly and record the answer.
- Subagents/Task tool: use if available; otherwise run the searches yourself (parallel if possible).
- OUTPUT_DIR:
.claude/outputfor Claude Code,.codex/outputfor Codex CLI.
Instructions
Phase 1: Input Gathering
From Jira:
Use mcp__atlassian__getJiraIssue to extract:
- Summary (title)
- Description (requirements)
- Acceptance Criteria
- Linked Confluence pages
From Codebase (Using Parallel Exploration):
Use subagents (Task tool) if available; otherwise run the following searches yourself (parallel if possible):
Agent 1 (quick thoroughness):
"Search for similar features/patterns matching {feature keywords}"
Agent 2 (medium thoroughness):
"Find all files that might be affected by {feature}, including
dependencies and related components"
Agent 3 (thorough - optional for complex features):
"Understand the existing architecture for {related domain},
including data flow and state management patterns"
After agents complete:
1. Synthesize findings from all agents
2. Read AGENTS.md for project conventions
3. Identify existing components to reuse
Phase 2: Requirement Analysis
For each requirement, identify:
- Type: functional/non-functional/constraint
- Priority: must-have/should-have/nice-to-have
- Complexity: low/medium/high
- Affected layers: presentation/application/domain/data
- Dependencies
- Risks
Phase 3: Codebase Mapping
Map requirements to existing code:
- Similar features to reference
- Reusable components (widgets, services)
- API endpoints (existing vs new needed)
- State management patterns
Phase 4: Gap Analysis
Identify:
- New code needed (screens, controllers, models, services)
- API gaps
- Missing information / unclear requirements
- Technical unknowns
Phase 4.5: MANDATORY Clarification Gate
CRITICAL: This phase is BLOCKING. Do not proceed to Phase 5 until all questions are answered.
When ANY of these are identified in Phase 4:
- Missing information
- Unclear requirements
- Edge cases without explicit behavior
- Technical unknowns
- Multiple valid interpretations
R-Checkpoints (Research Questions)
R1: Requirement Ambiguity When a requirement has multiple interpretations:
AskUserQuestion(
questions: [
{
question: "Requirement '{X}' could mean '{A}' or '{B}'. Which interpretation is correct?",
header: "Requirement",
options: [
{ label: "Interpretation A", description: "{details of A}" },
{ label: "Interpretation B", description: "{details of B}" },
{ label: "Neither", description: "Let me explain..." }
],
multiSelect: false
}
]
)
R2: Missing Information When the PRD/Jira doesn't specify something needed:
AskUserQuestion(
questions: [
{
question: "The PRD doesn't specify '{X}'. What should the behavior be?",
header: "Missing Spec",
options: [
{ label: "Option A", description: "{behavior A}" },
{ label: "Option B", description: "{behavior B}" },
{ label: "Skip for now", description: "Mark as open question for stakeholder" }
],
multiSelect: false
}
]
)
R3: Technical Unknowns When technical feasibility or approach is uncertain:
AskUserQuestion(
questions: [
{
question: "Implementing '{X}' requires choosing between '{A}' and '{B}'. Which approach?",
header: "Technical",
options: [
{ label: "Approach A", description: "Pros: X, Cons: Y" },
{ label: "Approach B", description: "Pros: Y, Cons: Z" },
{ label: "Need more research", description: "Defer decision, gather more info" }
],
multiSelect: false
}
]
)
Rules:
- NEVER assume behavior - ASK
- NEVER write "Recommendation: X" without asking first
- NEVER mark "Open Questions" without immediately asking them
- Document user's answer in research output
- Each R-checkpoint MUST be resolved before Phase 5
Research Phase Complete Criteria:
□ All R1 checkpoints resolved (no ambiguous requirements)
□ All R2 checkpoints resolved (no missing info without explicit skip)
□ All R3 checkpoints resolved (technical approach decided)
Anti-Pattern:
## Open Questions
1. What should display when X?
- Recommendation: Show "–" ← WRONG! Should have asked user!
Correct Pattern:
## Clarified with User
1. What should display when X? [R2]
- User confirmed: Show "–" (via AskUserQuestion)
Phase 5: Confidence Scoring
Calculate confidence across dimensions:
| Dimension | Weight | Description | |-----------|--------|-------------| | Requirement Clarity | 25% | How clear are requirements? | | Codebase Understanding | 25% | Do I understand patterns? | | Technical Feasibility | 20% | Can this be implemented? | | Scope Definition | 15% | Are boundaries clear? | | Risk Identification | 15% | Are risks understood? |
Overall Confidence = Weighted Sum
Thresholds:
- ≥80%: High confidence, proceed
- 60-79%: Medium, clarify unknowns
- <60%: Low, request more info
Output
Create OUTPUT_DIR/research-{feature}.md with:
# Research: {Feature Name}
## Metadata
- Date: {date}
- Source: {Jira/Confluence/Prompt}
- Confidence Score: {X}%
## Requirements Summary
{Parsed requirements with IDs}
## Codebase Analysis
{Related code, patterns to follow, reusable components}
## Technical Analysis
{Architecture impact, new code required, API needs}
## Risk Assessment
{Risks with likelihood/impact/mitigation}
## Confidence Assessment
{Scores per dimension, blockers, questions}
## Recommendation
{PROCEED / CLARIFY / HALT}
Progress Tracking (MANDATORY when called from RPI)
If this skill is invoked as part of an RPI workflow, you MUST update progress:
On Research Start
~/.claude/skills/scripts/rpi-progress.sh --phase research --status in_progress --last "Starting research" --next "Complete research analysis"
On Research Complete (before audit)
~/.claude/skills/scripts/rpi-progress.sh --phase research --status complete --last "Research complete" --next "Research audit"
Progress Values
- Research started: 5%
- Research complete: 10%
- Research audit pass: 15%
Example
User: Research KB-1234 before we plan
Agent: [Fetches Jira, searches codebase, produces research doc]
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/requirement-research-mm78nntt/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/requirement-research-mm78nntt' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/requirement-research-mm78nntt/download' --output '.skill-downloads/requirement-research-mm78nntt/SKILL.md.part' && mv '.skill-downloads/requirement-research-mm78nntt/SKILL.md.part' '.skill-downloads/requirement-research-mm78nntt/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/requirement-research-mm78nntt/SKILL.md' && test -s '.skill-downloads/requirement-research-mm78nntt/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/research' && cp -R '.skill-downloads/requirement-research-mm78nntt' '.claude/skills/research'Codex
test -f '.skill-downloads/requirement-research-mm78nntt/SKILL.md' && test -s '.skill-downloads/requirement-research-mm78nntt/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/research' && cp -R '.skill-downloads/requirement-research-mm78nntt' '.agents/skills/research'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/requirement-research-mm78nntt'openskills read 'requirement-research-mm78nntt'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/requirement-research-mm78nntt/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.