Feature Research Skill
You are conducting in-depth feature research. Your goal is to produce a comprehensive research document that will serve as the foundation for implementation planning.
Input
The user has provided the following feature request or research context:
$ARGUMENTS
Research Process
Step 1: Extract and Identify Resources
First, identify all resources provided:
- •Jira Issues: Look for URLs like
https://*.atlassian.net/browse/*or issue keys likePROJ-123 - •Confluence Pages: Look for URLs like
https://*.atlassian.net/wiki/* - •Feature Description: Any plain text describing the feature
Step 2: Gather Information from Atlassian (if links provided)
If Jira or Confluence links are present, use the Atlassian MCP tools to gather comprehensive information:
For Jira Issues:
- •Use
mcp__plugin_atlassian_atlassian__getJiraIssueto fetch issue details - •Use
mcp__plugin_atlassian_atlassian__getJiraIssueRemoteIssueLinksto find linked Confluence pages - •Look at linked issues, subtasks, and epic relationships
- •Review comments for additional context and decisions
For Confluence Pages:
- •Use
mcp__plugin_atlassian_atlassian__getConfluencePageto fetch page content - •Use
mcp__plugin_atlassian_atlassian__getConfluencePageDescendantsfor child pages - •Check for linked requirements, design docs, or technical specifications
For Discovery:
- •Use
mcp__plugin_atlassian_atlassian__searchto find related documentation - •Search for related issues, decisions, and historical context
Step 3: Analyze the Codebase
Study the existing codebase to understand:
- •Current architecture and patterns in use
- •Existing implementations of similar features
- •Code areas that will likely need modification
- •Dependencies and integrations that may be affected
Use the Explore agent or direct file searches to:
- •Find relevant source files
- •Understand existing patterns and conventions
- •Identify integration points
- •Map the code structure related to this feature
Step 4: Research Technologies
For any technologies critical to the feature:
- •Use WebSearch to gather current documentation and best practices
- •Use Context7 MCP tools to fetch library documentation if applicable
- •Summarize key concepts the team needs to understand
Output Document Structure
Ask the user where to save the research document if no path was specified in the arguments. Suggest a reasonable default like docs/research/<feature-name>-research.md or similar based on the project structure.
Create a comprehensive markdown document with the following structure:
# Feature Research: [Feature Name] **Research Date:** [Date] **Source Issues:** [List of Jira issues researched] **Source Documents:** [List of Confluence pages researched] --- ## Executive Summary [2-3 paragraph summary of the feature, its purpose, and key findings] --- ## 1. Feature Overview ### 1.1 Goals and Objectives [What the feature aims to accomplish] ### 1.2 User Stories / Requirements [Key requirements extracted from Jira/Confluence] ### 1.3 Acceptance Criteria [Specific criteria that define "done"] ### 1.4 Delivery Requirements [Timeline, milestones, dependencies on other work] --- ## 2. Technical Context ### 2.1 Technologies Involved [List of technologies, frameworks, protocols this feature requires] ### 2.2 Architecture Considerations [How this fits into the existing system architecture] ### 2.3 Integration Points [External systems, APIs, or services this will interact with] --- ## 3. Technology Primers [For each critical technology, provide a concise primer] ### 3.1 [Technology Name] **What it is:** [Brief description] **Key Concepts:** - [Concept 1] - [Concept 2] **Relevant Features for This Implementation:** - [Feature 1 and why it matters] - [Feature 2 and why it matters] **Resources:** - [Link to official documentation] - [Link to relevant guides] [Repeat for each critical technology] --- ## 4. Codebase Impact Analysis ### 4.1 Files Requiring Modification | File Path | Change Type | Description | |-----------|-------------|-------------| | `path/to/file.go` | Modify | [What needs to change] | | `path/to/new.go` | Create | [New file purpose] | ### 4.2 Functions/Components Affected - `package.FunctionName()` - [Why/how it needs to change] - `ComponentName` - [What modifications are needed] ### 4.3 Database/Schema Changes [If applicable, describe any data model changes] ### 4.4 API Changes [If applicable, describe any API additions or modifications] ### 4.5 Testing Considerations [What types of tests will be needed] --- ## 5. Gaps and Open Questions ### 5.1 Missing Information | # | Gap | Impact | Suggested Resolution | |---|-----|--------|---------------------| | 1 | [What's missing] | [Why it matters] | [Who to ask or where to look] | ### 5.2 Open Questions 1. **[Question]** - Context: [Why this question matters] - Suggested owner: [Who might know] 2. **[Question]** - Context: [Why this question matters] - Suggested owner: [Who might know] ### 5.3 Assumptions Made [List any assumptions made during research that should be validated] --- ## 6. Recommendations ### 6.1 Implementation Approach [High-level recommended approach] ### 6.2 Risk Areas [Potential challenges or areas of concern] ### 6.3 Suggested Next Steps 1. [Step 1] 2. [Step 2] 3. [Step 3] --- ## Appendix ### A. Raw Notes [Any additional notes or context gathered during research] ### B. Related Links [All URLs referenced during research]
Important Guidelines
- •Be thorough but concise - Include all relevant information without unnecessary verbosity
- •Cite sources - Always reference where information came from (Jira issue, Confluence page, code file)
- •Flag uncertainty - Clearly mark any assumptions or areas where information was incomplete
- •Be actionable - The document should enable someone to start planning implementation
- •Ask for clarification - If critical information is missing and can't be found, ask the user
Handling Missing Output Path
If no output path is specified in the arguments, ask the user:
"I've completed the feature research. Where would you like me to save the research document?
Suggested locations based on this project:
- •
docs/research/[feature-name]-research.md - •
[feature-name]-research.md(current directory)
Please provide the desired path or select one of the suggestions."