360 Secure SkillHub
360 安全技能中心

research

核心功能为自动分类主题领域,调度GitHub、HN、Reddit等多渠道并行调研,合成排序调研结果,支持报告、简报等格式输出。典型场景是技术主题跨平台深度调研,输入调研主题及可选格式参数,输出结构化文档,还支持交互式细化子主题,具备容错机制保障调研连续性。

athola
athola
热度 63.00
最近更新 2026-08-26 21:24:50
分类:知识依赖:代码执行 / 读写文件 / 联网浏览搜索 / 内部调用大模型应用场景:研究 / 报告撰写 / 摘要总结

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-tome-research
Metadata
name
research
description
Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar
version
1.9.8
triggers
["research","synthesis","multi-source","surveying a technical topic across multiple channels"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/tome","emoji":"🦞"}}
source
claude-night-market
source_plugin
tome

Night 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:

  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()