Story Multi-Perspective Review
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.
深度初始化网文项目。通过分阶段交互收集完整创作信息,生成可直接进入规划与写作的项目骨架与约束文件. An agent skill from lujih/webnovel-writer-opencode.
$ npx skills add lujih/webnovel-writer-opencode --skill webnovel-init -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lujih/webnovel-writer-opencode webnovel-init --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/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/webnovel-init .claude/skills/webnovel-init && 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 "webnovel-init" agent skill from https://github.com/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-init into .claude/skills/webnovel-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webnovel-init", 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/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-initType 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 lujih/webnovel-writer-opencode --skill webnovel-init -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lujih/webnovel-writer-opencode webnovel-init --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.opencode/skills/webnovel-init .agents/skills/webnovel-init && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "webnovel-init" agent skill from https://github.com/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-init into .agents/skills/webnovel-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webnovel-init", 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 lujih/webnovel-writer-opencode --skill webnovel-init -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lujih/webnovel-writer-opencode webnovel-init --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.opencode/skills/webnovel-init .cursor/skills/webnovel-init && 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 "webnovel-init" agent skill from https://github.com/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-init into .cursor/skills/webnovel-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webnovel-init", 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/lujih/webnovel-writer-opencode.git --path .opencode/skills/webnovel-init--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 lujih/webnovel-writer-opencode --skill webnovel-init -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lujih/webnovel-writer-opencode webnovel-init --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.opencode/skills/webnovel-init .gemini/skills/webnovel-init && 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 "webnovel-init" agent skill from https://github.com/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-init into .gemini/skills/webnovel-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webnovel-init", 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 lujih/webnovel-writer-opencode webnovel-initInstalls 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 lujih/webnovel-writer-opencode --skill webnovel-init -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .github/skills && cp -r skills-src/.opencode/skills/webnovel-init .github/skills/webnovel-init && 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 "webnovel-init" agent skill from https://github.com/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-init into .github/skills/webnovel-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webnovel-init", 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 lujih/webnovel-writer-opencode --skill webnovel-init -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lujih/webnovel-writer-opencode webnovel-init --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.opencode/skills/webnovel-init .opencode/skills/webnovel-init && 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 "webnovel-init" agent skill from https://github.com/lujih/webnovel-writer-opencode/tree/master/.opencode/skills/webnovel-init into .opencode/skills/webnovel-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webnovel-init", 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.
webnovel-init深度初始化网文项目。通过分阶段交互收集完整创作信息,生成可直接进入规划与写作的项目骨架与约束文件. An agent skill from lujih/webnovel-writer-opencode.
Webnovel Init is an agent skill from lujih/webnovel-writer-opencode. 深度初始化网文项目。通过分阶段交互收集完整创作信息,生成可直接进入规划与写作的项目骨架与约束文件。
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 22 other files, including reference files (for example `references/creativity/anti-trope-game.md`, `references/creativity/anti-trope-rules-mystery.md` and `references/creativity/anti-trope-urban.md`). Compatibility notes: opencode
It sits in Writing & Content, covering Creative writing and fiction. The repository describes itself as: 本项目是基于webnovel-writer 改编的 OpenCode 版本,目标是让用户在OpenCode 使用长篇网文创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200 万字量级 连载创作。 The licence is GPL-3.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit da00b7a. 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.
Shell commands in SKILL.md call:
pythonFrom 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.
opencode
From compatibility in the SKILL.md frontmatter.
Webnovel Init loads about 2.8k tokens when it runs, and up to ~41k if it reads all its reference files. Until then it costs about 16 tokens; SKILL.md has 514 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); files beside SKILL.md are not scanned.
The full file from lujih/webnovel-writer-opencode at commit da00b7a, republished under its GPL-3.0 licence (© lujih). 514 words, ~2,795 tokens.
.claude/skills/webnovel-init/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub..webnovel/state.json、设定集/*、大纲/总纲.md、.webnovel/idea_bank.json。/webnovel-plan 与 /webnovel-write 可直接运行。init_project.py。Read/Grep/Bash/Agent/AskUserQuestion/WebSearch/WebFetch 辅助收集。idea_bank.json、.story-system、设定集、大纲、正文、.webnovel/state.json 或任何 canon/read model 文件。路径说明:references/ 指 skill 私有 skills/webnovel-init/references/;../../references/ 指共享 references。
| Step | Trigger | Reference | 实际路径 |
|---|---|---|---|
| Step 1 | always | 数据流规范 | ${SKILL_ROOT}/references/system-data-flow.md |
| Step 1 | always | 题材套路库 | ${SKILL_ROOT}/references/genre-tropes.md |
| 卖点/题材采集 | always | 题材配置 | ${SKILL_ROOT}/../../references/genre-profiles.md |
| Step | Trigger | Reference | 实际路径 |
|---|---|---|---|
| Step 2 | 用户人物扁平 | 角色设计 | ${SKILL_ROOT}/references/worldbuilding/character-design.md |
| Step 4 | always | 势力格局 | ${SKILL_ROOT}/references/worldbuilding/faction-systems.md |
| Step 4 | 涉及修仙/玄幻/高武/异能 | 力量体系 | ${SKILL_ROOT}/references/worldbuilding/power-systems.md |
| Step 4 | always | 世界规则 | ${SKILL_ROOT}/references/worldbuilding/world-rules.md |
| Step 5 | always | 创意约束 | ${SKILL_ROOT}/references/creativity/creativity-constraints.md |
| Step 5 | always | 卖点生成 | ${SKILL_ROOT}/references/creativity/selling-points.md |
| Step 5 | 复合题材 | 题材融合 | ${SKILL_ROOT}/references/creativity/creative-combination.md |
| Step 5 | 卡顿 | 灵感候选 | ${SKILL_ROOT}/references/creativity/inspiration-collection.md |
| Step 5 | 题材映射命中 | 反套路库 | ${SKILL_ROOT}/references/creativity/anti-trope-*.md |
| Step 6 | always | 设定一致性 | ${SKILL_ROOT}/references/worldbuilding/setting-consistency.md |
| Step | Trigger | 检索命令 |
|---|---|---|
| 角色/书名/势力设定 | 用户开始设定命名 | python -X utf8 "${SCRIPTS_DIR}/reference_search.py" --skill init --table 命名规则 --query "{命名对象} {题材}" --genre {题材} |
Read/Grep:读取项目上下文与参考文件(README.md、CLAUDE.md、templates/genres/*、references/*)。Bash:执行 init_project.py、文件存在性检查、最小验证命令。Agent:拆分并行子任务(如题材映射、约束包候选生成、文件验证);Step 1.5 用户选择参考书拆解作为灵感来源时,调用 deconstruction-agent。AskUserQuestion:用于关键分歧裁决、候选方案选择、最终确认。WebSearch:用于检索最新市场趋势、平台风向、题材数据(可带域名过滤)。WebFetch:用于抓取已确定来源页面内容并做事实核验。环境设置(bash 命令执行前):
export WORKSPACE_ROOT="${PWD}"
if [ ! -d "${PWD}/.opencode/scripts" ]; then
echo "ERROR: 缺少目录: ${PWD}/.opencode/scripts" >&2
exit 1
fi
export SCRIPTS_DIR="${PWD}/.opencode/scripts"必须做:
${PWD}/.opencode/scripts${SCRIPTS_DIR}/webnovel.pywhere 把 WORKSPACE_ROOT 解析成书项目根;新项目尚不存在时,where 可能命中旧指针或旧项目。references/system-data-flow.md(用于校对 init 产物与 plan/write 输入链路)references/genre-tropes.mdtemplates/genres/(仅在用户选定题材后按需读取)输出:
进入故事核采集前,必须先用 AskUserQuestion 或直接提问的方式确认用户是否要提供灵感来源。不要默认拆书,也不要把参考作品当作必填项。
建议询问:
你这本书的灵感来源想从哪里开始?可以直接说原创想法,也可以提供参考作品做拆书提炼。若要拆书,请给参考书名+平台,并尽量提供章节摘录或文本路径;没有参考也可以直接跳过。可接受的灵感来源:
当用户选择参考作品拆书且提供文本路径或章节摘录时,必须使用 Agent 工具调用 deconstruction-agent,不得由 init 主流程口头替代拆解结果。
Agent(
subagent_type: "deconstruction-agent",
prompt: "reference_title={reference_title}; reference_source={reference_source}; reference_text_path={reference_text_path}; reference_text_excerpt={reference_text_excerpt}; analysis_mode={quick|deep|auto}; init_goal={当前初始化故事方向或空}; target_genre={题材或空}。只返回 init_reference_research JSON 对象,不写任何文件,不创建目录,不写 .story-system、.webnovel、设定集、大纲、正文、idea_bank.json、state.json 或任何 canon/read model 文件。"
)处理规则:
init_reference_research JSON 后,只使用其中的 reader_promise、opening_hook_patterns、cool_point_loops、protagonist_patterns、antagonist_pressure_patterns、pacing_notes、borrowable_structures、differentiation_requirements、init_candidates、quality。quality:quality.passed=false、confidence < 0.85 或 warnings 非空时,不得把候选折叠进创意约束包;只能把风险和需补充材料展示给用户确认。do_not_copy 和 canon_contamination_warnings 必须进入已知信息清单,作为后续创意生成红线。收集项(必收):
题材集合(用于归一化与映射):
交互方式:
收集项(必收):
收集项(可选):
收集项(必收):
收集项(条件必收):
收集项(必收):
收集项(题材相关):
流程:
references/creativity/creativity-constraints.md 的 8.1 五维评分),辅助用户决策。备注:
idea_bank.json 或任何生成项目文件。必须输出"初始化摘要草案"并让用户确认:
确认规则:
完整 JSON schema 和字段说明见 references/init-collection-schema.md。
顶层字段:project(项目信息)、protagonist(主角)、relationship(关系与反派)、golden_finger(金手指)、world(世界观)、constraints(创意约束)。
未满足以下条件前,禁止执行 init_project.py:
project_root 必须由书名安全化生成(去非法字符,空格转 -)。project_root = <当前工作目录>/<书名安全化结果>,即 PROJECT_ROOT="${WORKSPACE_ROOT}/${PROJECT_SLUG}"。. 开头,自动前缀 proj-。.opencode/ 目录下生成项目文件。WORKSPACE_ROOT 当作 PROJECT_ROOT,除非用户明确指定当前目录本身就是书项目根。WORKSPACE_ROOTPROJECT_SLUGPROJECT_ROOT推荐安全化命令(与规则保持一致):
PROJECT_SLUG="$(python -X utf8 -c "import re,sys; title=sys.argv[1].strip(); slug=re.sub(r'[\\\\/:*?\"<>|]+','',title); slug=re.sub(r'\\s+','-',slug).strip('-'); print(('proj-' + slug) if (not slug or slug.startswith('.')) else slug)" "{title}")"
PROJECT_ROOT="${WORKSPACE_ROOT}/${PROJECT_SLUG}"
echo "WORKSPACE_ROOT=${WORKSPACE_ROOT}"
echo "PROJECT_SLUG=${PROJECT_SLUG}"
echo "PROJECT_ROOT=${PROJECT_ROOT}"python "${SCRIPTS_DIR}/webnovel.py" init "${PROJECT_ROOT}" "{title}" "{genre}" \
--protagonist-name "{protagonist_name}" --target-words {target_words} --target-chapters {target_chapters} \
--golden-finger-name "{gf_name}" --golden-finger-type "{gf_type}" --golden-finger-style "{gf_style}" \
--core-selling-points "{core_points}" --protagonist-structure "{protagonist_structure}" \
--heroine-config "{heroine_config}" --heroine-names "{heroine_names}" --heroine-role "{heroine_role}" \
--co-protagonists "{co_protagonists}" --co-protagonist-roles "{co_protagonist_roles}" \
--antagonist-tiers "{antagonist_tiers}" --world-scale "{world_scale}" --factions "{factions}" \
--power-system-type "{power_system_type}" --social-class "{social_class}" \
--resource-distribution "{resource_distribution}" --gf-visibility "{gf_visibility}" \
--gf-irreversible-cost "{gf_irreversible_cost}" --currency-system "{currency_system}" \
--currency-exchange "{currency_exchange}" --sect-hierarchy "{sect_hierarchy}" \
--cultivation-chain "{cultivation_chain}" --cultivation-subtiers "{cultivation_subtiers}" \
--protagonist-desire "{protagonist_desire}" --protagonist-flaw "{protagonist_flaw}" \
--protagonist-archetype "{protagonist_archetype}" --antagonist-level "{antagonist_level}" \
--one-liner "{one_liner}" --core-conflict "{core_conflict}" \
--target-reader "{target_reader}" --platform "{platform}"idea_bank.json写入 .webnovel/idea_bank.json:
{
"selected_idea": {
"title": "",
"one_liner": "",
"anti_trope": "",
"hard_constraints": []
},
"constraints_inherited": {
"anti_trope": "",
"hard_constraints": [],
"protagonist_flaw": "",
"antagonist_mirror": "",
"opening_hook": ""
}
}必须补齐:
init 完成后,立即生成 MASTER_SETTING,让后续 plan 有调性/禁忌参照:
GENRE="$(python -X utf8 -c "import json,os; root=os.environ['PROJECT_ROOT']; s=json.load(open(root + '/.webnovel/state.json',encoding='utf-8')); print(s.get('project_info',{}).get('genre',''))")"
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
story-system "${GENRE}" --genre "${GENRE}" --persist --format json说明:
--chapter,只生成 MASTER_SETTING.json 和 anti_patterns.json--emit-runtime-contracts(还没有卷/章级数据)执行检查:
test -f "${PROJECT_ROOT}/.webnovel/state.json"
find "${PROJECT_ROOT}/设定集" -maxdepth 1 -type f -name "*.md"
test -f "${PROJECT_ROOT}/大纲/总纲.md"
test -f "${PROJECT_ROOT}/.webnovel/idea_bank.json"
test -f "${PROJECT_ROOT}/.story-system/MASTER_SETTING.json"
test "$(basename "${PROJECT_ROOT}")" = "${PROJECT_SLUG}"成功标准:
state.json 存在且关键字段不为空(title/genre/target_words/target_chapters)。世界观.md、力量体系.md、主角卡.md。主角组.md;heroine_config=无女主 不生成 女主卡.md。金手指设计.md、复合题材-融合逻辑.md、爽点规划.md 或空的 角色库/物品库/其他设定 目录;这些信息以主角卡、世界观、卷纲为事实源。总纲.md 已填核心主线与约束字段。idea_bank.json 已写入且与最终选定方案一致。.story-system/MASTER_SETTING.json 存在且 route.primary_genre 非空。触发条件:
idea_bank.json 缺失或内容不一致。恢复流程:
init_project.py;© lujih, GPL-3.0. 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 19 other files (references) in .opencode/skills/webnovel-init of lujih/webnovel-writer-opencode.
Open the folder on GitHubat commit da00b7a
Webnovel Init 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 |
|---|---|---|---|---|---|---|
| Webnovel Init this skilllujih/webnovel-writer-opencode | 214 | — | ~2.8k | Automated safety check: Pass | GPL-3.0 | |
| Story Multi-Perspective Reviewzenstory-ai/oh-story-claudecode | 7.4k | 3 repos | ~3k | Automated safety check: Pass | MIT | |
| Story Toolbox Routerzenstory-ai/oh-story-claudecode | 7.4k | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Short Web Fiction Trend Scanzenstory-ai/oh-story-claudecode | 7.4k | 3 repos | ~1.2k | Automated safety check: Pass | MIT | |
| InkOS Creative HarnessNarcooo/inkos | 10k | 1 repos | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Novel Arteternityspring/shuohao-skills | 4.2k | — | ~1.1k | Automated safety check: Notes | Apache-2.0 |
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
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.
Narcooo/inkos
Drives long-form fiction, scripts, storyboards, interactive films and long-document translation through InkOS, with every change made by a typed action.
eternityspring/shuohao-skills
给 AI 短剧出美术设定集(场景 + 叙事道具):场景的设计意图、一致性锚点、光照时段变体、 空景提示词;道具的戏剧功能、状态变体、尺度参照、白底无手提示词。
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.
lujih/webnovel-writer-opencode
查询项目设定、角色、力量体系、势力、伏笔等信息。支持紧急度分析与金手指状态查询. An agent skill from lujih/webnovel-writer-opencode.
lujih/webnovel-writer-opencode
连续写作多章。当用户要求多章写作时必须使用此 skill. An agent skill from lujih/webnovel-writer-opencode.
lujih/webnovel-writer-opencode
将网文正文导出为 Markdown/TXT/EPUB/HTML/DOCX/PDF 格式。立即使用此 skill 当用户说:导出、导出小说、导出章节、生成电子书、导出 TXT、导出 Markdown、导出 EPUB、导出 HTML、导出 Word、导出 PDF、下载小说、输出正文。
lujih/webnovel-writer-opencode
修复问题章节——诊断、清理脏实体、重审查、重提交。触发:章节断裂、OOC偏离、设定矛盾修复. An agent skill from lujih/webnovel-writer-opencode.
lujih/webnovel-writer-opencode
将小说章节自动发布到国内主流小说平台(番茄等)。触发条件:"发布小说"、"发布章节"、"上传到番茄"、"自动发布"、"清理草稿"、"发布草稿"。
lujih/webnovel-writer-opencode
安全删除指定章节并清理关联投影数据(state/memory)。支持 dry-run 预览。触发:删除章节、回退写作、清理烂章。
Categories
深度初始化网文项目。通过分阶段交互收集完整创作信息,生成可直接进入规划与写作的项目骨架与约束文件. An agent skill from lujih/webnovel-writer-opencode. Webnovel Init is an agent skill from lujih/webnovel-writer-opencode.
Webnovel Init fits situations like: tasks that involve Creative writing and fiction.
Run `npx skills add lujih/webnovel-writer-opencode --skill webnovel-init -a claude-code`. Or copy the skill folder (.opencode/skills/webnovel-init in lujih/webnovel-writer-opencode) into .claude/skills/webnovel-init in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lujih/webnovel-writer-opencode --skill webnovel-init -a codex`. Or copy the skill folder (.opencode/skills/webnovel-init in lujih/webnovel-writer-opencode) into .agents/skills/webnovel-init 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 lujih/webnovel-writer-opencode --skill webnovel-init -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/webnovel-init, .gemini/skills/webnovel-init, .github/skills/webnovel-init and .opencode/skills/webnovel-init in your project.
Going by SKILL.md and its folder, Webnovel Init needs the command-line tools its instructions call (python). Our summary lists: Python 3. Compatibility (from SKILL.md): opencode.
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. Review the folder before installing.
Webnovel Init is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 38k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Webnovel Init: Story Multi-Perspective Review (zenstory-ai/oh-story-claudecode, 7.4k stars), Story Toolbox Router (zenstory-ai/oh-story-claudecode, 7.4k stars), Short Web Fiction Trend Scan (zenstory-ai/oh-story-claudecode, 7.4k stars) and InkOS Creative Harness (Narcooo/inkos, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lujih (a GitHub user) maintains it in lujih/webnovel-writer-opencode, which has 214 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.
Source: lujih/webnovel-writer-opencode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.