
Research
Run a structured multi-channel research session (GitHub, HN, Reddit, arXiv, Semantic Scholar) with domain classification, parallel agents, and a synthesized report.
Overview
research is an agent skill most often used in Idea research (also Validate scope, Build pm) that orchestrates multi-source technical surveys across GitHub, forums, and papers into one synthesized report.
Install
npx skills add https://github.com/athola/claude-night-market --skill researchWhat is this skill?
- Five-step workflow: classify domain, plan channels, create session, dispatch parallel agents, synthesize report
- Domain classifier with user confirmation when confidence is below 0.6
- Orchestrates tome:code-search, discourse, papers, triz, and synthesize via mapped channel agents
- SessionManager persists topic, domain, TRIZ depth, and channel plan under the working directory
- 5-step workflow from classify through synthesize
- Estimated 600 tokens skill footprint with progressive_loading
Adoption & trust: 1 installs on skills.sh; 304 GitHub stars; 1/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You need a credible picture of a technical topic but copying tabs from GitHub, HN, Reddit, and papers into one narrative is slow and inconsistent.
Who is it for?
Solo builders evaluating libraries, architectures, or market narratives who already run the Tome/night-market stack and want parallel agents instead of one long chat.
Skip if: Quick factual lookups, legal/medical advice workflows, or environments without the orchestrated tome sub-skills and Agent tool dispatch.
When should I use this skill?
Surveying a technical topic across multiple channels; user asks for GitHub, HN, Reddit, arXiv, or Semantic Scholar style research synthesis.
What do I get? / Deliverables
You get a session-backed research plan, parallel channel runs, and a synthesized formatted report you can use to narrow scope or start validation.
- Persisted research session metadata
- Formatted multi-source synthesis report
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Idea research is the canonical shelf because the orchestrator’s entry point is classifying a topic and surveying sources before build commitments. Research subphase matches multi-source synthesis and report output—not a single integration or ship-time review.
Where it fits
Compare three agent frameworks using weighted GitHub and discourse channels before picking a stack.
Pull papers and forum threads to see if a niche API approach already failed in public discussions.
Landscape existing open-source tools to inform milestone ordering for a solo SaaS MVP.
Synthesize how practitioners describe a problem space before drafting AI-search-facing positioning copy.
How it compares
Use instead of a single generic “search the web” prompt when you need weighted channels and a persisted research session.
Common Questions / FAQ
Who is research for?
Indie technical founders and agent-heavy developers who survey topics across code, discourse, and papers before committing to a build or pitch.
When should I use research?
Use it in Idea when surveying a technical topic across multiple channels; in Validate when scoping feasibility from external signals; in Build pm when you need a structured landscape before prioritizing work.
Is research safe to install?
It orchestrates external research channels and local session files; check the Security Audits panel on this page and review what each dispatched agent can access in your setup.
SKILL.md
READMESKILL.md - Research
# 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: ```python 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 ```python 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 ```python 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: 1. The topic string 2. The domain classification 3. Any channel-specific context (subreddits for discourse, triz_depth for triz) 4. Instruction to return findings as JSON ### Step 5: Collect and Synthesize After all agents return: 1. Parse each agent's findings into Finding objects 2. Merge using `tome.synthesis.merger.merge_findings()` 3. Rank using `tome.synthesis.ranker.rank_findings()` ### Step 6: Generate Output ```python 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: ```python 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 - If an agent fails, continue with remaining agents - If all agents fail, report the error and suggest manual research approaches - If synthesis produces 0 findings, state this clearly rather than generating an empty report - Save session state even on partial failure ## Output Format Selection | Flag | Format | Function | |------|--------|----------| | (default) | report | `format_report()` | | `--format brief` | brief | `format_brief()` | | `--format transcript` | transcript | `format_transcript()` |