Long-Form Fiction Market Research
Narcooo/inkos
Researches the long-form fiction market with sourced evidence: platform differences, comparable works and audience expectations, to inform topic choices for a novel.
Scans popular short web-fiction rankings on Chinese platforms such as Dianzhong and Heiyan to surface trending emotional hooks, themes and topic candidates with an expiry warning.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zenstory-ai/oh-story-claudecode story-short-scan --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/story-short-scan .claude/skills/story-short-scan && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "story-short-scan" agent skill from https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scan into .claude/skills/story-short-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-scan", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scanType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zenstory-ai/oh-story-claudecode story-short-scan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/story-short-scan .agents/skills/story-short-scan && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "story-short-scan" agent skill from https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scan into .agents/skills/story-short-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-scan", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zenstory-ai/oh-story-claudecode story-short-scan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/story-short-scan .cursor/skills/story-short-scan && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "story-short-scan" agent skill from https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scan into .cursor/skills/story-short-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-scan", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/zenstory-ai/oh-story-claudecode.git --path skills/story-short-scan--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zenstory-ai/oh-story-claudecode story-short-scan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/story-short-scan .gemini/skills/story-short-scan && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "story-short-scan" agent skill from https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scan into .gemini/skills/story-short-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-scan", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install zenstory-ai/oh-story-claudecode story-short-scanInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/story-short-scan .github/skills/story-short-scan && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "story-short-scan" agent skill from https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scan into .github/skills/story-short-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-scan", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zenstory-ai/oh-story-claudecode story-short-scan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zenstory-ai/oh-story-claudecode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/story-short-scan .opencode/skills/story-short-scan && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "story-short-scan" agent skill from https://github.com/zenstory-ai/oh-story-claudecode/tree/main/skills/story-short-scan into .opencode/skills/story-short-scan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-short-scan", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
story-short-scanScans popular short web-fiction rankings on Chinese platforms such as Dianzhong and Heiyan to surface trending emotional hooks, themes and topic candidates with an expiry warning.
This Chinese-language skill positions the agent as a short-fiction market analyst whose job is to read ranking samples and output actionable emotional directions, candidate themes, risk thresholds and a next re-scan date, because short-fiction trend signals expire within weeks. Its guiding principles are that short fiction is an emotion market judged by completion and sharing rates, not just theme names, and that trend candidates must always carry an expiry and saturation risk rather than being treated as a lasting trend.
The workflow asks which platform and genre direction you want, since Dianzhong and Heiyan can be scraped directly by bundled scripts (Heiyan needs you to log into the author backend first) while Zhihu Yanyan, Fanqie and Qimao need you to paste in rankings yourself. Results are aggregated with aggregate-rank.js into a dated output folder, compared against the previous scan, and analyzed for emotional-tone distribution, theme hotspots, length distribution, opening patterns, ending types and recurring protagonist models.
The final report is written for the author in plain market language, omitting script names and fetch status, and is saved into a dated conclusions file alongside a topic-matching section that ranks candidate themes by current signal strength against what the author's project can actually support.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2cf7be6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Short Web Fiction Trend Scan loads about 1.2k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 25 tokens; SKILL.md has 209 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from zenstory-ai/oh-story-claudecode at commit 2cf7be6, republished under its MIT licence (© zenstory-ai). 209 words, ~1,174 tokens.
.claude/skills/story-short-scan/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.你是短篇网文市场分析师。你的任务是基于榜单样本识别短篇市场格局,并输出可执行的情绪方向、题材候选、风险阈值和验证动作。
核心信念:短篇市场变化快,题材信号有效期短。 扫榜报告必须标注样本日期、趋势可信度和下次重新扫榜的时间。
短篇网文的核心是情绪交付。读者在短时间内完成一次情绪体验;扫榜要提取高频情绪、触发场景、情绪爆发点和读者愿意转发的点,而不是只记录题材名。
短篇不像长篇靠追读赚钱。短篇靠的是单篇完读率和传播(分享、收藏、点赞)。完读率高 = 情绪拉扯到位;传播率高 = 有共鸣或反转让人想转发。
短篇题材信号可能在数周内失效。输出风口候选时必须给出有效期、饱和风险和下次复扫时间;未复扫前不得当作长期趋势。
问用户:「你想看哪个平台?点众短篇、黑岩短篇我能直接抓(黑岩要你先在浏览器里登录作者后台);知乎盐言、番茄短篇、七猫短篇等暂时抓不了,需要你把榜单截图或文字发我。有没有想写的类型方向?」
关键判断:
扫榜需要真实数据支撑。 根据当前环境选择数据来源:
| 优先级 | 模式 | 说明 | 何时用 |
|---|---|---|---|
| 1 | 脚本采集 | 点众、黑岩:直接抓取平台页面,产出结构化文件 | 有 Chrome 环境时(优先) |
| 2 | 作者提供 | 没有脚本的平台,或作者已有榜单 | 知乎盐言/番茄短篇/七猫短篇等 |
| 3 | 内置知识 | 基于知识库中的趋势数据和方法论做分析 | 无法联网、作者也没有数据时 |
扫榜/{YYYYMMDD}/(同日再扫加 -2)存本次榜单,不往旧目录追加;文件名 {平台}{类型}_{YYYYMMDD}.md,某平台失败就跳过。对比读上个日期目录的 扫榜聚合.md。node scripts/aggregate-rank.js {输出目录} --out {输出目录}/扫榜聚合.md --sparse 10 --scale short。主会话只读这份聚合,要看开头与人设原文再抽样:node scripts/aggregate-rank.js {输出目录} --sample {题材/标签/书名词} --n 5。内置知识: 加载 references/real-market-data.md(跨平台写作差异对照),明确标注「以下分析基于历史趋势数据;未完成实时榜单校验前只能作为候选假设。」并列出需要复扫的平台页面。
以聚合结果为主,按所选平台参考里的「分析维度」看,再对每个平台提取:
报告写给作者:讲市场结论和能写的方向。脚本名、命令和 SKIP 这类采集状态不进报告;某个平台没采到,就说一句「XX 这次没拿到(原因),结论不含它」。
报告展示给作者,同时写进输出目录的 短篇扫榜结论.md:文件不存在就先按 references/topic-match.md 的模板写文件头,再把报告作为「扫榜结论」一节写入(已存在就整节替换)。
<!-- author-report -->
## 扫榜结论:{平台名称}
### 市场概况
- 扫榜时间:{日期}
- 核心发现:{一句话总结}
- 可信度:{样本多少篇、来自哪几个榜};建议 {日期} 前后再扫一次
### 情绪热度排行
| 排名 | 情绪类型 | 榜上数量 | 趋势 | 代表作 |
|------|----------|----------|------|--------|
| 1 | {类型} | {N篇} | ↑/→/↓ | {标题} |
### 题材热点
| 题材 | 热度 | 竞争程度 | 门槛 | 代表作 |
|------|------|----------|------|--------|
| {题材} | 高/中/低 | 激烈/一般/蓝海 | 高/中/低 | {标题} |
### 关键数据洞察
- 篇幅区间:热门短篇集中在 {X}-{Y} 字
- 开头模式:{高频开头模式}
- 结尾偏好:{HE/BE/开放式的比例}
- 标题特征:{命名规律}
- 人设热词:{高频主角类型}
### 风口预警
- 🔥 正在爆发:{题材} — {依据}
- ⚡ 即将起风:{题材} — {依据}
- ⚠️ 即将饱和:{题材} — {依据}
### 值得写的方向
1. {方向 + 情绪拉扯方式 + 可行性}
2. {方向 + 情绪拉扯方式 + 可行性}
3. {方向 + 情绪拉扯方式 + 可行性}
### 一句话
{犀利总结}先读 短篇扫榜结论.md 的「扫榜结论」和 扫榜聚合.md,不靠对话记忆;再结合项目条件输出选题匹配,按 references/topic-match.md 写进同一文件的「选题匹配」一节:
关键判断:
| 平台 | 调性 | 核心指标 | 主力读者 | 适合类型 | 短篇主力字数 |
|---|---|---|---|---|---|
| 知乎盐言故事 | 精品短篇,情绪深度 | 付费转化、收藏 | 20-35 都市人群 | 虐恋、反转、悬疑、现实 | 5千-1.5万字 |
| 七猫短篇 | 下沉市场,女频为主 | 完读率 | 女性为主(80%+) | 总裁/现实/宅斗/年代/悬疑 | 1-2万字(7-19章) |
| 黑岩短篇 | 极端情绪,快节奏 | 完读率、付费 | 混合 | 虐恋、复仇、身份反转 | 8千-4万字 |
| 点众短篇 | 精品快节奏 | 完读率 | 混合 | 家庭复仇、假千金、弹幕流 | 1-2万字(5-10章) |
流水线: 短篇 位置: 扫榜(第 1/3 步)
| 时机 | 跳转到 | 命令 |
|---|---|---|
| 找到方向 | story-short-analyze | /story-short-analyze |
| 直接开写 | story-short-write | /story-short-write |
| 更适合长篇 | story-long-scan | /story-long-scan |
按需加载以下文件:
| 文件 | 何时加载 |
|---|---|
| 三份平台参考(链接见 Phase 2 第 1 步) | 「确定数据来源」:只读所选平台那份 |
| references/topic-match.md | Phase 4/5:短篇扫榜结论.md 模板、可行性上限与交付 |
| scripts/aggregate-rank.js | 把输出目录里的原始榜单聚合成短表(--out 落盘,--sample 抽原始条目),主会话只读它 |
| references/real-market-data.md | 核心参考:跨平台写作差异对照表、各平台简介公式速查、题材爆款公式速查表、各平台写作特征 |
| scripts/cdp-utils.js | CDP 公共工具函数(ab/sleep/evalJSON/safeStr/scrollLoad/getArg),各采集脚本共用 |
| scripts/dz-browse-scraper.js | 点众短篇采集(男频/女频),用法见点众参考 |
| scripts/heiyan-booklist-scraper.js | 黑岩书库列表采集(需登录),用法见黑岩参考 |
© zenstory-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts, references) in skills/story-short-scan of zenstory-ai/oh-story-claudecode.
Open the folder on GitHubat commit 2cf7be6
We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in zenstory-ai/oh-story-claudecode, which our catalogue first saw on October 7, 2026.
Short Web Fiction Trend Scan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Short Web Fiction Trend Scan this skillzenstory-ai/oh-story-claudecode | 7.4k | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Long-Form Fiction Market ResearchNarcooo/inkos | 10k | — | ~289 | Automated safety check: Pass | AGPL-3.0 | |
| Web Novel Ranking Scanneruu201/character-arc | 583 | — | ~2k | Automated safety check: Pass | MIT | |
| WeChat Hot Article AnalysisSpaceZephyr/creator-buddy | 1.6k | — | ~847 | Automated safety check: Pass | None | |
| Inkos Short Market ResearchNarcooo/inkos | 10k | — | ~257 | Automated safety check: Pass | AGPL-3.0 | |
| Book Architectrobertguss/claude-code-toolkit | 124 | — | ~2.1k | Automated safety check: Pass | Proprietary |
Narcooo/inkos
Researches the long-form fiction market with sourced evidence: platform differences, comparable works and audience expectations, to inform topic choices for a novel.
uu201/character-arc
Analyzes ranking charts from Chinese web novel platforms such as Qidian, Fanqie and Jinjiang to spot market trends and promising genres, with scraper scripts per site.
SpaceZephyr/creator-buddy
Fetches hot WeChat Official Account articles by sector or keywords and produces a data file and an HTML report with rankings, style patterns and writing references.
Narcooo/inkos
商业短篇市场、平台样本、标题与移动端阅读趋势研究。Use for evidence-based short-fiction market research.
robertguss/claude-code-toolkit
Design the structural and emotional architecture for nonfiction books.
unifapi-agent/agents
When the user wants to turn a topic or audience into a ranked list of content opportunities backed by real demand.
zenstory-ai/oh-story-claudecode
Drives a Chrome window over the DevTools Protocol with the agent-browser CLI, so the agent can reuse your logged-in sessions, read pages and pull tokens.
zenstory-ai/oh-story-claudecode
Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.
zenstory-ai/oh-story-claudecode
Routes a Chinese web-novel writing request to the matching tool in a 13-skill toolbox, covers author habit memory, and can launch a local dashboard for browsing a project.
zenstory-ai/oh-story-claudecode
Rewrites AI-sounding Chinese web novel text so it reads naturally, changing as little as possible and keeping plot, names and numbers intact.
zenstory-ai/oh-story-claudecode
Reverse-imports an existing novel, half-finished or complete, into the standard project structure so story-long-write or story-short-write can continue it.
zenstory-ai/oh-story-claudecode
Breaks down a long Chinese web novel chapter by chapter into plot, rhythm, characters, and style, through a resumable staged analysis.
Categories
Scans popular short web-fiction rankings on Chinese platforms such as Dianzhong and Heiyan to surface trending emotional hooks, themes and topic candidates with an expiry warning. This Chinese-language skill positions the agent as a short-fiction market analyst whose job is to read ranking samples and output actionable emotional directions, candidate themes, risk thresholds and a next re-scan date, because short-fiction trend signals expire within weeks. Its guiding principles are that short fiction is an emotion market judged by completion and sharing rates, not just theme names, and that trend candidates must always carry an expiry and saturation risk rather than being treated as a lasting trend.
Short Web Fiction Trend Scan fits situations like: scanning Chinese short-fiction platform rankings for trending themes; comparing short-fiction trends across Dianzhong, Heiyan or other platforms; matching a trending emotional hook to a writable topic candidate.
Run `npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a claude-code`. Or copy the skill folder (skills/story-short-scan in zenstory-ai/oh-story-claudecode) into .claude/skills/story-short-scan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a codex`. Or copy the skill folder (skills/story-short-scan in zenstory-ai/oh-story-claudecode) into .agents/skills/story-short-scan in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zenstory-ai/oh-story-claudecode --skill story-short-scan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/story-short-scan, .gemini/skills/story-short-scan, .github/skills/story-short-scan and .opencode/skills/story-short-scan in your project.
Going by SKILL.md and its folder, Short Web Fiction Trend Scan needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js, for the ranking scraper and aggregation scripts; A logged-in Heiyan author account, for that platform's scraper.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Short Web Fiction Trend Scan is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Short Web Fiction Trend Scan: Long-Form Fiction Market Research (Narcooo/inkos, 10k stars), Web Novel Ranking Scanner (uu201/character-arc, 583 stars), WeChat Hot Article Analysis (SpaceZephyr/creator-buddy, 1.6k stars) and Inkos Short Market Research (Narcooo/inkos, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
zenstory-ai (a GitHub organization) maintains it in zenstory-ai/oh-story-claudecode, which has 7,424 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 10, 2026.
Source: zenstory-ai/oh-story-claudecode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.