research
Skill181 starsChanged 9 months agoMITView on GitHub
Conducts deep technical research for Aha Loop stories. Use before implementing stories involving unfamiliar libraries or architectural decisions. Triggers on: research this, investigate, explore options, compare alternatives.
189 other projects use a version of this.
Adopted by
Most recently taken up by
- dialog-db/dialog-dbtheir own version, first seen Nov 9, 2026
- howells/skillstheir own version, first seen Nov 8, 2026
- xiaoxiaosrm/dsh-mattpocock-skillstheir own version, first seen Nov 8, 2026
- Suge8/friedbuntheir own version, first seen Nov 8, 2026
- wowyuarm/dsh-agent-teamtheir own version, first seen Nov 8, 2026
- Contexera/dsh-agent-teamtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use daily-arxiv, exp-eval and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
LambenthanSkilldaily-arxiv
每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新
Also in 5 projects that use this
LambenthanSkillexp-eval
实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges
Also in 5 projects that use this
truongtv22SkillProblem-Solving Techniques
Apply systematic problem-solving techniques for complexity spirals (simplification cascades), innovation blocks (collision-zone thinking), recurring patterns (meta-pattern recognition), assumption constraints (inversion exercise), scale uncertainty (scale game), and dispatch when stuck. Techniques derived from Microsoft Amplifier project patterns adapted for immediate application.
Also in 5 projects that use this
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 43 projects that use this
skyllwtSkillexp-pilot-eval
Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.
Also in 4 projects that use this
skyllwtSkillexp-pilot-run
Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.
Also in 4 projects that use this
- +5 more from Lambenthan
- +1 more from skyllwt
Other versions189 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 189
- mattpocock/skills★ 309ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- udecode/plate★ 17ksame name
- openai/plugins★ 7.8ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- withcoral/coral★ 4.9ksame name
179 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architectSkill
- doc-reviewSkill
- god-consensusSkill
- god-interventionSkill
- god-memberSkill
- observabilitySkill
- parallel-exploreSkill
- plan-reviewSkill
- prd-converterSkill
- prdSkill
- roadmapSkill
- skill-creatorSkill
- vision-builderSkill
- visionSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 12 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 169 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
When running in workspace mode, all paths are relative to .aha-loop/ directory:
- Distinctive: line 25
Search documentation and best practices
- Distinctive: line 28
Update knowledge base with findings
- Very specific: line 37
Read the current story from prd.json and extract:
- Very specific: line 58
After fetching, the source will be at .vendor/<ecosystem>/<name>-<version>/
- Distinctive: line 66
When researching or recommending libraries, always check for and prefer the latest stable version unless there's a specific compatibility …
- Distinctive: line 88
Check GitHub issues for critical bugs
- Distinctive: line 98
Always document version decisions:
- Distinctive: line 114
Only use older versions when:
- Distinctive: line 148
Use semantic search to find relevant code sections
- Very specific: line 150
Look for examples/ directory for usage patterns
- Very specific: line 151
Check tests/ for edge cases and proper usage
- Very specific: line 162
Use MCP tools like context7 for up-to-date documentation.
- Distinctive: line 166
When multiple solutions exist, create a comparison:
- Distinctive: line 257
Add patterns specific to THIS project:
- Distinctive: line 264
Add reusable technical knowledge:
- Distinctive: line 284
When you read library source code, document your findings:
- Distinctive: line 330
Before marking research complete:
“Common” is measured: kept by at least 6 in 10 of the 169 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Deep Research Skill
Conduct thorough technical research before implementation to ensure high-quality, informed decisions.
Workspace Mode Note
When running in workspace mode, all paths are relative to .aha-loop/ directory:
- Research reports:
.aha-loop/research/(notscripts/aha-loop/research/) - Knowledge base:
.aha-loop/knowledge/(notknowledge/) - Vendor directory:
.aha-loop/.vendor/(not.vendor/)
The orchestrator will provide the actual paths in the prompt context.
The Job
- Identify research topics from the current story's
researchTopicsfield - Fetch third-party library source code if needed
- Search documentation and best practices
- Analyze and compare alternatives
- Generate a research report
- Update knowledge base with findings
- Mark
researchCompleted: truein prd.json
Research Process
Step 1: Identify What to Research
Read the current story from prd.json and extract:
researchTopics- explicit topics to investigate- Dependencies mentioned in acceptance criteria
- Patterns referenced in the description
Also check:
- Previous story's
learningsfield for follow-up research needs knowledge/project/gotchas.mdfor related known issues
Step 2: Fetch Library Source Code (If Needed)
For any third-party library research, fetch the source:
# Fetch specific library
./scripts/aha-loop/fetch-source.sh rust tokio 1.35.0
# Or fetch all project dependencies
./scripts/aha-loop/fetch-source.sh --from-depsAfter fetching, the source will be at .vendor/<ecosystem>/<name>-<version>/
Library Version Selection
Always Prefer Latest Stable Versions
When researching or recommending libraries, always check for and prefer the latest stable version unless there's a specific compatibility reason not to.
Version Research Process
Query the package registry for latest version:
# Rust (crates.io) curl -s "https://crates.io/api/v1/crates/tokio" | jq '.crate.max_stable_version' # Or use cargo cargo search tokio --limit 1 # Node.js (npm) npm view react version # Python (PyPI) pip index versions requests 2>/dev/null | head -1- Verify stability:
- Released at least 1-2 weeks ago (not bleeding edge)
- Check GitHub issues for critical bugs
- Review changelog for breaking changes
- Check compatibility:
- Works with existing project dependencies
- Compatible with project's minimum supported language version
- No known conflicts
Version Documentation
Always document version decisions:
## Version Decision: [Library Name]
**Selected Version:** X.Y.Z
**Latest Available:** X.Y.Z (as of YYYY-MM-DD)
**Reason:** [Why this version was chosen]
**Compatibility Notes:**
- Works with [other dependency] v[X.Y]
- Requires [language] v[X.Y]+When to Use Older Versions
Only use older versions when:
- Latest version has critical bugs
- Incompatible with required dependencies
- Breaking changes require significant refactoring
- Project explicitly constrains the version
Always document the reason in knowledge/project/decisions.md:
### ADR: Using [Library] v[Old] instead of v[New]
**Context:** [Why we're not using latest]
**Decision:** Pin to v[Old]
**Consequences:** [What we're missing, when to revisit]Step 3: Read Source Code Strategically
Reading Order (Most Important First):
- README.md - Understand design intent and quick-start examples
- Entry Point Files:
- Rust:
src/lib.rs,src/main.rs - TypeScript/JS:
src/index.ts,index.js - Python:
__init__.py,main.py
- Rust:
- Module Structure - Scan
mod.rsfiles or directory structure - Type Definitions - Find core structs, interfaces, types
- Target Functionality - Locate the specific feature you need
- Tests - Learn correct usage patterns from test files
Reading Tips:
- Use semantic search to find relevant code sections
- Focus on PUBLIC APIs, skip internal implementation unless needed
- Look for
examples/directory for usage patterns - Check
tests/for edge cases and proper usage
Step 4: Web Search for Context
Search for:
- Official documentation
- Best practices and common patterns
- Known issues and gotchas
- Performance considerations
- Alternative libraries
Use MCP tools like context7 for up-to-date documentation.
Step 5: Compare Alternatives (If Applicable)
When multiple solutions exist, create a comparison:
| Criterion | Option A | Option B | Option C |
| Performance | ... | ... | ... |
| API Ergonomics | ... | ... | ... |
| Maintenance Status | ... | ... | ... |
| Bundle Size | ... | ... | ... |
| Learning Curve | ... | ... | ... |
Include a recommendation with reasoning.
Research Report Template
Save to: scripts/aha-loop/research/[story-id]-research.md
# Research Report: [Story ID] - [Story Title]
**Date:** YYYY-MM-DD
**Status:** Complete | Needs Follow-up
## Research Topics
1. [Topic from researchTopics array]
2. ...
## Findings
### Topic 1: [Name]
**Summary:** Brief answer to the research question
**Source Code Analysis:**
- Library: [name] v[version]
- Key File: `.vendor/rust/tokio-1.35.0/src/runtime/mod.rs`
- Relevant Code: Lines 123-189
- Pattern Observed: [description]
**Documentation Notes:**
- [Key insight from docs]
- [Another insight]
**Code Example:**
```[language]
// Example from source or docsTopic 2: [Name]
...
Alternatives Comparison
| Criterion | Option A | Option B | Recommendation |
| ... | ... | ... | ... |
Recommendation: [Option X] because [reasoning]
Implementation Recommendations
Based on research, the story should be implemented as follows:
- [Specific implementation guidance]
- [Pattern to follow]
- [Pitfalls to avoid]
Follow-up Research Needed
- [Topic that needs deeper investigation]
- [Question that emerged during research]
Knowledge Base Updates
The following should be added to knowledge base:
To knowledge/project/patterns.md:
- [Pattern specific to this project]
To knowledge/domain/[topic]/:
- [Reusable knowledge about a library or technique]
---
## Updating Knowledge Base
### Project Knowledge (`knowledge/project/`)
Add patterns specific to THIS project:
- How this codebase uses a library
- Project-specific conventions discovered
- Gotchas specific to this codebase
### Domain Knowledge (`knowledge/domain/`)
Add reusable technical knowledge:
- Library usage patterns (applicable to any project)
- Comparison documents
- Best practices
**Create new topic directories as needed:**
knowledge/domain/ └── [topic-name]/ ├── README.md # Overview ├── patterns.md # Common patterns ├── gotchas.md # Known issues └── examples/ # Code examples
---
## Source Code Reading Report
When you read library source code, document your findings:
```markdown
## Source Code Analysis: [Library] v[Version]
### Module Structuresrc/ ├── lib.rs # Main entry, exports public API ├── runtime/ # Async runtime implementation │ ├── mod.rs # Module exports │ └── scheduler.rs # Task scheduling └── sync/ # Synchronization primitives
### Key Types
- `Runtime` (src/runtime/mod.rs:45) - Main runtime struct
- `Handle` (src/runtime/handle.rs:23) - Runtime handle for spawning
### Key Functions
- `Runtime::new()` (L89-L120) - Creates new runtime with default config
- `spawn()` (L156-L189) - Spawns a new async task
### Usage Patterns from Tests
From `tests/runtime.rs:34`:
```rust
let rt = Runtime::new().unwrap();
rt.block_on(async {
// ...
});Important Notes
- Thread safety: Runtime is Send + Sync
- Performance: Use
spawn_blockingfor CPU-heavy tasks - Gotcha: Don't call
block_onfrom async context
---
## Checklist
Before marking research complete:
- [ ] All `researchTopics` investigated
- [ ] Library source code fetched and key files read (if applicable)
- [ ] Web search performed for documentation and best practices
- [ ] Alternatives compared (if multiple options exist)
- [ ] Research report saved to `scripts/aha-loop/research/`
- [ ] Knowledge base updated with reusable findings
- [ ] Implementation recommendations documented
- [ ] `researchCompleted: true` set in prd.jsonDoes 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.

