{"id":"2d60ea2c-e2f0-4e28-b1e5-b90821ff176d","entityType":"agent","slug":"clawhub-athola-nm-tome-research","name":"research","canonicalUrl":"https://www.xpersona.co/agent/clawhub-athola-nm-tome-research","canonicalPath":"/agent/clawhub-athola-nm-tome-research","generatedAt":"2026-10-10T02:13:44.020Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T22:55:50.296Z","emptyReason":null},"description":"Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar Skill: research Owner: athola Summary: Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:23:46.783Z | user Release v1.9.19 v1.9.17 | 2026-07-30T05:43:28.548Z | user Release v1.9.17 v1.9.16 | 2026-07-14T20:00:17.405Z | user Release v1.9.16 v1.9.14 | 2026-06-30T18:07:32.839Z | user Release v1.9.14 v1.9.13 | 2026-06-27T16:25:21.","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17emme0e2m3cpf7k2jvp3a84984b8z9:nm-tome-research","sourceUrl":"https://clawhub.ai/athola/nm-tome-research","homepage":"https://clawhub.ai/athola/skills/nm-tome-research","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/athola/nm-tome-research","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/athola/skills/nm-tome-research","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar Skill: research Owner: athola Summary: Runs multi-source research across GitHu"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:55:50.296Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:55:50.296Z","emptyReason":null},"stars":null,"forks":null,"downloads":1921,"packageName":null,"latestVersion":"1.9.19","tractionLabel":"1.9K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:55:50.266Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T22:55:50.296Z","lastCrawledAt":"2026-10-09T22:55:50.266Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T22:55:50.266Z","lastVerifiedAt":null,"highlights":[{"version":"1.9.19","createdAt":"2026-08-26T13:23:46.783Z","changelog":"Release v1.9.19","fileCount":3,"zipByteSize":3235},{"version":"1.9.17","createdAt":"2026-07-30T05:43:28.548Z","changelog":"Release v1.9.17","fileCount":3,"zipByteSize":3182},{"version":"1.9.16","createdAt":"2026-07-14T20:00:17.405Z","changelog":"Release v1.9.16","fileCount":3,"zipByteSize":3190},{"version":"1.9.14","createdAt":"2026-06-30T18:07:32.839Z","changelog":"Release v1.9.14","fileCount":3,"zipByteSize":3207},{"version":"1.9.13","createdAt":"2026-06-27T16:25:21.090Z","changelog":"Release v1.9.13","fileCount":3,"zipByteSize":3160},{"version":"1.9.12","createdAt":"2026-06-19T03:21:14.294Z","changelog":"Release v1.9.12","fileCount":3,"zipByteSize":3171},{"version":"1.0.2","createdAt":"2026-05-09T02:20:57.322Z","changelog":"Release v1.9.5","fileCount":3,"zipByteSize":3061},{"version":"1.0.1","createdAt":"2026-05-06T14:22:27.405Z","changelog":"Release v1.9.4","fileCount":2,"zipByteSize":2011}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17emme0e2m3cpf7k2jvp3a84984b8z9:nm-tome-research","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T02:13:44.020Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-tome-research/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T22:55:50.296Z","emptyReason":null},"readme":"Skill: research\n\nOwner: athola\n\nSummary: Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\n\nTags: latest:1.9.19\n\nVersion history:\n\nv1.9.19 | 2026-08-26T13:23:46.783Z | user\n\nRelease v1.9.19\n\nv1.9.17 | 2026-07-30T05:43:28.548Z | user\n\nRelease v1.9.17\n\nv1.9.16 | 2026-07-14T20:00:17.405Z | user\n\nRelease v1.9.16\n\nv1.9.14 | 2026-06-30T18:07:32.839Z | user\n\nRelease v1.9.14\n\nv1.9.13 | 2026-06-27T16:25:21.090Z | user\n\nRelease v1.9.13\n\nv1.9.12 | 2026-06-19T03:21:14.294Z | user\n\nRelease v1.9.12\n\nv1.0.2 | 2026-05-09T02:20:57.322Z | user\n\nRelease v1.9.5\n\nv1.0.1 | 2026-05-06T14:22:27.405Z | user\n\nRelease v1.9.4\n\nv1.0.0 | 2026-04-21T13:01:44.055Z | auto\n\nResearch skill orchestrates multi-source investigations with structured agent coordination and synthesis.\n\n- Runs a session workflow: domain classification, research planning, parallel agent dispatch, synthesis, and reporting.\n- Supports code, discourse, academic, and TRIZ channels; always uses code/discourse, conditionally adds others.\n- Automates merging and ranking of findings across sources, then outputs a formatted report.\n- Provides error handling: partial results persist, empty synthesis is reported clearly, and manual fallback advised if all agents fail.\n- Saves all research states and results; output format customizable (full report, brief, or transcript).\n- Users receive summaries and suggestions for next research steps.\n\nArchive index:\n\nArchive v1.9.19: 3 files, 3235 bytes\n\nFiles: skill-card.md (2089b), SKILL.md (3826b), _meta.json (136b)\n\nFile v1.9.19:SKILL.md\n\n---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.9.19:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.19\",\n  \"publishedAt\": 1787750626783\n}\n\nFile v1.9.19:skill-card.md\n\n## Description:\n\nRuns multi-source research across GitHub, Hacker News, Reddit, arXiv, and Semantic Scholar.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[athola](https://clawhub.ai/user/athola)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and technical researchers use this skill to orchestrate multi-source research sessions, synthesize findings from code, discourse, academic, and TRIZ channels, and save a formatted report for later review.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The workflow may query external sources through research agents, which can expose sensitive research topics.\n\nMitigation: Avoid including secrets or confidential details in research prompts, and review queries before dispatching agents.\n\nRisk: The workflow can save reports and session state locally in the workspace.\n\nMitigation: Review saved docs/research outputs and delete or redact sensitive material when needed.\n\nRisk: Parallel research agents can return incomplete, failed, or inconsistent findings.\n\nMitigation: Review synthesized findings before relying on them, and rerun or manually supplement failed channels.\n\n## Reference(s):\n\n- [Claude Night Market tome plugin](https://github.com/athola/claude-night-market/tree/master/plugins/tome)\n- [ClawHub skill page](https://clawhub.ai/athola/skills/nm-tome-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, files, guidance]\n\n**Output Format:** [Markdown report, brief, or transcript with summarized findings and workspace file paths]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save reports under docs/research and session state in the workspace.]\n\n## Skill Version(s):\n\n1.9.19 (source: server release metadata; artifact frontmatter reports 1.9.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.9.17: 3 files, 3182 bytes\n\nFiles: skill-card.md (2057b), SKILL.md (3826b), _meta.json (136b)\n\nFile v1.9.17:SKILL.md\n\n---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.9.17:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.17\",\n  \"publishedAt\": 1785390208548\n}\n\nFile v1.9.17:skill-card.md\n\n## Description: <br>\nRuns multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[athola](https://clawhub.ai/user/athola) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and technical researchers use this skill to classify a research topic, coordinate parallel code, discourse, academic, and TRIZ research agents, synthesize their findings, and produce a research report. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill may query external sources and run parallel research agents, which can expose sensitive topics or context outside the local workspace. <br>\nMitigation: Use it on sensitive topics only when external-source research is acceptable, and review the research prompts before agent dispatch. <br>\nRisk: The skill may leave saved reports or session data in docs/research/ or related session storage. <br>\nMitigation: Review generated files before sharing and remove sensitive session data from the workspace when it is no longer needed. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/athola/skills/nm-tome-research) <br>\n- [Claude Night Market tome plugin](https://github.com/athola/claude-night-market/tree/master/plugins/tome) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance, files] <br>\n**Output Format:** [Markdown reports, briefs, transcripts, and JSON agent findings] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save reports and session state under docs/research/ or related session storage.] <br>\n\n## Skill Version(s): <br>\n1.9.17 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.9.16: 3 files, 3190 bytes\n\nFiles: skill-card.md (2137b), SKILL.md (3826b), _meta.json (136b)\n\nFile v1.9.16:SKILL.md\n\n---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.9.16:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.16\",\n  \"publishedAt\": 1784059217405\n}\n\nFile v1.9.16:skill-card.md\n\n## Description: <br>\nRuns multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[athola](https://clawhub.ai/user/athola) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and technical researchers use this skill to run an agent-assisted research session, dispatch channel-specific research agents, synthesize findings, and save a formatted report in the workspace. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Generic research prompts may invoke an agent-assisted workflow that dispatches multiple research agents. <br>\nMitigation: Confirm the research scope and expected sources before dispatching agents. <br>\nRisk: The skill can save research reports and session state into the workspace under docs/research/. <br>\nMitigation: Review generated files before committing, sharing, or relying on the saved report. <br>\nRisk: Synthesized multi-source findings may include incomplete, stale, or misleading information. <br>\nMitigation: Review source evidence and top findings before using the report for decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/athola/skills/nm-tome-research) <br>\n- [Tome Plugin Homepage](https://github.com/athola/claude-night-market/tree/master/plugins/tome) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, guidance] <br>\n**Output Format:** [Markdown report with summaries, findings, saved workspace path, and optional code or command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save research output and session state under docs/research/.] <br>\n\n## Skill Version(s): <br>\n1.9.16 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.9.14: 3 files, 3207 bytes\n\nFiles: skill-card.md (2013b), SKILL.md (3826b), _meta.json (136b)\n\nFile v1.9.14:SKILL.md\n\n---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.9.14:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.14\",\n  \"publishedAt\": 1782842852839\n}\n\nFile v1.9.14:skill-card.md\n\n## Description: <br>\nRuns multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[athola](https://clawhub.ai/user/athola) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and technical researchers use this skill to plan a research session, gather findings from code, discourse, academic, and TRIZ-oriented channels, synthesize the results, and present a saved report or brief summary. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Research reports and session state may include private or sensitive topics and may be synced, committed, or visible to collaborators. <br>\nMitigation: Review saved files before sharing or committing them, and avoid using the skill on sensitive topics unless repository visibility and retention are appropriate. <br>\nRisk: Broad trigger terms such as research or synthesis may activate the workflow unintentionally. <br>\nMitigation: Use explicit prompts that state the intended research topic and expected output before invoking the skill. <br>\n\n\n## Reference(s): <br>\n- [Project homepage](https://github.com/athola/claude-night-market/tree/master/plugins/tome) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, guidance] <br>\n**Output Format:** [Markdown reports or brief summaries, with structured JSON findings requested from dispatched research agents.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save reports under docs/research/ and session state in the repository.] <br>\n\n## Skill Version(s): <br>\n1.9.14 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.9.13: 3 files, 3160 bytes\n\nFiles: skill-card.md (1969b), SKILL.md (3826b), _meta.json (136b)\n\nFile v1.9.13:SKILL.md\n\n---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.9.13:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.13\",\n  \"publishedAt\": 1782577521090\n}\n\nFile v1.9.13:skill-card.md\n\n## Description: <br>\nRuns multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[athola](https://clawhub.ai/user/athola) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and technical researchers use this skill to classify a research topic, dispatch parallel source-specific agents, synthesize findings, and produce a concise report or brief. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill may contact public research sources through agents, so results can include incomplete, stale, or source-biased findings. <br>\nMitigation: Review cited sources and validate important findings before using the output for decisions. <br>\nRisk: The skill may save research reports and session state locally under the workspace. <br>\nMitigation: Review or delete generated artifacts when the research topic or findings are sensitive. <br>\n\n\n## Reference(s): <br>\n- [Tome plugin homepage](https://github.com/athola/claude-night-market/tree/master/plugins/tome) <br>\n- [ClawHub skill page](https://clawhub.ai/athola/skills/nm-tome-research) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown reports, summaries, transcripts, JSON agent findings, and local research artifacts] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save reports and session state under the workspace.] <br>\n\n## Skill Version(s): <br>\n1.9.13 (source: server release evidence and target metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.9.12: 3 files, 3171 bytes\n\nFiles: skill-card.md (1964b), SKILL.md (3826b), _meta.json (136b)\n\nFile v1.9.12:SKILL.md\n\n---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.9.12:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.12\",\n  \"publishedAt\": 1781839274294\n}\n\nFile v1.9.12:skill-card.md\n\n## Description: <br>\nRuns multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[athola](https://clawhub.ai/user/athola) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and research-oriented agent users use this skill to coordinate a multi-source technical research session, synthesize findings, and produce a saved report or brief. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Broad trigger words may invoke the research workflow unexpectedly. <br>\nMitigation: Confirm the user intended to start a multi-source research session before dispatching agents. <br>\nRisk: Research results may include external-source content and saved reports that are inappropriate for sensitive workspaces. <br>\nMitigation: Review generated docs/research outputs before sharing or committing them. <br>\n\n\n## Reference(s): <br>\n- [Tome plugin homepage](https://github.com/athola/claude-night-market/tree/master/plugins/tome) <br>\n- [ClawHub skill page](https://clawhub.ai/athola/nm-tome-research) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown summaries and reports, with structured JSON findings used during synthesis.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save research reports under docs/research/ and preserve session state for follow-up refinement.] <br>\n\n## Skill Version(s): <br>\n1.9.12 (source: server evidence release; artifact frontmatter says 1.9.8) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.2: 3 files, 3061 bytes\n\nFiles: skill-card.md (2005b), SKILL.md (3751b), _meta.json (135b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: research\ndescription: Multi-source research across code, discourse, and academic channels\nversion: 1.9.5\ntriggers:\n  - research\n  - synthesis\n  - multi-source\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1778293257322\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nMulti-source research across code, discourse, and academic channels <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[athola](https://clawhub.ai/user/athola) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and research-oriented agent users use this skill to orchestrate multi-source research sessions, dispatch code, discourse, academic, and TRIZ research agents, synthesize findings, and save reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The workflow can dispatch referenced helper agents and rely on external Tome plugin components. <br>\nMitigation: Install only when those referenced agents or plugin components are trusted, and review generated prompts and findings before acting on them. <br>\nRisk: The workflow can create local research reports and session files and may process sensitive research topics. <br>\nMitigation: Avoid sensitive topics unless the workspace and delegated agents are trusted; review saved files before sharing. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/athola/nm-tome-research) <br>\n- [Tome plugin homepage](https://github.com/athola/claude-night-market/tree/master/plugins/tome) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, files, guidance] <br>\n**Output Format:** [Markdown reports and summaries with JSON findings from delegated agents] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May create local research reports under docs/research/ and session state in the workspace.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 2 files, 2011 bytes\n\nFiles: SKILL.md (3751b), _meta.json (135b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: research\ndescription: Multi-source research across code, discourse, and academic channels\nversion: 1.9.4\ntriggers:\n  - research\n  - synthesis\n  - multi-source\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1778077347405\n}\n\nArchive v1.0.0: 2 files, 2013 bytes\n\nFiles: SKILL.md (3751b), _meta.json (135b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: research\ndescription: Multi-source research across code, discourse, and academic channels\nversion: 1.8.2\ntriggers:\n  - research\n  - synthesis\n  - multi-source\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the session state:\n```python\nmgr.save(session)\n```\n\n### Step 7: Present Results\n\nDisplay a brief summary to the user:\n- Number of findings per channel\n- Top 3 findings by relevance\n- Path to saved report\n\nThen offer interactive refinement:\n\"Use `/tome:dig \\\"subtopic\\\"` to explore specific areas.\"\n\n## Error Handling\n\n- If an agent fails, continue with remaining agents\n- If all agents fail, report the error and suggest\n  manual research approaches\n- If synthesis produces 0 findings, state this clearly\n  rather than generating an empty report\n- Save session state even on partial failure\n\n## Output Format Selection\n\n| Flag | Format | Function |\n|------|--------|----------|\n| (default) | report | `format_report()` |\n| `--format brief` | brief | `format_brief()` |\n| `--format transcript` | transcript | `format_transcript()` |\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776776504055\n}","readmeExcerpt":"Skill: research Owner: athola Summary: Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:23:46.783Z | user Release v1.9.19 v1.9.17 | 2026-07-30T05:43:28.548Z | user Release v1.9.17 v1.9.16 | 2026-07-14T20:00:17.405Z | user Release v1.9.16 v1.9.14 | 2026-06-30T18:07:32.839Z | user Release v1.9.14 v1.9.13 | 2026-06-27T16:25:21.","codeSnippets":[],"executableExamples":[{"language":"python","snippet":"from tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights"},{"language":"python","snippet":"from tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth"},{"language":"python","snippet":"from tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)"},{"language":"python","snippet":"from tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\""},{"language":"python","snippet":"mgr.save(session)"},{"language":"python","snippet":"from tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: research\ndescription: |\n  Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar\nversion: 1.9.8\ntriggers:\n  - research\n  - synthesis\n  - multi-source\n  - surveying a technical topic across multiple channels\nmetadata: {\"openclaw\": {\"homepage\": \"https://github.com/athola/claude-night-market/tree/master/plugins/tome\", \"emoji\": \"\\ud83e\\udd9e\"}}\nsource: claude-night-market\nsource_plugin: tome\n---\n\n> **Night Market Skill** — ported from [claude-night-market/tome](https://github.com/athola/claude-night-market/tree/master/plugins/tome). For the full experience with agents, hooks, and commands, install the Claude Code plugin.\n\n\n# Research Session Orchestrator\n\nRun a full multi-source research session: classify the\ndomain, dispatch parallel agents, synthesize findings,\nand output a formatted report.\n\n## Workflow\n\n### Step 1: Classify Domain\n\nRun the domain classifier on the topic:\n\n```python\nfrom tome.scripts.domain_classifier import classify\nresult = classify(topic)\n# result.domain, result.triz_depth, result.channel_weights\n```\n\nIf confidence < 0.6, ask the user to confirm or override\nthe domain classification before proceeding.\n\n### Step 2: Plan Research\n\n```python\nfrom tome.scripts.research_planner import plan\nresearch_plan = plan(result)\n# research_plan.channels, research_plan.weights, research_plan.triz_depth\n```\n\n### Step 3: Create Session\n\n```python\nfrom tome.session import SessionManager\nmgr = SessionManager(Path.cwd())\nsession = mgr.create(topic, result.domain, result.triz_depth, research_plan.channels)\n```\n\n### Step 4: Dispatch Agents\n\nLaunch research agents in parallel using the Agent tool.\nUse this mapping:\n\n| Channel | Agent Type | Prompt Includes |\n|---------|-----------|-----------------|\n| code | `tome:code-searcher` | topic |\n| discourse | `tome:discourse-scanner` | topic, domain, subreddits |\n| academic | `tome:literature-reviewer` | topic, domain |\n| triz | `tome:triz-analyst` | topic, domain, triz_depth |\n\n**Rules:**\n- Always dispatch code and discourse agents\n- Dispatch academic agent only if \"academic\" is in\n  research_plan.channels\n- Dispatch triz agent only if \"triz\" is in\n  research_plan.channels AND triz_depth != \"light\"\n- Dispatch all eligible agents in a SINGLE message\n  (parallel, not sequential)\n\nEach agent prompt must include:\n1. The topic string\n2. The domain classification\n3. Any channel-specific context (subreddits for discourse,\n   triz_depth for triz)\n4. Instruction to return findings as JSON\n\n### Step 5: Collect and Synthesize\n\nAfter all agents return:\n\n1. Parse each agent's findings into Finding objects\n2. Merge using `tome.synthesis.merger.merge_findings()`\n3. Rank using `tome.synthesis.ranker.rank_findings()`\n\n### Step 6: Generate Output\n\n```python\nfrom tome.output.report import format_report, format_brief, format_transcript\n\n# Default to report format\noutput = format_report(session)\n\n# Save to docs/research/\noutput_path = f\"docs/research/{session.id}-{slug}.md\"\n```\n\nSave the sess"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7d107jg9jv602h9ytsegydq184a42s\",\n  \"slug\": \"nm-tome-research\",\n  \"version\": \"1.9.19\",\n  \"publishedAt\": 1787750626783\n}"},{"path":"skill-card.md","content":"## Description:\n\nRuns multi-source research across GitHub, Hacker News, Reddit, arXiv, and Semantic Scholar.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[athola](https://clawhub.ai/user/athola)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and technical researchers use this skill to orchestrate multi-source research sessions, synthesize findings from code, discourse, academic, and TRIZ channels, and save a formatted report for later review.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The workflow may query external sources through research agents, which can expose sensitive research topics.\n\nMitigation: Avoid including secrets or confidential details in research prompts, and review queries before dispatching agents.\n\nRisk: The workflow can save reports and session state locally in the workspace.\n\nMitigation: Review saved docs/research outputs and delete or redact sensitive material when needed.\n\nRisk: Parallel research agents can return incomplete, failed, or inconsistent findings.\n\nMitigation: Review synthesized findings before relying on them, and rerun or manually supplement failed channels.\n\n## Reference(s):\n\n- [Claude Night Market tome plugin](https://github.com/athola/claude-night-market/tree/master/plugins/tome)\n- [ClawHub skill page](https://clawhub.ai/athola/skills/nm-tome-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, files, guidance]\n\n**Output Format:** [Markdown report, brief, or transcript with summarized findings and workspace file paths]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save reports under docs/research and session state in the workspace.]\n\n## Skill Version(s):\n\n1.9.19 (source: server release metadata; artifact frontmatter reports 1.9.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar Skill: research Owner: athola Summary: Runs multi-source research across GitHub, HN, Reddit, arXiv, and Semantic Scholar Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:23:46.783Z | user Release v1.9.19 v1.9.17 | 2026-07-30T05:43:28.548Z | user Release v1.9.17 v1.9.16 | 2026-07-14T20:00:17.405Z | user Release v1.9.16 v1.9.14 | 2026-06-30T18:07:32.839Z | user Release v1.9.14 v1.9.13 | 2026-06-27T16:25:21.","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":956,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T22:55:50.296Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T22:55:50.296Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:13:44.020Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}