sova-research
Skill3 starsChanged 6 days agoApache-2.0View on GitHub
Investigate a task and produce a structured research assessment for autonomous development.
In this repository44 other files it gives its agents.
- AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- templates/CLAUDE.mdCLAUDE.md
- dashboard-designSkill
- database-patternsSkill
- design-systemSkill
- design-tasteSkill
- issue-templateSkill
- sova-address-prSkill
- sova-after-mergeSkill
- sova-agent-readinessSkill
- sova-audit-instructionsSkill
- sova-debugSkill
- sova-develop-explainSkill
- sova-develop-fullSkill
- sova-developSkill
- sova-extract-knowledgeSkill
- sova-find-taskSkill
- sova-health-auditSkill
- sova-ingest-reviewSkill
- sova-integrate-prSkill
- sova-issueSkill
- sova-new-featureSkill
- sova-optimize-knowledgeSkill
- sova-prSkill
- sova-rearrange-commitsSkill
- sova-review-fullSkill
- sova-review-prSkill
- sova-reviewSkill
- sova-simplifySkill
- sova-specSkill
- sova-standupSkill
- sova-statusSkill
- sova-testSkill
- sova-update-docsSkill
- testing-patternsSkill
- visual-auditSkill
- dashboard-designSkill
- database-patternsSkill
- design-tasteSkill
- issue-templateSkill
- testing-patternsSkill
- visual-auditSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 8 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
If the issue has no description or body, report "Issue has no description.
- Very specific: line 34
If the issue body already contains a ## Research section, report "Issue already has a research section.
- Distinctive: line 38
Read whatever exists; skip files that are missing:
- Distinctive: line 127
Write the updated body back to the tracker.
- Distinctive: line 147
After writing, verify the research was saved to the description (not as a comment).
- Very specific: line 162
After research: Run the sova-develop skill or the sova-develop-full skill with the issue number to implement
- Very specific: line 163
Interactive alternative: Use the sova-spec skill with the issue number for human-in-the-loop planning
- Distinctive: line 168
Do NOT create branches or modify project files
- Distinctive: line 169
Always write research back to the tracker: this is autonomous, not interactive
- Distinctive: line 171
If the issue lacks enough detail, report "needs specification" and stop rather than guessing
- Distinctive: line 172
NEVER use emojis in any output
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Research
Investigate a task's codebase impact and produce a structured research assessment. Designed for autonomous execution: always writes findings back to the tracker. For interactive pre-development planning, use the sova-spec skill instead.
Task: the arguments provided when this skill is invoked
Instructions
Step 1: Fetch the Task
Get the issue number or ticket key from the arguments provided when this skill is invoked. If empty, stop with an error.
Determine the task source by running sova config and reading the task_source row (configuration lives in .claude/sova.db, not in a file).
GitHub (the default):
gh issue view <arguments> --json number,title,body,labels,milestoneJIRA (task_source.type = "jira"):
jira issue view <arguments> --plainSave the original description verbatim.
If the issue has no description or body, report "Issue has no description; needs specification before research" and stop.
If the issue body already contains a ## Research section, report "Issue already has a research section; ready for development" and stop.
Step 2: Read Project Context
Read whatever exists; skip files that are missing:
CLAUDE.mdandAGENTS.mdfor project conventions.claude/rules/architecture.mdfor component overview and design decisions- The cookbook for known patterns and past mistakes: the
README.mdindex of.claude/agent-memory/cookbook/plus the domain files relevant to this task when that directory exists, otherwise.claude/agent-memory/cookbook.md; also.claude/agent-memory/common-mistakes.mdif present
Step 3: Explore the Codebase
Based on the issue, investigate the affected areas. Use file reads, grep, and search; do not guess from file names alone.
- Identify affected files: find every file that needs to be modified, created, or deleted. Read the actual source to confirm.
- Find the pattern: locate the closest existing implementation to follow. Note specific file paths, class names, and method signatures.
- Check for data model changes: determine if DB models, schemas, or migrations are needed.
- Check for API changes: identify new or modified endpoints with request/response shapes.
- Find reusable code: identify utilities, base classes, test fixtures, and patterns that the implementation should use. Reference specific functions and classes.
- Anticipate edge cases: based on reading the actual code, identify failure modes and edge cases not obvious from the issue description.
- Check for UI implications: templates, components, user-facing behavior changes.
- Design implementation approach: produce a concrete 3-6 step plan referencing specific files.
Be thorough and concrete. Reference actual file paths, function names, and line numbers from your exploration.
Step 4: Estimate Complexity
Based on your findings, rate complexity:
- trivial: single file, <20 lines
- simple: 1-2 files, <50 lines
- moderate: 3-6 files, 50-200 lines
- complex: 7+ files or >200 lines
- epic: cross-cutting, multiple subsystems
Step 5: Write Research Back to Tracker
Append the research assessment to the issue/ticket body. Format:
## Research
**Issue**: {title}
**Complexity**: {complexity rating}
{One paragraph summary of findings and recommended approach}
### Affected Files
- `path/to/file.py` (modify): What needs to change and why
- `path/to/new_file.py` (create): Purpose of the new file
### Pattern Reference
Follow the implementation in `path/to/reference.py` (class/method name).
Similar work was done in {ticket/PR reference if found}.
### Data Model Changes
{Description of schema/model changes, or "None required."}
### API Changes
{Description of endpoint changes, or "None required."}
### Dependencies
- `path/to/utility.py`: FunctionName, how to reuse it
- `path/to/base_class.py`: ClassName, extend for this implementation
### Edge Cases
- Edge case 1
- Edge case 2
### Suggested Approach
1. Step one: what and where
2. Step two: what and where
3. Step three: what and where
### UI Notes
{UI implications, or omit this section if none.}
### Unresolved Questions
Items that genuinely require human judgment: business rules, scope boundaries, UX \
preferences, or external system behavior that cannot be determined from the codebase. \
Do NOT include questions answerable by reading existing code, conventions, or patterns. \
If no such questions exist, omit this section.
- Question 1: context for why this cannot be determined from codeWrite the updated body back to the tracker. You MUST append the research to the issue description/body, NOT as a comment. Use file-based input for reliability with long content:
GitHub:
BODY=$(mktemp)
cat > "$BODY" <<'ISSUE_BODY'
<original body + research section>
ISSUE_BODY
gh issue edit <arguments> --body-file "$BODY"JIRA (requires jira-cli by ankitpokhrel):
BODY=$(mktemp)
cat > "$BODY" <<'ISSUE_BODY'
<original body + research section>
ISSUE_BODY
jira issue edit <arguments> --no-input < "$BODY"After writing, verify the research was saved to the description (not as a comment). If verification fails, retry the body edit.
Step 6: Report
Output a brief summary of what was found:
Research completed for #{number}: {title}
Complexity: {rating}
Affected files: {count}
Ready for development.Cross-References
- Before research: Issue should be triaged (has labels, is in TRIAGED state)
- After research: Run the
sova-developskill or thesova-develop-fullskill with the issue number to implement - Interactive alternative: Use the
sova-specskill with the issue number for human-in-the-loop planning
Rules
- This command investigates only. Do NOT write any implementation code
- Do NOT create branches or modify project files
- Always write research back to the tracker: this is autonomous, not interactive
- Ground every recommendation in actual code found during Step 3
- If the issue lacks enough detail, report "needs specification" and stop rather than guessing
- NEVER use emojis in any output
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

