research
Multi-source research across code, discourse, and academic channels
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/athola/nm-tome-researchNight Market Skill — ported from claude-night-market/tome. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Research Session Orchestrator
Run a full multi-source research session: classify the domain, dispatch parallel agents, synthesize findings, and output a formatted report.
Workflow
Step 1: Classify Domain
Run the domain classifier on the topic:
from tome.scripts.domain_classifier import classify
result = classify(topic)
# result.domain, result.triz_depth, result.channel_weights
If confidence < 0.6, ask the user to confirm or override the domain classification before proceeding.
Step 2: Plan Research
from tome.scripts.research_planner import plan
research_plan = plan(result)
# research_plan.channels, research_plan.weights, research_plan.triz_depth
Step 3: Create Session
from tome.session import SessionManager
mgr = SessionManager(Path.cwd())
session = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)
Step 4: Dispatch Agents
Launch research agents in parallel using the Agent tool. Use this mapping:
| Channel | Agent Type | Prompt Includes |
|---|---|---|
| code | tome:code-searcher | topic |
| discourse | tome:discourse-scanner | topic, domain, subreddits |
| academic | tome:literature-reviewer | topic, domain |
| triz | tome:triz-analyst | topic, domain, triz_depth |
Rules:
- Always dispatch code and discourse agents
- Dispatch academic agent only if "academic" is in research_plan.channels
- Dispatch triz agent only if "triz" is in research_plan.channels AND triz_depth != "light"
- Dispatch all eligible agents in a SINGLE message (parallel, not sequential)
Each agent prompt must include:
- The topic string
- The domain classification
- Any channel-specific context (subreddits for discourse, triz_depth for triz)
- Instruction to return findings as JSON
Step 5: Collect and Synthesize
After all agents return:
- Parse each agent's findings into Finding objects
- Merge using
tome.synthesis.merger.merge_findings() - Rank using
tome.synthesis.ranker.rank_findings()
Step 6: Generate Output
from tome.output.report import format_report, format_brief, format_transcript
# Default to report format
output = format_report(session)
# Save to docs/research/
output_path = f"docs/research/{session.id}-{slug}.md"
Save the session state:
mgr.save(session)
Step 7: Present Results
Display a brief summary to the user:
- Number of findings per channel
- Top 3 findings by relevance
- Path to saved report
Then offer interactive refinement:
"Use /tome:dig \"subtopic\" to explore specific areas."
Error Handling
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-athola-nm-tome-research": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
extract
Analyze a codebase and build a knowledge base of business logic, architecture, data flow, and engineering patterns. The foundation for gauntlet challenges and agent integration
discourse
>- Scan community discussion channels (HN, Lobsters, Reddit, tech blogs) for experience reports and opinions on a topic
synthesize
>- Merge, deduplicate, rank, and format research findings from multiple channels into a coherent report. Use after research agents return their results
workflow-monitor
Detect workflow failures and inefficient patterns, then create GitHub issues for improvement via /fix-workflow
architecture-paradigm-hexagonal
Hexagonal (Ports and Adapters) architecture isolating domain logic from infrastructure