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.
npx skills add xwcai999/opencreator-novel --skill wawa-submissiongit clone --depth 1 https://github.com/xwcai999/opencreator-novelWrote 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.
[](https://agentmods.dev/skills/xwcai999/opencreator-novel/wawa-submission)<a href="https://agentmods.dev/skills/xwcai999/opencreator-novel/wawa-submission"><img src="https://agentmods.dev/badge/skills/xwcai999/opencreator-novel/wawa-submission/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.
<a href="https://agentmods.dev/skills/xwcai999/opencreator-novel/wawa-submission"><img src="https://agentmods.dev/badge/skills/xwcai999/opencreator-novel/wawa-submission.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00099 | $0.02625 |
| Opus 5 | $0.00049 | $0.01313 |
| Sonnet 5 | $0.00020 | $0.00525 |
| Haiku 4.5 | $0.00010 | $0.00263 |
Grade A, and why
wawa-submission 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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
蛙蛙投稿适配
把本 Skill 视为 novel-studio 的平台适配层。复用 $novel-studio 的开书、规划、写作、审稿、封面、项目校验和投稿 TXT;不要复制或另建第二套小说工作流。
投稿包版本与兼容边界
- 新生成的执行就绪投稿包只能使用
schema_version: 2、type: wawa-submission-package,并满足campaign与workflow的严格契约;本 Skill 不再生成旧格式。 schema_version: 1或省略schema_version的平面元数据仍由 Python 本地预检作为 legacy 输入兼容。它们可以继续使用旧字段别名、相对路径以及缺少campaign/workflow的旧结构,但不能借兼容路径跳过必填材料、真实文件、格式/大小或路径安全检查,也不会被当作新包输出;进入页面工作流前必须显式整理为 schema v2。- 版本化投稿包只接受已解析的本地文件路径:封面、正文和历史成绩证明必须是允许根目录内的真实普通文件;声明的
size_bytes、远端 URL、Data URI 或“文件名看起来存在”都不能替代实际文件。相对路径以调用方声明的根解析,页面引擎另按storage.allowedRoots做 containment 校验;符号链接不能逃逸允许根目录。 - legacy 预检继续保留旧结果字段(包括
mode、rules、page_verification、word_count、word_count_source和可选的wawa_snapshot),便于旧调用方读取;新包的规范字段以submission-package-schema.md为准。未知版本或损坏的 v2 契约必须失败关闭。
两种 snapshot 的含义(不要混用)
旧统计快照 API 与页面工作流恰好使用了同名参数,但属于两条完全独立的数据流:
| 场景 | 入口 | snapshot 的含义 |
可接受的数据 |
|---|---|---|---|
| 本地统计兼容 API | validate_submission() 的 snapshot / snapshot_path / snapshot_now,或预检 CLI 的 --snapshot(兼容别名 --snapshot-path)/--snapshot-now |
可选的本地统计快照;只校验 TTL、脱敏并生成 wawa_snapshot |
$wawa-source 的 wawa.stats.v1 |
| 页面工作流 | run_page_workflow.py taxonomy-sync --snapshot <路径> |
分类快照的输出/替换路径;供分类同步使用 | wawa-category-snapshot,不是统计数据 |
统计快照不得填写或覆盖书名、笔名、字数、简介、状态、类目、标签或页面回读;无效/过期统计只标记未消费,不阻断投稿材料。dry-run 与 prepare 只消费投稿包,不要把 wawa.stats.v1 通过页面工作流的 --snapshot 传入。详情见 references/page-workflow.md。
路由
蛙蛙开书
当用户说“蛙蛙开书”“按蛙蛙方向写一本”或同义请求时:
- 读取
references/wawa-genres.md。 - 把图片题材池作为首轮候选边界,并明确频道、目标读者和推荐题材。
- 调用
$novel-studio执行正常规划与开书流程;把平台、频道、题材依据和偏离风险写入现有设定/题材定位.md,不要改造项目 schema。 - 推荐题材不是强行套题。现有方向不在题材池时,说明偏离与代价;只有改变题材、核心受众或结局才暂停让用户决定。
- 不把“推荐题材”伪装成页面三级小说类目。三级类目在投稿时按当前页面映射。
完本投稿
这是默认模式。用户提供项目目录、投稿 TXT/DOC/DOCX 或完整小说后:
- 读取
$novel-studio的作品.md、当前状态、现有投稿就绪证据、封面和最终投稿正文。 - 长篇 TXT 必须由
$novel-studio的scripts/export_submission_txt.py从正文/权威章节重新导出;不要复用无法证明章节结构的旧 TXT。标题严格使用第1章 章名,编码为 UTF-8 无 BOM,禁止 Markdown#、补零编号、中文数字编号、缺号或重复编号。 - 先调用
$novel-studio的现有项目校验,并按其篇幅规则执行相称的终稿审查:目标篇幅达到 5 万字时叠加publication-readiness.md;低于 5 万字时不要强套五万字门禁。不要在本 Skill 重做连续性、盲审、封面生成或正文打包。 - 读取
references/wawa-fields.md、references/submission-package-schema.md和assets/submission-material-template.md;按当前频道与题材查询references/wawa-categories.json的相关分支,并在references/wawa-tags.json中核对所选标签。不要为普通投稿把完整分类树全部展开到上下文,也不在每次投稿时重新抓取网页。 - 从权威作品文件提取可证明的信息;笔名、历史成绩、截图和三级类目无法证明时标为“待确认”,禁止编造。
- 按
references/submission-package-schema.md生成schema_version: 2的执行就绪投稿包 JSON,并运行:
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 279 B
- assets/submission-material-template.md 4.9 KB
- assets/wawa-tags-source.png 176 KB
- references/page-workflow.md 4.0 KB
- references/submission-package-schema.md 6.6 KB
- references/wawa-categories.json 44 KB
- references/wawa-fields.md 5.6 KB
- references/wawa-genres.md 3.2 KB
- references/wawa-tags.json 2.7 KB
- scripts/run_page_workflow.py 4.7 KB runs code
- scripts/test_run_page_workflow.py 4.0 KB runs code
- scripts/test_validate_submission.py 24 KB runs code
- scripts/validate_submission.py 52 KB runs code
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.
- 8d ago Changed · +2 lines · +23 tokens per session 0ded3cfcdbdb
- 12d ago First seen · 105 lines · 76 tokens per session scan A 906485ac7074
wawa-submission is a skill published in the GitHub repository xwcai999/opencreator-novel (11 stars, last pushed 5d ago), licensed Apache-2.0. It adds 99 tokens to every session and 2,625 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
story-import
A tool for turning an existing novel into a structured writing project. It analyzes the book and organizes its characters, settings, plot plans, chapters, and tracking data for later writing.
story-review
A review workflow for finding story problems from several viewpoints, including issues with structure, characters, wording, and fictional world rules. It can use multiple reviewer agents or work alone.
story-long-analyze
A long-form fiction analysis workflow for breaking down a novel’s opening chapters, characters, pacing, turning points, relationships, and overall structure.
story-deslop
A writing editor for Chinese web novels that detects writing patterns often associated with AI-generated text and makes the prose feel more natural.
story-short-analyze
A Chinese-language guide for analysing short popular web fiction, such as stories published on 番茄, 故事会, or 知乎盐选. It examines the core premise, plot structure, emotional arc, twists, writing techniques, and reader appeal.
story-cover
A novel-cover generator that creates a cover with the book title and author name. It chooses a visual style from the book information and can use Codex's image-generation tool.