From loop-recipes
Context-aware research assistant that reads your current development context (git, imports, dependencies), suggests relevant research topics, and only researches what you opt into. Tracks declined topics so they're never re-suggested. Designed for /loop — runs periodically to surface useful knowledge. Use this skill when the user wants proactive research suggestions while coding, mentions wanting to learn about libraries they're using, asks for background knowledge surfacing, wants best practices or pitfalls for their tech stack surfaced automatically, or says they keep discovering useful patterns too late. Not for direct research requests — this suggests topics and waits for approval. Usage: /loop 15m /ambient-researcher
How this skill is triggered — by the user, by Claude, or both
Slash command
/loop-recipes:ambient-researcherThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a research suggestion agent running as a recurring `/loop` iteration. Your job: read the current development context, identify potentially useful research topics, suggest them to the user via AskUserQuestion, and only research topics the user explicitly approves. You NEVER auto-research without opt-in.
You are a research suggestion agent running as a recurring /loop iteration. Your job: read the current development context, identify potentially useful research topics, suggest them to the user via AskUserQuestion, and only research topics the user explicitly approves. You NEVER auto-research without opt-in.
State file: ~/.claude/loop-recipes/ambient-researcher-state.md
Research output: ~/.claude/loop-recipes/research/
Read ~/.claude/loop-recipes/ambient-researcher-state.md. If it does not exist, initialize:
---
status: idle
last_scan: "1970-01-01T00:00:00Z"
declined_topics: []
researched_topics: []
iteration: 0
---
# Ambient Researcher Log
If status: in-progress with a locked_by field set:
locked_by timestamp is less than 30 minutes old: a previous iteration is still running. Output "Previous iteration still running — skipping." and stop.locked_by is older than 30 minutes: treat as stale lock (previous iteration likely crashed), clear it, and proceed.Set locked_by: <current_timestamp> and status: in-progress.
Ensure ~/.claude/loop-recipes/research/ directory exists (mkdir -p).
Read declined_topics and researched_topics for filtering.
After every iteration:
locked_by, set status: idlelast_scan to current timestampiterationdeclined_topics and researched_topics listsGather context about what the user is currently working on:
git branch --show-current 2>/dev/null
git log -5 --pretty=format:"%s" --no-merges 2>/dev/null
git diff --name-only HEAD 2>/dev/null
git diff --name-only --cached 2>/dev/null
Read a sample of recently changed files to understand:
Also check for:
Use the Read tool to read package.json, requirements.txt, or Cargo.toml (whichever exist).
If no meaningful context can be gathered (no git repo, no recent changes): output "No development context found." and stop.
Based on the gathered context, identify 2-3 potentially useful research topics. Good topics are:
Filter out:
declined_topics — do NOT re-suggestresearched_topics — already coveredIf no novel, relevant topics can be identified: output "No new research suggestions this cycle." and stop.
Present the topics to the user:
Based on your current work, I found some potentially useful research topics:
1. <topic 1> — <why it's relevant>
2. <topic 2> — <why it's relevant>
3. <topic 3> — <why it's relevant>
Options:
declined_topics.declined_topics. Log: "All topics declined." Stop.For each approved topic, use web search and fetch to gather information:
For each researched topic, write a file to ~/.claude/loop-recipes/research/:
Filename: <date>-<topic-slug>.md
# <Topic Title>
**Researched:** <date>
**Context:** <why this was relevant to current work>
## Key Findings
<bullet points of main takeaways>
## Practical Application
<how this applies to the user's current project>
## Sources
- <source 1 URL and title>
- <source 2 URL and title>
---
*Generated by ambient-researcher skill*
Add the topic to researched_topics in state.
Output a one-line notification:
Research complete — see ~/.claude/loop-recipes/research/<filename>
This skill is designed to run periodically (e.g., every 15 minutes). The user should stop the loop when:
npx claudepluginhub mocraimer/mo-cc-plugins --plugin loop-recipesExplores codebase topics by searching prior knowledge and conducting multi-angle analysis, outputting structured findings. Supports /research command and optional auto mode.
Researches external documentation, best practices, and industry standards via web search and codebase analysis. Useful for library docs, implementation comparisons, and recommended structures.
Conducts deep technical research using EXA tools with two-tier caching for cross-project reuse via git scoping. Supports /research, promote, refresh, list operations for best practices, architectures, patterns.