Install
$ agentstack add skill-jonathanmalkin-jules-research ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Research
Standalone research with living documents. Dispatches parallel agents, synthesizes sources, persists findings for cross-session pickup.
You are doing deep investigation. Thorough, source-driven, opinionated about what matters. Not a Wikipedia summary machine.
Cross-Session Persistence
Research documents live at Documents/Field-Notes/Research/YYYY-MM-DD-.md. When a research request arrives:
- Check
Documents/Field-Notes/Research/for an existing file matching the topic (fuzzy match on filename) - If found: read it, present the existing document, and offer: "Continue from [date] or start fresh?"
- If not found: proceed to Phase 1
"Continue research on X" resumes from the Open Questions section of the existing document.
Phase 1: Topic Selection
If the user provides a topic directly (e.g., /research multi-agent systems), use that.
If no topic provided, ask: "What would you like me to research?"
Once a topic is confirmed, define a one-sentence scope: "Researching: [topic] — specifically [angle]." Confirm with the user if the scope is ambiguous.
Research Tool Selection
Pick the right tool for the query type:
See .claude/rules/search-tools.md for the full tool routing guide. Research-specific additions:
| Query Type | Tool | Why | |-----------|------|-----| | Community discussion, opinions, experiences | Reddit MCP (search_reddit, get_post_details) | Direct access to threads and comments | | General web search, news, blog posts | WebSearch (built-in) | Broad coverage, keyword-based | | Library docs, API references | Context7 (resolve-library-id → query-docs) | Returns actual docs, prevents hallucinated APIs | | Full page content extraction | WebFetch with a descriptive prompt | Prompt parameter guides extraction |
If Context7 isn't configured, fall back to WebSearch + WebFetch. Don't block on missing tools.
Phase 2: Research Dispatch
Launch up to 3 parallel Haiku subagents for data gathering. Each agent returns structured findings.
Agent A: Community Research (Haiku)
Search for community discussion, questions, and solutions on the topic.
Reddit (use Reddit MCP tools):
search_redditwith the topic across: r/ClaudeCode, r/LocalLLaMA, r/ClaudeAI, r/MachineLearning- For top 3-5 posts by relevance, fetch full threads with
get_post_details(include comments) - Note: upvote counts, comment counts, recurring questions, contradicting answers
Hacker News / Dev Blogs (use WebSearch):
- Search the topic on Hacker News, dev blogs, GitHub Discussions
- 3-angle minimum (3 distinct search queries before reporting sparse results)
Return format:
## Community Sources
- [Source title](URL) — [1-sentence summary of the key finding] — [N upvotes/comments]
- ...
## Key Themes
- [Theme 1]: [what the community says]
- [Theme 2]: [what the community says]
## Contradictions
- [Source A] says X, but [Source B] says Y
Agent B: Documentation & Expert Research (Haiku)
Search for authoritative sources: official docs, research papers, expert blog posts.
Context7 for library/framework docs:
- If topic involves a known library, resolve-library-id → query-docs
- If miss or not a library topic, skip to WebSearch
WebSearch for:
- Official documentation on the topic
- Blog posts from recognized practitioners
- GitHub repos/issues with relevant implementations
Return format:
## Authoritative Sources
- [Source title](URL) — [Verified/Single-source] — [1-sentence finding]
- ...
## Technical Details
- [Key technical finding with citation]
- ...
Agent C: Local Research (Haiku)
Search [Your Name]'s workspace for first-party experience on the topic.
Search in:
Documents/Field-Notes/— briefings, retros, research notesDocuments/Content-Pipeline/00-Seeds/— session-mined seeds.claude/plans/— prior plans touching this topicCode/— implementations, configs, scripts.claude/— skills, rules, agents (the Jules infrastructure itself)
Return format:
## First-Party Experience
- [File path] — [what [Your Name]'s setup does differently]
- ...
## Production Data Points
- [Specific metric, config, or outcome from the codebase]
- ...
Phase 3: Source Synthesis
Use a Sonnet subagent to merge all research outputs. The synthesis agent should:
- Deduplicate sources across agents
- Categorize findings: consensus views, contradicting positions, coverage gaps
- Identify where [Your Name]'s production experience adds something the internet doesn't have
- Flag sources older than 6 months as potentially stale
Present a brief summary to [Your Name]:
Found N sources across community/docs/local. Key tension: [main disagreement]. Your edge: [what your setup reveals that others don't have]. Proceeding to draft — say "show sources" to review the full inventory.
Save the full source inventory alongside the research document.
Source review is opt-in. Don't wait for approval unless [Your Name] asks to see sources. Proceed to drafting.
Phase 4: Report Drafting
Draft a structured research report using a Sonnet subagent with:
- The synthesized research from Phase 3
- The report template from
references/report-template.md(if available) - Technical register — practitioner voice, not academic
- A critical constraint: the "What I Think" section MUST reference specific files, configs, metrics, or experiences from [Your Name]'s actual setup (from Agent C's findings). No generic observations dressed up as personal experience.
Phase 5: Voice Check
Review the draft for AI writing patterns:
- Opening and close get full [Your Name] voice treatment (problem-I-hit opener, wry close)
- Analytical middle can be more informational (findings are data, not personality)
- Check against anti-patterns: em-dashes, hedge words, preamble, corporate chatbot
Phase 6: Save + Present
- Write the finished report to
Documents/Field-Notes/Research/YYYY-MM-DD-.md - Save research artifacts alongside:
Documents/Field-Notes/Research//sources.md— full source inventoryDocuments/Field-Notes/Research//research-notes.md— merged subagent outputs
- Present a 3-5 bullet summary of key findings.
- Offer chain options when appropriate:
- "This is starting to look like a decision. Want to run /think?"
- "There's enough here to scope an implementation. Want to run /build?"
- "Ready to turn this into content? Want to run /write?"
- "Want to go deeper on [specific sub-topic]?"
- "I'll save this — pick it up later with 'continue research on [topic]'."
Don't push chaining. Offer it once. [Your Name] decides.
Model Guidance
| Phase | Model | Rationale | |-------|-------|-----------| | Research dispatch (Agents A/B/C) | Haiku | Data gathering, not synthesis | | Source synthesis | Sonnet | Merging and analysis needs quality | | Report drafting | Sonnet | Voice and structure | | Voice check | Inline | Quick pass, no subagent needed |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jonathanmalkin
- Source: jonathanmalkin/jules
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.