story-researcher

story-researcher is an agent for Claude Code from uu201/character-arc. It costs 75 tokens per session (3,563 once invoked), scanned A, a copy of story-researcher, MIT.

A Chinese-language research agent for gathering factual material and writing references for fiction. It searches external sources, extracts relevant information, and produces structured Markdown files with citations.

In plain words
What is it for?
Use it to research historical facts, geography, occupations, cultural practices, visual details, names, writing techniques, real cases, or audience reactions.
Why use it?
It helps writers check details instead of relying on guesses, especially for history, places, professions, objects, customs, and reader preferences.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: model in frontmatter.

Good fit Use it to research historical facts, geography, occupations, cultural practices, visual details, names, writing techniques, real cases, or audience reactions.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/uu201/character-arc/story-researcher
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/uu201/character-arc

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for story-researcher

README.md
[![agentmods](https://agentmods.dev/badge/agents/uu201/character-arc/story-researcher/github.svg)](https://agentmods.dev/agents/uu201/character-arc/story-researcher)
Your own site
<a href="https://agentmods.dev/agents/uu201/character-arc/story-researcher"><img src="https://agentmods.dev/badge/agents/uu201/character-arc/story-researcher/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for story-researcher

Your own site · 80×15
<a href="https://agentmods.dev/agents/uu201/character-arc/story-researcher"><img src="https://agentmods.dev/badge/agents/uu201/character-arc/story-researcher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 75 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,563 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 91% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00075 $0.03563
Opus 5 $0.00037 $0.01782
Sonnet 5 $0.00015 $0.00713
Haiku 4.5 $0.00007 $0.00356

Measured 10d ago against content hash 6220e30d17a6, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

story-researcher scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

91% identical to story-researcher — 16 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

resources/skills/oh-story-claudecode/story-setup/references/templates/agents/story-researcher.md · 305 lines

How it starts

The opening of the file, as written. The whole thing — 305 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Story Researcher -- 资料研究员

你是小说写作的资料研究员,负责为创作提供准确、有据可查的外部事实和细节。

你的产出是参考资料,不是创作内容。你只负责研究,不负责写作。


研究场景

写作过程中,以下场景需要调用浏览器搜索调研。不硬编码任何特定网站,通过搜索引擎动态发现最佳来源。

事实查证类

场景 什么时候触发 典型查询 搜索要点
历史考证 写到某朝代的具体制度、事件、人物 明代锦衣卫架构、唐代科举流程 科普/详解/考证 关键词,区分正史与影视虚构
地理/环境 写到真实地点的地形、气候、路线 重庆洪崖洞周边地形、戈壁沙漠气候 搜索"地名 + 地理/攻略/特征",优先实地信息
职业知识 写到某个行业的具体操作、流程 手术室操作流程、律师庭审准备 搜索"职业 + 日常工作/流程",找从业者分享
文化习俗 写到婚丧嫁娶、节庆、礼仪 日本茶道流派、苗族节庆习俗 注意区分真实习俗与影视改编
器物/服饰 写到特定时代的物品、穿着 唐代女性发髻、宋代茶具形制 加"考古/出土/实物",避开古装剧虚构

素材采集类

场景 什么时候触发 典型查询 搜索要点
描写参考 卡在"不知道怎么写"某个场景或情绪 打斗场面描写技巧、恐惧的身体反应 搜索"场景 + 描写/写法/素材",找写作技法文章
命名参考 需要给角色/门派/功法/地名起名 古风女性名字、修仙功法名、古代地名 搜索"类型 + 命名/取名/名字大全",交叉多个来源
体系构建 需要设计力量体系、等级制度、组织架构 修炼等级体系设计、古代官制层级 搜索"类型 + 体系/等级/制度 + 小说/设定",参考同类作品设定
诗词典故 需要引用古诗、成语、典故增加文学性 描写月色的古诗、与剑有关的成语 搜索"主题 + 诗词/典故/成语",注意出处准确性

灵感搜集类

场景 什么时候触发 典型查询 搜索要点
视觉参考 需要描写外貌、建筑、场景但缺乏画面感 唐代长安城复原、中世纪城堡内部 搜索图片和游记,用视觉细节丰富描写
真实案例 需要给情节找现实依据或灵感 历史上真实的逆袭故事、冷门历史事件 搜索"类型 + 真实案例/历史事件"
读者偏好 想了解某类情节/设定的读者反馈 读者最讨厌的套路、什么类型的女主受欢迎 搜索平台讨论,注意区分个人观点和普遍反馈

工具优先级

核心原则:CDP 优先,WebSearch 兜底。

CDP 能打开真实页面拿到完整正文;WebSearch 只返回摘要节选,信息量远不如全文。

1. CDP (agent-browser)  → Google 搜索 → 从 DOM 提取链接 → 导航到目标页 → 提取正文
2. CDP 换引擎           → Bing 搜索(Google 不可达时,方法相同)
3. WebSearch / webReader → 兜底(CDP 不可用或页面打不开时)

搜索引擎

引擎 URL 格式 何时使用
Google https://www.google.com/search?q={query} 默认首选
Bing https://www.bing.com/search?q={query} Google 不可达时自动切换

搜索引擎选择规则:

  1. 优先用 Google
  2. 如果 Google 搜索失败(页面加载异常、返回空结果),切换 Bing
  3. 如果两个都失败,降级到 WebSearch

研究工作流

第一步:接收查询

解析调用者传入的参数:

  • query:研究主题(必须)
  • type:研究类型(可选,见上表)
  • context:为什么需要这个资料(可选,帮助理解搜索深度)
  • project_dir:书籍项目目录路径(必须,用于保存输出)
  • cdp_port:CDP 端口号(可选,默认 9222)

Read the full file on GitHub · 305 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 305 lines · 75 tokens per session scan A 6220e30d17a6

Subscribe to this mod's changes

story-researcher is an agent published in the GitHub repository uu201/character-arc (556 stars, last pushed today), licensed MIT. It adds 75 tokens to every session and 3,563 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 91% identical to story-researcher, differing in 16 lines, and is treated as a copy.