
Research
- 75 installs
- 325 repo stars
- Updated August 2, 2026
- athola/claude-night-market
research is an agent skill that orchestrates multi-source technical surveys across GitHub, forums, and papers into one synthesized report.
About
The research skill is a session orchestrator for solo builders who need more than a single web search when evaluating a technical bet. It wires together GitHub code search, forum discourse, paper indexes, TRIZ depth, and synthesis into one repeatable ritual instead of ad-hoc prompt chaining. You start by classifying the topic domain; if confidence is weak, the skill pauses for human confirmation so you do not waste parallel agent runs on the wrong framing. A research planner then assigns channel weights and TRIZ depth, and SessionManager records the session metadata on disk for traceability. Dispatch uses parallel Agent-tool workers per channel, which is how indie operators compress calendar time on competitive scans, literature reviews, and “what are people actually building?” surveys. The closing synthesize step is meant to produce a formatted report you can drop into validation notes, RFCs, or pitch docs. It sits earlier in the journey than implementation skills: use it when the question is still “what is true in the market and literature?” rather than “ship this PR.” Progressive loading and an estimated token hint keep the skill usable in cost-conscious agent setups.
- 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
Research by the numbers
- 75 all-time installs (skills.sh)
- Ranked #5,485 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill researchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 75 |
|---|---|
| repo stars | ★ 325 |
| Security audit | 1 / 3 scanners passed |
| Last updated | August 2, 2026 |
| Repository | athola/claude-night-market ↗ |
What it does
Run a structured multi-channel research session (GitHub, HN, Reddit, arXiv, Semantic Scholar) with domain classification, parallel agents, and a synthesized report.
Who is it for?
Best when you're evaluating libraries, architectures, or market narratives and 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 you get
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
By the numbers
- 5-step workflow from classify through synthesize
- Estimated 600 tokens skill footprint with progressive_loading
Files
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_weightsIf 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_depthStep 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: 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
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
- 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() |
Exit Criteria
- [ ] Domain classified before agents are dispatched; if confidence
< 0.6, user confirmation is requested before proceeding
- [ ] Code and discourse agents always dispatched; academic and triz
agents dispatched only when their channels are in the plan; all eligible agents sent in a single parallel message
- [ ] Session saved to
docs/research/{session.id}-{slug}.mdafter
synthesis regardless of whether all agents succeeded
- [ ] Top 3 findings by relevance score displayed to the user with
the path to the saved report
- [ ] If all agents fail, error reported and manual alternatives
suggested; an empty report is never generated
Related skills
How it compares
Use instead of a single generic “search the web” prompt when you need weighted channels and a persisted research session.
FAQ
Who is research for?
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.