dsh-chapter-whale 0.0.0-stage → 0.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1165) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +215 -2
  3. package/RELEASE_STATUS.md +26 -0
  4. package/THIRD_PARTY_NOTICES.md +16 -0
  5. package/assets/chapter-whale-overview.png +0 -0
  6. package/assets/screenshots/01-automation.png +0 -0
  7. package/assets/screenshots/02-dashboard.png +0 -0
  8. package/assets/screenshots/03-free-channels.png +0 -0
  9. package/assets/screenshots/04-chapters.png +0 -0
  10. package/assets/screenshots/05-memory.png +0 -0
  11. package/assets/screenshots/06-creative-brief.png +0 -0
  12. package/assets/screenshots/07-model-settings.png +0 -0
  13. package/backend/fanqie_auto_publish/README.md +133 -0
  14. package/backend/fanqie_auto_publish/login.py +42 -0
  15. package/backend/fanqie_auto_publish/publication_safety.py +285 -0
  16. package/backend/fanqie_auto_publish/publish.py +1100 -0
  17. package/backend/fanqie_auto_publish/requirements.txt +2 -0
  18. package/backend/integration/README.md +72 -0
  19. package/backend/integration/__init__.py +2 -0
  20. package/backend/integration/bridge.py +1158 -0
  21. package/backend/integration/costs.py +442 -0
  22. package/backend/integration/credential_codec.py +40 -0
  23. package/backend/integration/daily_word_goal.py +92 -0
  24. package/backend/integration/editorial_recovery.py +71 -0
  25. package/backend/integration/editorial_release.py +158 -0
  26. package/backend/integration/failure_info.py +108 -0
  27. package/backend/integration/fallback_budget.py +71 -0
  28. package/backend/integration/free_channels.py +175 -0
  29. package/backend/integration/free_pool.py +179 -0
  30. package/backend/integration/length_policy.py +36 -0
  31. package/backend/integration/local_completion.py +511 -0
  32. package/backend/integration/memory_extraction.py +160 -0
  33. package/backend/integration/memory_library.py +401 -0
  34. package/backend/integration/model_roles.py +301 -0
  35. package/backend/integration/ofm_runtime.py +191 -0
  36. package/backend/integration/ofm_service.mjs +24 -0
  37. package/backend/integration/owned_service.py +44 -0
  38. package/backend/integration/planning_failover.py +102 -0
  39. package/backend/integration/planning_output.py +88 -0
  40. package/backend/integration/provider_circuit.py +33 -0
  41. package/backend/integration/provider_client.py +190 -0
  42. package/backend/integration/providers.py +221 -0
  43. package/backend/integration/reasoning.py +26 -0
  44. package/backend/integration/recovery.py +237 -0
  45. package/backend/integration/resource_policy.py +16 -0
  46. package/backend/integration/retrieval_config.py +44 -0
  47. package/backend/integration/retrieval_health.py +46 -0
  48. package/backend/integration/retry_budget.py +76 -0
  49. package/backend/integration/revision_workflow.py +92 -0
  50. package/backend/integration/scheduler.py +917 -0
  51. package/backend/integration/serial_delivery.py +363 -0
  52. package/backend/integration/serial_service.py +255 -0
  53. package/backend/integration/studio.py +325 -0
  54. package/backend/integration/ten_chapter_delivery.py +621 -0
  55. package/backend/integration/test_free_pool.py +129 -0
  56. package/backend/integration/test_publication_safety.py +522 -0
  57. package/backend/integration/test_release_backend.py +62 -0
  58. package/backend/integration/test_writer_runner.py +477 -0
  59. package/backend/integration/text_checks.py +56 -0
  60. package/backend/integration/watchdog.py +73 -0
  61. package/backend/integration/writer_runner.py +939 -0
  62. package/backend/manager/__init__.py +1 -0
  63. package/backend/manager/ai_tools.py +216 -0
  64. package/backend/manager/app.py +1111 -0
  65. package/backend/manager/audit_inventory.py +52 -0
  66. package/backend/manager/device_access.py +211 -0
  67. package/backend/manager/free_model_api.py +64 -0
  68. package/backend/manager/job_progress.py +18 -0
  69. package/backend/manager/provider_api.py +136 -0
  70. package/backend/manager/role_checks.py +126 -0
  71. package/backend/manager/runtime_health.py +48 -0
  72. package/backend/manager/static/app.js +402 -0
  73. package/backend/manager/static/costs.js +90 -0
  74. package/backend/manager/static/editorial.css +510 -0
  75. package/backend/manager/static/free-models.css +28 -0
  76. package/backend/manager/static/free-models.js +86 -0
  77. package/backend/manager/static/index.html +140 -0
  78. package/backend/manager/static/memory.js +58 -0
  79. package/backend/manager/static/ofm-channel-card.css +1 -0
  80. package/backend/manager/static/ofm-channel-card.js +17169 -0
  81. package/backend/manager/static/pair.html +27 -0
  82. package/backend/manager/static/pair.js +17 -0
  83. package/backend/manager/static/providers.css +86 -0
  84. package/backend/manager/static/providers.js +181 -0
  85. package/backend/manager/static/studio.css +243 -0
  86. package/backend/manager/static/style.css +28 -0
  87. package/backend/manager/test_app.py +157 -0
  88. package/backend/manager/test_device_access.py +84 -0
  89. package/backend/manager/test_provider_api.py +45 -0
  90. package/backend/manager/test_studio.py +464 -0
  91. package/backend/manager/worker.py +180 -0
  92. package/backend/vendor/ofm-source-lock.json +105 -0
  93. package/backend/vendor/our-free-model-source/LICENSE +21 -0
  94. package/backend/vendor/our-free-model-source/package.json +79 -0
  95. package/backend/vendor/our-free-model-source/packages/standalone/channels/business.mjs +69193 -0
  96. package/backend/vendor/our-free-model-source/packages/standalone/channels/contracts.mjs +37 -0
  97. package/backend/vendor/our-free-model-source/packages/standalone/channels/credentials.mjs +59 -0
  98. package/backend/vendor/our-free-model-source/packages/standalone/channels/images.mjs +44 -0
  99. package/backend/vendor/our-free-model-source/packages/standalone/channels/runtime.mjs +139 -0
  100. package/backend/vendor/our-free-model-source/packages/standalone/channels/worker.mjs +154 -0
  101. package/backend/vendor/our-free-model-source/packages/standalone/cli.mjs +56 -0
  102. package/backend/vendor/our-free-model-source/packages/standalone/eac.mjs +122 -0
  103. package/backend/vendor/our-free-model-source/packages/standalone/login-terminal.mjs +64 -0
  104. package/backend/vendor/our-free-model-source/packages/standalone/management.mjs +330 -0
  105. package/backend/vendor/our-free-model-source/packages/standalone/open-external.mjs +19 -0
  106. package/backend/vendor/our-free-model-source/packages/standalone/package.json +36 -0
  107. package/backend/vendor/our-free-model-source/packages/standalone/service.mjs +348 -0
  108. package/backend/vendor/our-free-model-source/packages/standalone/vite.config.mjs +22 -0
  109. package/backend/vendor/our-free-model-source/packages/standalone/web/_ofm-provider-list-D9WP3xjp.js +1 -0
  110. package/backend/vendor/our-free-model-source/packages/standalone/web/app.css +1 -0
  111. package/backend/vendor/our-free-model-source/packages/standalone/web/app.js +13 -0
  112. package/backend/vendor/our-free-model-source/packages/standalone/web/assets.json +12 -0
  113. package/backend/vendor/our-free-model-source/packages/standalone/web/channels-DtR2ayCL.js +414 -0
  114. package/backend/vendor/our-free-model-source/packages/standalone/web/channels-kEN3gKhj.js +1029 -0
  115. package/backend/vendor/our-free-model-source/packages/standalone/web/index.html +12 -0
  116. package/backend/vendor/our-free-model-source/packages/standalone/web/models-ishsHIe7.js +1 -0
  117. package/backend/vendor/our-free-model-source/packages/standalone/web/search-RZVy3Eoo.js +1 -0
  118. package/backend/vendor/our-free-model-source/packages/standalone/web/settings-DYjyfDI2.js +1 -0
  119. package/backend/vendor/our-free-model-source/packages/standalone/web/splash.html +324 -0
  120. package/backend/vendor/our-free-model-source/packages/standalone/web/usage-BOibUWax.js +1 -0
  121. package/backend/vendor/our-free-model-source/packages/standalone/web/visibility-data-9WWAmLOB.js +1 -0
  122. package/backend/vendor/our-free-model-source/packages/standalone/web/x-CzfajR1e.js +1 -0
  123. package/backend/vendor/our-free-model-source/src/adapter.js +829 -0
  124. package/backend/vendor/our-free-model-source/src/aggregate.js +727 -0
  125. package/backend/vendor/our-free-model-source/src/anthropic.js +834 -0
  126. package/backend/vendor/our-free-model-source/src/catalog.js +605 -0
  127. package/backend/vendor/our-free-model-source/src/chan-relay.js +193 -0
  128. package/backend/vendor/our-free-model-source/src/channel.js +40 -0
  129. package/backend/vendor/our-free-model-source/src/combos.js +179 -0
  130. package/backend/vendor/our-free-model-source/src/core/completion.js +191 -0
  131. package/backend/vendor/our-free-model-source/src/core/runtime.js +391 -0
  132. package/backend/vendor/our-free-model-source/src/core/stats.js +98 -0
  133. package/backend/vendor/our-free-model-source/src/deferred-response.js +44 -0
  134. package/backend/vendor/our-free-model-source/src/eac-login.js +115 -0
  135. package/backend/vendor/our-free-model-source/src/eac-user.js +83 -0
  136. package/backend/vendor/our-free-model-source/src/eac.js +276 -0
  137. package/backend/vendor/our-free-model-source/src/effort.js +280 -0
  138. package/backend/vendor/our-free-model-source/src/egress.js +842 -0
  139. package/backend/vendor/our-free-model-source/src/failure.js +39 -0
  140. package/backend/vendor/our-free-model-source/src/feed.js +310 -0
  141. package/backend/vendor/our-free-model-source/src/forward.js +1328 -0
  142. package/backend/vendor/our-free-model-source/src/http.js +581 -0
  143. package/backend/vendor/our-free-model-source/src/image-pricing.js +12 -0
  144. package/backend/vendor/our-free-model-source/src/kilo.js +168 -0
  145. package/backend/vendor/our-free-model-source/src/local-optimize.js +446 -0
  146. package/backend/vendor/our-free-model-source/src/messages.js +429 -0
  147. package/backend/vendor/our-free-model-source/src/open-external.js +35 -0
  148. package/backend/vendor/our-free-model-source/src/picks.js +197 -0
  149. package/backend/vendor/our-free-model-source/src/probe.js +236 -0
  150. package/backend/vendor/our-free-model-source/src/providers/index.js +215 -0
  151. package/backend/vendor/our-free-model-source/src/providers/registry.json +4927 -0
  152. package/backend/vendor/our-free-model-source/src/push.js +92 -0
  153. package/backend/vendor/our-free-model-source/src/recovery.js +131 -0
  154. package/backend/vendor/our-free-model-source/src/reload.js +307 -0
  155. package/backend/vendor/our-free-model-source/src/route/classify.js +542 -0
  156. package/backend/vendor/our-free-model-source/src/sponsor.js +209 -0
  157. package/backend/vendor/our-free-model-source/src/store.js +555 -0
  158. package/backend/vendor/our-free-model-source/src/stream.js +540 -0
  159. package/backend/vendor/our-free-model-source/src/token-saver/index.js +151 -0
  160. package/backend/vendor/our-free-model-source/src/token-saver/inject.js +434 -0
  161. package/backend/vendor/our-free-model-source/src/token-saver/prompts.js +239 -0
  162. package/backend/vendor/our-free-model-source/src/token-saver/rtk/applyFilter.js +39 -0
  163. package/backend/vendor/our-free-model-source/src/token-saver/rtk/autodetect.js +171 -0
  164. package/backend/vendor/our-free-model-source/src/token-saver/rtk/constants.js +142 -0
  165. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/buildOutput.js +142 -0
  166. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/dedupLog.js +58 -0
  167. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/find.js +64 -0
  168. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/gitDiff.js +123 -0
  169. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/gitLog.js +114 -0
  170. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/gitStatus.js +128 -0
  171. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/grep.js +52 -0
  172. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/ls.js +103 -0
  173. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/readNumbered.js +37 -0
  174. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/searchList.js +64 -0
  175. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/smartTruncate.js +27 -0
  176. package/backend/vendor/our-free-model-source/src/token-saver/rtk/filters/tree.js +42 -0
  177. package/backend/vendor/our-free-model-source/src/token-saver/rtk/hitLine.js +83 -0
  178. package/backend/vendor/our-free-model-source/src/token-saver/rtk/index.js +384 -0
  179. package/backend/vendor/our-free-model-source/src/token-saver/rtk/registry.js +57 -0
  180. package/backend/vendor/our-free-model-source/src/trust.js +184 -0
  181. package/backend/vendor/our-free-model-source/src/updater.js +1034 -0
  182. package/backend/vendor/our-free-model-source/src/upstream.js +591 -0
  183. package/backend/vendor/our-free-model-source/src/vault-anchor.js +2 -0
  184. package/backend/vendor/our-free-model-source/src/vault-data.js +3 -0
  185. package/backend/vendor/our-free-model-source/src/vault.js +213 -0
  186. package/backend/vendor/our-free-model-source/vendor/channel-pack/LICENSE +21 -0
  187. package/backend/vendor/our-free-model-source/vendor/channel-pack/qoder-auth-wasm.wasm +0 -0
  188. package/backend/vendor/our-free-model-source/vendor/dsh-std/LICENSE +21 -0
  189. package/backend/webnovel-writer/.claude/agents/anti-ai-detector.md +182 -0
  190. package/backend/webnovel-writer/.claude/agents/consistency-checker.md +179 -0
  191. package/backend/webnovel-writer/.claude/agents/context-agent.md +350 -0
  192. package/backend/webnovel-writer/.claude/agents/continuity-checker.md +254 -0
  193. package/backend/webnovel-writer/.claude/agents/data-agent.md +436 -0
  194. package/backend/webnovel-writer/.claude/agents/dialogue-reality-enforcer.md +357 -0
  195. package/backend/webnovel-writer/.claude/agents/high-point-checker.md +145 -0
  196. package/backend/webnovel-writer/.claude/agents/ooc-checker.md +217 -0
  197. package/backend/webnovel-writer/.claude/agents/pacing-checker.md +216 -0
  198. package/backend/webnovel-writer/.claude/genres/dark/dark-plot-patterns.md +105 -0
  199. package/backend/webnovel-writer/.claude/genres/dark/power-struggle.md +108 -0
  200. package/backend/webnovel-writer/.claude/genres/dark/survival-cost.md +98 -0
  201. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/character-archetypes.md +582 -0
  202. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/emotional-tension.md +578 -0
  203. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/plot-templates.md +213 -0
  204. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/romance-pacing.md +574 -0
  205. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/romance-tropes.md +528 -0
  206. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/sweet-moments.md +620 -0
  207. package/backend/webnovel-writer/.claude/genres/dog-blood-romance/torture-points.md +612 -0
  208. package/backend/webnovel-writer/.claude/genres/period-drama/ancient-dialogue.md +288 -0
  209. package/backend/webnovel-writer/.claude/genres/period-drama/character-design.md +268 -0
  210. package/backend/webnovel-writer/.claude/genres/period-drama/historical-setting.md +278 -0
  211. package/backend/webnovel-writer/.claude/genres/period-drama/palace-intrigue.md +268 -0
  212. package/backend/webnovel-writer/.claude/genres/period-drama/plot-patterns.md +276 -0
  213. package/backend/webnovel-writer/.claude/genres/realistic/character-depth.md +234 -0
  214. package/backend/webnovel-writer/.claude/genres/realistic/dialogue-authenticity.md +284 -0
  215. package/backend/webnovel-writer/.claude/genres/realistic/plot-logic.md +273 -0
  216. package/backend/webnovel-writer/.claude/genres/realistic/reality-anchoring.md +229 -0
  217. package/backend/webnovel-writer/.claude/genres/realistic/social-issues.md +232 -0
  218. package/backend/webnovel-writer/.claude/genres/rules-mystery/clue-design.md +524 -0
  219. package/backend/webnovel-writer/.claude/genres/rules-mystery/core-elements.md +431 -0
  220. package/backend/webnovel-writer/.claude/genres/rules-mystery/detective-design.md +560 -0
  221. package/backend/webnovel-writer/.claude/genres/rules-mystery/revelation-design.md +472 -0
  222. package/backend/webnovel-writer/.claude/genres/rules-mystery/structure-pacing.md +520 -0
  223. package/backend/webnovel-writer/.claude/genres/rules-mystery/suspect-management.md +497 -0
  224. package/backend/webnovel-writer/.claude/genres/rules-mystery/trick-design.md +507 -0
  225. package/backend/webnovel-writer/.claude/genres/xuanhuan/cultivation-levels.md +476 -0
  226. package/backend/webnovel-writer/.claude/genres/xuanhuan/power-systems.md +373 -0
  227. package/backend/webnovel-writer/.claude/genres/xuanhuan/xuanhuan-cool-points.md +672 -0
  228. package/backend/webnovel-writer/.claude/genres/xuanhuan/xuanhuan-plot-patterns.md +547 -0
  229. package/backend/webnovel-writer/.claude/genres/zhihu-short/character-quick-build.md +190 -0
  230. package/backend/webnovel-writer/.claude/genres/zhihu-short/emotional-peaks.md +236 -0
  231. package/backend/webnovel-writer/.claude/genres/zhihu-short/ending-patterns.md +217 -0
  232. package/backend/webnovel-writer/.claude/genres/zhihu-short/genre-templates.md +224 -0
  233. package/backend/webnovel-writer/.claude/genres/zhihu-short/hook-techniques.md +151 -0
  234. package/backend/webnovel-writer/.claude/genres/zhihu-short/pacing-rhythm.md +190 -0
  235. package/backend/webnovel-writer/.claude/genres/zhihu-short/plot-compression.md +207 -0
  236. package/backend/webnovel-writer/.claude/references/entity-management-spec.md +296 -0
  237. package/backend/webnovel-writer/.claude/scripts/__init__.py +19 -0
  238. package/backend/webnovel-writer/.claude/scripts/archive_manager.py +592 -0
  239. package/backend/webnovel-writer/.claude/scripts/backup_manager.py +485 -0
  240. package/backend/webnovel-writer/.claude/scripts/chapter_paths.py +84 -0
  241. package/backend/webnovel-writer/.claude/scripts/context_pack_builder.py +514 -0
  242. package/backend/webnovel-writer/.claude/scripts/data_modules/__init__.py +50 -0
  243. package/backend/webnovel-writer/.claude/scripts/data_modules/api_client.py +628 -0
  244. package/backend/webnovel-writer/.claude/scripts/data_modules/config.py +268 -0
  245. package/backend/webnovel-writer/.claude/scripts/data_modules/entity_linker.py +255 -0
  246. package/backend/webnovel-writer/.claude/scripts/data_modules/index_manager.py +1209 -0
  247. package/backend/webnovel-writer/.claude/scripts/data_modules/migrate_state_to_sqlite.py +361 -0
  248. package/backend/webnovel-writer/.claude/scripts/data_modules/rag_adapter.py +651 -0
  249. package/backend/webnovel-writer/.claude/scripts/data_modules/sql_state_manager.py +545 -0
  250. package/backend/webnovel-writer/.claude/scripts/data_modules/state_manager.py +1257 -0
  251. package/backend/webnovel-writer/.claude/scripts/data_modules/style_sampler.py +500 -0
  252. package/backend/webnovel-writer/.claude/scripts/data_modules/tests/__init__.py +1 -0
  253. package/backend/webnovel-writer/.claude/scripts/extract_chapter_context.py +227 -0
  254. package/backend/webnovel-writer/.claude/scripts/golden_three_checker.py +570 -0
  255. package/backend/webnovel-writer/.claude/scripts/init_project.py +585 -0
  256. package/backend/webnovel-writer/.claude/scripts/project_locator.py +94 -0
  257. package/backend/webnovel-writer/.claude/scripts/requirements.txt +9 -0
  258. package/backend/webnovel-writer/.claude/scripts/security_utils.py +589 -0
  259. package/backend/webnovel-writer/.claude/scripts/status_reporter.py +985 -0
  260. package/backend/webnovel-writer/.claude/scripts/token_budget_report.md +120 -0
  261. package/backend/webnovel-writer/.claude/scripts/update_state.py +691 -0
  262. package/backend/webnovel-writer/.claude/scripts/workflow_manager.py +504 -0
  263. package/backend/webnovel-writer/.claude/skills/webnovel-init/SKILL.md +178 -0
  264. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/creativity/creative-combination.md +511 -0
  265. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/creativity/inspiration-collection.md +298 -0
  266. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/creativity/market-positioning.md +421 -0
  267. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/creativity/selling-points.md +684 -0
  268. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/genre-tropes.md +183 -0
  269. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/system-data-flow.md +43 -0
  270. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/worldbuilding/character-design.md +111 -0
  271. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/worldbuilding/faction-systems.md +179 -0
  272. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/worldbuilding/power-systems.md +160 -0
  273. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/worldbuilding/setting-consistency.md +215 -0
  274. package/backend/webnovel-writer/.claude/skills/webnovel-init/references/worldbuilding/world-rules.md +86 -0
  275. package/backend/webnovel-writer/.claude/skills/webnovel-plan/SKILL.md +155 -0
  276. package/backend/webnovel-writer/.claude/skills/webnovel-plan/references/cool-points-guide.md +312 -0
  277. package/backend/webnovel-writer/.claude/skills/webnovel-plan/references/outlining/chapter-planning.md +295 -0
  278. package/backend/webnovel-writer/.claude/skills/webnovel-plan/references/outlining/conflict-design.md +277 -0
  279. package/backend/webnovel-writer/.claude/skills/webnovel-plan/references/outlining/outline-structure.md +210 -0
  280. package/backend/webnovel-writer/.claude/skills/webnovel-plan/references/outlining/plot-frameworks.md +240 -0
  281. package/backend/webnovel-writer/.claude/skills/webnovel-plan/references/strand-weave-pattern.md +106 -0
  282. package/backend/webnovel-writer/.claude/skills/webnovel-query/SKILL.md +151 -0
  283. package/backend/webnovel-writer/.claude/skills/webnovel-query/references/advanced/foreshadowing.md +120 -0
  284. package/backend/webnovel-writer/.claude/skills/webnovel-query/references/system-data-flow.md +336 -0
  285. package/backend/webnovel-writer/.claude/skills/webnovel-query/references/tag-specification.md +155 -0
  286. package/backend/webnovel-writer/.claude/skills/webnovel-resume/SKILL.md +165 -0
  287. package/backend/webnovel-writer/.claude/skills/webnovel-resume/references/system-data-flow.md +43 -0
  288. package/backend/webnovel-writer/.claude/skills/webnovel-resume/references/workflow-resume.md +139 -0
  289. package/backend/webnovel-writer/.claude/skills/webnovel-review/SKILL.md +139 -0
  290. package/backend/webnovel-writer/.claude/skills/webnovel-review/references/common-mistakes.md +96 -0
  291. package/backend/webnovel-writer/.claude/skills/webnovel-review/references/cool-points-guide.md +312 -0
  292. package/backend/webnovel-writer/.claude/skills/webnovel-review/references/core-constraints.md +75 -0
  293. package/backend/webnovel-writer/.claude/skills/webnovel-review/references/pacing-control.md +129 -0
  294. package/backend/webnovel-writer/.claude/skills/webnovel-review/references/strand-weave-pattern.md +106 -0
  295. package/backend/webnovel-writer/.claude/skills/webnovel-write/SKILL.md +524 -0
  296. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/chapter-hard-constraints.md +19 -0
  297. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/combat-scenes.md +18 -0
  298. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/continuity-summary.md +33 -0
  299. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/desire-description.md +314 -0
  300. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/dialogue-writing.md +13 -0
  301. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/emotion-psychology.md +13 -0
  302. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/examples.md +55 -0
  303. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/extract-state.md +126 -0
  304. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/genre-writer.md +179 -0
  305. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/opening-three.md +18 -0
  306. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/outline-master.md +59 -0
  307. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/outline-polish.md +39 -0
  308. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/outline-rewrite.md +70 -0
  309. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/outline-volume.md +89 -0
  310. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/polish-guide.md +349 -0
  311. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/polish.md +47 -0
  312. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/review.md +31 -0
  313. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/scene-description.md +14 -0
  314. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/substyle-writer.md +91 -0
  315. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/typesetting.md +60 -0
  316. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/writer-base.md +76 -0
  317. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//344/272/211/351/234/270/346/265/201/writing-user-prompt.md +92 -0
  318. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/chapter-hard-constraints.md +19 -0
  319. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/combat-scenes.md +18 -0
  320. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/continuity-summary.md +33 -0
  321. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/desire-description.md +314 -0
  322. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/dialogue-writing.md +13 -0
  323. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/emotion-psychology.md +13 -0
  324. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/examples.md +57 -0
  325. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/extract-state.md +126 -0
  326. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/genre-writer.md +179 -0
  327. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/opening-three.md +18 -0
  328. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/outline-master.md +59 -0
  329. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/outline-polish.md +39 -0
  330. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/outline-rewrite.md +70 -0
  331. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/outline-volume.md +89 -0
  332. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/polish-guide.md +349 -0
  333. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/polish.md +47 -0
  334. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/review.md +31 -0
  335. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/scene-description.md +14 -0
  336. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/substyle-writer.md +101 -0
  337. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/typesetting.md +60 -0
  338. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/writer-base.md +76 -0
  339. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//346/234/235/345/240/202/346/235/203/350/260/213/346/265/201/writing-user-prompt.md +92 -0
  340. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/chapter-hard-constraints.md +19 -0
  341. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/combat-scenes.md +18 -0
  342. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/continuity-summary.md +33 -0
  343. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/desire-description.md +314 -0
  344. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/dialogue-writing.md +13 -0
  345. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/emotion-psychology.md +13 -0
  346. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/examples.md +61 -0
  347. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/extract-state.md +126 -0
  348. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/genre-writer.md +179 -0
  349. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/opening-three.md +18 -0
  350. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/outline-master.md +59 -0
  351. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/outline-polish.md +39 -0
  352. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/outline-rewrite.md +70 -0
  353. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/outline-volume.md +89 -0
  354. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/polish-guide.md +349 -0
  355. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/polish.md +47 -0
  356. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/review.md +31 -0
  357. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/scene-description.md +14 -0
  358. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/substyle-writer.md +87 -0
  359. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/typesetting.md +60 -0
  360. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/writer-base.md +76 -0
  361. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/alt-history//347/247/215/347/224/260/346/265/201/writing-user-prompt.md +92 -0
  362. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/chapter-hard-constraints.md +19 -0
  363. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/combat-scenes.md +18 -0
  364. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/continuity-summary.md +33 -0
  365. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/desire-description.md +314 -0
  366. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/dialogue-writing.md +13 -0
  367. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/emotion-psychology.md +13 -0
  368. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/examples.md +57 -0
  369. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/extract-state.md +126 -0
  370. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/genre-writer.md +191 -0
  371. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/opening-three.md +18 -0
  372. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/outline-master.md +59 -0
  373. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/outline-polish.md +39 -0
  374. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/outline-rewrite.md +70 -0
  375. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/outline-volume.md +89 -0
  376. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/polish-guide.md +349 -0
  377. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/polish.md +47 -0
  378. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/review.md +31 -0
  379. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/scene-description.md +14 -0
  380. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/substyle-writer.md +110 -0
  381. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/typesetting.md +60 -0
  382. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/writer-base.md +76 -0
  383. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//344/270/247/345/260/270/346/261/202/347/224/237/346/265/201/writing-user-prompt.md +92 -0
  384. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/chapter-hard-constraints.md +19 -0
  385. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/combat-scenes.md +18 -0
  386. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/continuity-summary.md +33 -0
  387. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/desire-description.md +314 -0
  388. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/dialogue-writing.md +13 -0
  389. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/emotion-psychology.md +13 -0
  390. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/examples.md +51 -0
  391. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/extract-state.md +126 -0
  392. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/genre-writer.md +191 -0
  393. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/opening-three.md +18 -0
  394. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/outline-master.md +59 -0
  395. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/outline-polish.md +39 -0
  396. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/outline-rewrite.md +70 -0
  397. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/outline-volume.md +89 -0
  398. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/polish-guide.md +349 -0
  399. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/polish.md +47 -0
  400. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/review.md +31 -0
  401. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/scene-description.md +14 -0
  402. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/substyle-writer.md +98 -0
  403. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/typesetting.md +60 -0
  404. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/writer-base.md +76 -0
  405. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/233/244/350/264/247/346/265/201/writing-user-prompt.md +92 -0
  406. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/chapter-hard-constraints.md +19 -0
  407. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/combat-scenes.md +18 -0
  408. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/continuity-summary.md +33 -0
  409. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/desire-description.md +314 -0
  410. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/dialogue-writing.md +13 -0
  411. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/emotion-psychology.md +13 -0
  412. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/examples.md +59 -0
  413. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/extract-state.md +126 -0
  414. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/genre-writer.md +191 -0
  415. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/opening-three.md +18 -0
  416. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/outline-master.md +59 -0
  417. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/outline-polish.md +39 -0
  418. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/outline-rewrite.md +70 -0
  419. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/outline-volume.md +89 -0
  420. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/polish-guide.md +349 -0
  421. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/polish.md +47 -0
  422. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/review.md +31 -0
  423. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/scene-description.md +14 -0
  424. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/substyle-writer.md +105 -0
  425. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/typesetting.md +60 -0
  426. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/writer-base.md +76 -0
  427. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/apocalypse//345/244/251/347/201/276/346/261/202/347/224/237/346/265/201/writing-user-prompt.md +92 -0
  428. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/chapter-hard-constraints.md +19 -0
  429. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/combat-scenes.md +18 -0
  430. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/continuity-summary.md +33 -0
  431. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/desire-description.md +315 -0
  432. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/dialogue-writing.md +13 -0
  433. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/emotion-psychology.md +13 -0
  434. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/examples.md +55 -0
  435. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/extract-state.md +126 -0
  436. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/genre-writer.md +120 -0
  437. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/opening-three.md +18 -0
  438. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/outline-master.md +59 -0
  439. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/outline-polish.md +39 -0
  440. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/outline-rewrite.md +70 -0
  441. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/outline-volume.md +89 -0
  442. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/polish-guide.md +350 -0
  443. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/polish.md +47 -0
  444. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/review.md +31 -0
  445. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/scene-description.md +14 -0
  446. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/substyle-writer.md +160 -0
  447. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/typesetting.md +60 -0
  448. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/writer-base.md +76 -0
  449. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/234/253/350/267/257/346/261/202/347/224/237/writing-user-prompt.md +92 -0
  450. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/chapter-hard-constraints.md +19 -0
  451. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/combat-scenes.md +18 -0
  452. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/continuity-summary.md +33 -0
  453. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/desire-description.md +315 -0
  454. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/dialogue-writing.md +13 -0
  455. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/emotion-psychology.md +13 -0
  456. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/examples.md +55 -0
  457. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/extract-state.md +126 -0
  458. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/genre-writer.md +120 -0
  459. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/opening-three.md +18 -0
  460. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/outline-master.md +59 -0
  461. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/outline-polish.md +39 -0
  462. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/outline-rewrite.md +70 -0
  463. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/outline-volume.md +89 -0
  464. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/polish-guide.md +350 -0
  465. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/polish.md +47 -0
  466. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/review.md +31 -0
  467. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/scene-description.md +14 -0
  468. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/substyle-writer.md +163 -0
  469. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/typesetting.md +60 -0
  470. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/writer-base.md +76 -0
  471. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//346/235/203/350/260/213/345/200/276/350/275/247/writing-user-prompt.md +92 -0
  472. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/chapter-hard-constraints.md +19 -0
  473. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/combat-scenes.md +18 -0
  474. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/continuity-summary.md +33 -0
  475. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/desire-description.md +315 -0
  476. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/dialogue-writing.md +13 -0
  477. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/emotion-psychology.md +13 -0
  478. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/examples.md +51 -0
  479. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/extract-state.md +126 -0
  480. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/genre-writer.md +120 -0
  481. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/opening-three.md +18 -0
  482. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/outline-master.md +59 -0
  483. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/outline-polish.md +39 -0
  484. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/outline-rewrite.md +70 -0
  485. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/outline-volume.md +89 -0
  486. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/polish-guide.md +350 -0
  487. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/polish.md +47 -0
  488. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/review.md +31 -0
  489. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/scene-description.md +14 -0
  490. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/substyle-writer.md +144 -0
  491. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/typesetting.md +60 -0
  492. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/writer-base.md +76 -0
  493. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dark//351/273/221/346/232/227/344/277/256/344/273/231/writing-user-prompt.md +92 -0
  494. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/chapter-hard-constraints.md +19 -0
  495. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/combat-scenes.md +18 -0
  496. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/continuity-summary.md +33 -0
  497. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/desire-description.md +314 -0
  498. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/dialogue-writing.md +13 -0
  499. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/emotion-psychology.md +13 -0
  500. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/examples.md +61 -0
  501. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/extract-state.md +126 -0
  502. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/genre-writer.md +174 -0
  503. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/opening-three.md +18 -0
  504. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/outline-master.md +59 -0
  505. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/outline-polish.md +39 -0
  506. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/outline-rewrite.md +70 -0
  507. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/outline-volume.md +89 -0
  508. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/polish-guide.md +349 -0
  509. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/polish.md +47 -0
  510. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/review.md +31 -0
  511. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/scene-description.md +14 -0
  512. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/substyle-writer.md +109 -0
  513. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/typesetting.md +60 -0
  514. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/writer-base.md +76 -0
  515. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/261/252/351/227/250/344/277/256/347/275/227/345/234/272/writing-user-prompt.md +92 -0
  516. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/chapter-hard-constraints.md +19 -0
  517. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/combat-scenes.md +18 -0
  518. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/continuity-summary.md +33 -0
  519. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/desire-description.md +314 -0
  520. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/dialogue-writing.md +13 -0
  521. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/emotion-psychology.md +13 -0
  522. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/examples.md +65 -0
  523. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/extract-state.md +126 -0
  524. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/genre-writer.md +174 -0
  525. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/opening-three.md +18 -0
  526. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/outline-master.md +59 -0
  527. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/outline-polish.md +39 -0
  528. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/outline-rewrite.md +70 -0
  529. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/outline-volume.md +89 -0
  530. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/polish-guide.md +349 -0
  531. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/polish.md +47 -0
  532. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/review.md +31 -0
  533. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/scene-description.md +14 -0
  534. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/substyle-writer.md +110 -0
  535. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/typesetting.md +60 -0
  536. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/writer-base.md +76 -0
  537. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272/writing-user-prompt.md +92 -0
  538. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/chapter-hard-constraints.md +19 -0
  539. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/combat-scenes.md +18 -0
  540. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/continuity-summary.md +33 -0
  541. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/desire-description.md +314 -0
  542. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/dialogue-writing.md +13 -0
  543. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/emotion-psychology.md +13 -0
  544. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/examples.md +83 -0
  545. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/extract-state.md +126 -0
  546. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/genre-writer.md +174 -0
  547. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/opening-three.md +18 -0
  548. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/outline-master.md +59 -0
  549. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/outline-polish.md +39 -0
  550. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/outline-rewrite.md +70 -0
  551. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/outline-volume.md +89 -0
  552. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/polish-guide.md +349 -0
  553. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/polish.md +47 -0
  554. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/review.md +31 -0
  555. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/scene-description.md +14 -0
  556. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/substyle-writer.md +119 -0
  557. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/typesetting.md +60 -0
  558. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/writer-base.md +76 -0
  559. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/dog-blood-romance//351/253/230/347/224/234/346/213/211/346/211/257/writing-user-prompt.md +92 -0
  560. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/chapter-hard-constraints.md +19 -0
  561. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/combat-scenes.md +18 -0
  562. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/continuity-summary.md +33 -0
  563. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/desire-description.md +315 -0
  564. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/dialogue-writing.md +13 -0
  565. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/emotion-psychology.md +13 -0
  566. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/examples.md +53 -0
  567. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/extract-state.md +126 -0
  568. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/genre-writer.md +176 -0
  569. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/opening-three.md +18 -0
  570. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/outline-master.md +59 -0
  571. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/outline-polish.md +39 -0
  572. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/outline-rewrite.md +70 -0
  573. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/outline-volume.md +89 -0
  574. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/polish-guide.md +350 -0
  575. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/polish.md +47 -0
  576. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/review.md +31 -0
  577. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/scene-description.md +14 -0
  578. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/substyle-writer.md +82 -0
  579. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/typesetting.md +60 -0
  580. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/writer-base.md +76 -0
  581. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//344/271/241/351/207/216/347/246/201/345/277/214/346/265/201/writing-user-prompt.md +92 -0
  582. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/chapter-hard-constraints.md +19 -0
  583. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/combat-scenes.md +18 -0
  584. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/continuity-summary.md +33 -0
  585. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/desire-description.md +315 -0
  586. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/dialogue-writing.md +13 -0
  587. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/emotion-psychology.md +13 -0
  588. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/examples.md +59 -0
  589. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/extract-state.md +126 -0
  590. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/genre-writer.md +176 -0
  591. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/opening-three.md +18 -0
  592. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/outline-master.md +59 -0
  593. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/outline-polish.md +39 -0
  594. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/outline-rewrite.md +70 -0
  595. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/outline-volume.md +89 -0
  596. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/polish-guide.md +350 -0
  597. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/polish.md +47 -0
  598. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/review.md +31 -0
  599. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/scene-description.md +14 -0
  600. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/substyle-writer.md +94 -0
  601. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/typesetting.md +60 -0
  602. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/writer-base.md +76 -0
  603. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//347/231/275/344/272/213/346/211/213/350/211/272/346/265/201/writing-user-prompt.md +92 -0
  604. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/chapter-hard-constraints.md +19 -0
  605. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/combat-scenes.md +18 -0
  606. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/continuity-summary.md +33 -0
  607. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/desire-description.md +315 -0
  608. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/dialogue-writing.md +13 -0
  609. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/emotion-psychology.md +13 -0
  610. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/examples.md +57 -0
  611. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/extract-state.md +126 -0
  612. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/genre-writer.md +176 -0
  613. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/opening-three.md +18 -0
  614. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/outline-master.md +59 -0
  615. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/outline-polish.md +39 -0
  616. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/outline-rewrite.md +70 -0
  617. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/outline-volume.md +89 -0
  618. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/polish-guide.md +350 -0
  619. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/polish.md +47 -0
  620. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/review.md +31 -0
  621. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/scene-description.md +14 -0
  622. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/substyle-writer.md +95 -0
  623. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/typesetting.md +60 -0
  624. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/writer-base.md +76 -0
  625. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/folk-horror//351/251/261/351/202/252/344/270/226/345/256/266/346/265/201/writing-user-prompt.md +92 -0
  626. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/chapter-hard-constraints.md +19 -0
  627. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/combat-scenes.md +18 -0
  628. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/continuity-summary.md +33 -0
  629. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/desire-description.md +315 -0
  630. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/dialogue-writing.md +13 -0
  631. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/emotion-psychology.md +13 -0
  632. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/examples.md +51 -0
  633. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/extract-state.md +126 -0
  634. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/genre-writer.md +179 -0
  635. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/opening-three.md +18 -0
  636. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/outline-master.md +59 -0
  637. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/outline-polish.md +39 -0
  638. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/outline-rewrite.md +70 -0
  639. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/outline-volume.md +89 -0
  640. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/polish-guide.md +350 -0
  641. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/polish.md +47 -0
  642. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/review.md +31 -0
  643. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/scene-description.md +14 -0
  644. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/substyle-writer.md +94 -0
  645. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/typesetting.md +60 -0
  646. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/writer-base.md +76 -0
  647. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//345/205/213/347/263/273/347/224/237/345/255/230/346/265/201/writing-user-prompt.md +92 -0
  648. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/chapter-hard-constraints.md +19 -0
  649. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/combat-scenes.md +18 -0
  650. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/continuity-summary.md +33 -0
  651. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/desire-description.md +315 -0
  652. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/dialogue-writing.md +13 -0
  653. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/emotion-psychology.md +13 -0
  654. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/examples.md +53 -0
  655. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/extract-state.md +126 -0
  656. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/genre-writer.md +179 -0
  657. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/opening-three.md +18 -0
  658. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/outline-master.md +59 -0
  659. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/outline-polish.md +39 -0
  660. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/outline-rewrite.md +70 -0
  661. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/outline-volume.md +89 -0
  662. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/polish-guide.md +350 -0
  663. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/polish.md +47 -0
  664. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/review.md +31 -0
  665. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/scene-description.md +14 -0
  666. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/substyle-writer.md +90 -0
  667. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/typesetting.md +60 -0
  668. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/writer-base.md +76 -0
  669. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//347/245/236/347/247/230/345/255/246/350/260/203/346/237/245/346/265/201/writing-user-prompt.md +92 -0
  670. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/chapter-hard-constraints.md +19 -0
  671. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/combat-scenes.md +18 -0
  672. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/continuity-summary.md +33 -0
  673. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/desire-description.md +315 -0
  674. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/dialogue-writing.md +13 -0
  675. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/emotion-psychology.md +13 -0
  676. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/examples.md +53 -0
  677. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/extract-state.md +126 -0
  678. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/genre-writer.md +179 -0
  679. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/opening-three.md +18 -0
  680. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/outline-master.md +59 -0
  681. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/outline-polish.md +39 -0
  682. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/outline-rewrite.md +70 -0
  683. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/outline-volume.md +89 -0
  684. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/polish-guide.md +350 -0
  685. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/polish.md +47 -0
  686. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/review.md +31 -0
  687. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/scene-description.md +14 -0
  688. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/substyle-writer.md +86 -0
  689. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/typesetting.md +60 -0
  690. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/writer-base.md +76 -0
  691. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/mystic-sequence//351/200/224/345/276/204/346/231/213/345/215/207/346/265/201/writing-user-prompt.md +92 -0
  692. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/chapter-hard-constraints.md +19 -0
  693. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/combat-scenes.md +18 -0
  694. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/continuity-summary.md +33 -0
  695. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/desire-description.md +314 -0
  696. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/dialogue-writing.md +13 -0
  697. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/emotion-psychology.md +13 -0
  698. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/examples.md +61 -0
  699. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/extract-state.md +126 -0
  700. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/genre-writer.md +171 -0
  701. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/opening-three.md +18 -0
  702. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/outline-master.md +59 -0
  703. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/outline-polish.md +39 -0
  704. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/outline-rewrite.md +70 -0
  705. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/outline-volume.md +89 -0
  706. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/polish-guide.md +349 -0
  707. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/polish.md +47 -0
  708. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/review.md +31 -0
  709. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/scene-description.md +14 -0
  710. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/substyle-writer.md +80 -0
  711. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/typesetting.md +60 -0
  712. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/writer-base.md +76 -0
  713. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/205/346/226/227/351/200/206/350/242/255/writing-user-prompt.md +92 -0
  714. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/chapter-hard-constraints.md +19 -0
  715. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/combat-scenes.md +18 -0
  716. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/continuity-summary.md +33 -0
  717. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/desire-description.md +314 -0
  718. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/dialogue-writing.md +13 -0
  719. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/emotion-psychology.md +13 -0
  720. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/examples.md +63 -0
  721. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/extract-state.md +126 -0
  722. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/genre-writer.md +171 -0
  723. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/opening-three.md +18 -0
  724. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/outline-master.md +59 -0
  725. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/outline-polish.md +39 -0
  726. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/outline-rewrite.md +70 -0
  727. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/outline-volume.md +89 -0
  728. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/polish-guide.md +349 -0
  729. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/polish.md +47 -0
  730. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/review.md +31 -0
  731. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/scene-description.md +14 -0
  732. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/substyle-writer.md +110 -0
  733. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/typesetting.md +60 -0
  734. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/writer-base.md +76 -0
  735. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//345/256/253/346/226/227/346/235/203/350/260/213/writing-user-prompt.md +92 -0
  736. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/chapter-hard-constraints.md +19 -0
  737. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/combat-scenes.md +18 -0
  738. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/continuity-summary.md +33 -0
  739. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/desire-description.md +314 -0
  740. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/dialogue-writing.md +13 -0
  741. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/emotion-psychology.md +13 -0
  742. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/examples.md +67 -0
  743. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/extract-state.md +126 -0
  744. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/genre-writer.md +171 -0
  745. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/opening-three.md +18 -0
  746. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/outline-master.md +59 -0
  747. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/outline-polish.md +39 -0
  748. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/outline-rewrite.md +70 -0
  749. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/outline-volume.md +89 -0
  750. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/polish-guide.md +349 -0
  751. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/polish.md +47 -0
  752. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/review.md +31 -0
  753. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/scene-description.md +14 -0
  754. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/substyle-writer.md +83 -0
  755. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/typesetting.md +60 -0
  756. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/writer-base.md +76 -0
  757. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/period-drama//346/234/235/345/240/202/350/201/224/345/247/273/writing-user-prompt.md +92 -0
  758. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/chapter-hard-constraints.md +19 -0
  759. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/combat-scenes.md +18 -0
  760. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/continuity-summary.md +33 -0
  761. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/desire-description.md +314 -0
  762. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/dialogue-writing.md +13 -0
  763. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/emotion-psychology.md +13 -0
  764. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/examples.md +63 -0
  765. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/extract-state.md +126 -0
  766. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/genre-writer.md +145 -0
  767. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/opening-three.md +18 -0
  768. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/outline-master.md +59 -0
  769. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/outline-polish.md +39 -0
  770. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/outline-rewrite.md +70 -0
  771. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/outline-volume.md +89 -0
  772. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/polish-guide.md +349 -0
  773. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/polish.md +47 -0
  774. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/review.md +31 -0
  775. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/scene-description.md +14 -0
  776. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/substyle-writer.md +73 -0
  777. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/typesetting.md +60 -0
  778. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/writer-base.md +76 -0
  779. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//350/201/214/345/234/272/351/200/206/350/242/255/writing-user-prompt.md +92 -0
  780. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/chapter-hard-constraints.md +19 -0
  781. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/combat-scenes.md +18 -0
  782. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/continuity-summary.md +33 -0
  783. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/desire-description.md +314 -0
  784. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/dialogue-writing.md +13 -0
  785. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/emotion-psychology.md +13 -0
  786. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/examples.md +65 -0
  787. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/extract-state.md +126 -0
  788. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/genre-writer.md +145 -0
  789. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/opening-three.md +18 -0
  790. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/outline-master.md +59 -0
  791. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/outline-polish.md +39 -0
  792. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/outline-rewrite.md +70 -0
  793. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/outline-volume.md +89 -0
  794. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/polish-guide.md +349 -0
  795. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/polish.md +47 -0
  796. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/review.md +31 -0
  797. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/scene-description.md +14 -0
  798. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/substyle-writer.md +63 -0
  799. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/typesetting.md +60 -0
  800. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/writer-base.md +76 -0
  801. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/345/274/202/350/203/275/writing-user-prompt.md +92 -0
  802. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/chapter-hard-constraints.md +19 -0
  803. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/combat-scenes.md +18 -0
  804. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/continuity-summary.md +33 -0
  805. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/desire-description.md +314 -0
  806. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/dialogue-writing.md +13 -0
  807. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/emotion-psychology.md +13 -0
  808. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/examples.md +61 -0
  809. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/extract-state.md +126 -0
  810. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/genre-writer.md +145 -0
  811. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/opening-three.md +18 -0
  812. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/outline-master.md +59 -0
  813. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/outline-polish.md +39 -0
  814. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/outline-rewrite.md +70 -0
  815. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/outline-volume.md +89 -0
  816. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/polish-guide.md +349 -0
  817. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/polish.md +47 -0
  818. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/review.md +31 -0
  819. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/scene-description.md +14 -0
  820. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/substyle-writer.md +64 -0
  821. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/typesetting.md +60 -0
  822. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/writer-base.md +76 -0
  823. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/realistic//351/203/275/345/270/202/346/210/220/351/225/277/writing-user-prompt.md +92 -0
  824. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/chapter-hard-constraints.md +19 -0
  825. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/combat-scenes.md +18 -0
  826. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/continuity-summary.md +33 -0
  827. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/desire-description.md +315 -0
  828. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/dialogue-writing.md +13 -0
  829. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/emotion-psychology.md +13 -0
  830. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/examples.md +49 -0
  831. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/extract-state.md +126 -0
  832. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/genre-writer.md +143 -0
  833. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/opening-three.md +18 -0
  834. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/outline-master.md +59 -0
  835. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/outline-polish.md +39 -0
  836. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/outline-rewrite.md +70 -0
  837. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/outline-volume.md +89 -0
  838. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/polish-guide.md +350 -0
  839. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/polish.md +47 -0
  840. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/review.md +31 -0
  841. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/scene-description.md +14 -0
  842. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/substyle-writer.md +98 -0
  843. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/typesetting.md +60 -0
  844. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/writer-base.md +76 -0
  845. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//345/257/206/345/256/244/350/260/203/346/237/245/346/265/201/writing-user-prompt.md +92 -0
  846. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/chapter-hard-constraints.md +19 -0
  847. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/combat-scenes.md +18 -0
  848. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/continuity-summary.md +33 -0
  849. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/desire-description.md +315 -0
  850. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/dialogue-writing.md +13 -0
  851. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/emotion-psychology.md +13 -0
  852. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/examples.md +53 -0
  853. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/extract-state.md +126 -0
  854. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/genre-writer.md +143 -0
  855. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/opening-three.md +18 -0
  856. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/outline-master.md +59 -0
  857. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/outline-polish.md +39 -0
  858. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/outline-rewrite.md +70 -0
  859. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/outline-volume.md +89 -0
  860. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/polish-guide.md +350 -0
  861. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/polish.md +47 -0
  862. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/review.md +31 -0
  863. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/scene-description.md +14 -0
  864. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/substyle-writer.md +94 -0
  865. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/typesetting.md +60 -0
  866. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/writer-base.md +76 -0
  867. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/247/204/345/210/231/347/224/237/345/255/230/346/265/201/writing-user-prompt.md +92 -0
  868. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/chapter-hard-constraints.md +19 -0
  869. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/combat-scenes.md +18 -0
  870. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/continuity-summary.md +33 -0
  871. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/desire-description.md +315 -0
  872. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/dialogue-writing.md +13 -0
  873. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/emotion-psychology.md +13 -0
  874. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/examples.md +53 -0
  875. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/extract-state.md +126 -0
  876. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/genre-writer.md +143 -0
  877. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/opening-three.md +18 -0
  878. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/outline-master.md +59 -0
  879. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/outline-polish.md +39 -0
  880. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/outline-rewrite.md +70 -0
  881. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/outline-volume.md +89 -0
  882. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/polish-guide.md +350 -0
  883. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/polish.md +47 -0
  884. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/review.md +31 -0
  885. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/scene-description.md +14 -0
  886. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/substyle-writer.md +94 -0
  887. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/typesetting.md +60 -0
  888. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/writer-base.md +76 -0
  889. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/rules-mystery//350/257/241/345/261/200/346/216/250/346/274/224/346/265/201/writing-user-prompt.md +92 -0
  890. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/chapter-hard-constraints.md +19 -0
  891. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/combat-scenes.md +18 -0
  892. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/continuity-summary.md +33 -0
  893. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/desire-description.md +314 -0
  894. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/dialogue-writing.md +13 -0
  895. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/emotion-psychology.md +13 -0
  896. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/examples.md +59 -0
  897. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/extract-state.md +126 -0
  898. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/genre-writer.md +188 -0
  899. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/opening-three.md +18 -0
  900. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/outline-master.md +59 -0
  901. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/outline-polish.md +39 -0
  902. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/outline-rewrite.md +70 -0
  903. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/outline-volume.md +89 -0
  904. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/polish-guide.md +349 -0
  905. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/polish.md +47 -0
  906. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/review.md +31 -0
  907. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/scene-description.md +14 -0
  908. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/substyle-writer.md +96 -0
  909. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/typesetting.md +60 -0
  910. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/writer-base.md +76 -0
  911. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//345/272/237/345/234/237/346/224/271/351/200/240/346/265/201/writing-user-prompt.md +92 -0
  912. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/chapter-hard-constraints.md +19 -0
  913. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/combat-scenes.md +18 -0
  914. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/continuity-summary.md +33 -0
  915. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/desire-description.md +314 -0
  916. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/dialogue-writing.md +13 -0
  917. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/emotion-psychology.md +13 -0
  918. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/examples.md +61 -0
  919. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/extract-state.md +126 -0
  920. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/genre-writer.md +188 -0
  921. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/opening-three.md +18 -0
  922. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/outline-master.md +59 -0
  923. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/outline-polish.md +39 -0
  924. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/outline-rewrite.md +70 -0
  925. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/outline-volume.md +89 -0
  926. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/polish-guide.md +349 -0
  927. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/polish.md +47 -0
  928. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/review.md +31 -0
  929. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/scene-description.md +14 -0
  930. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/substyle-writer.md +86 -0
  931. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/typesetting.md +60 -0
  932. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/writer-base.md +76 -0
  933. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/230/237/351/231/205/346/226/207/346/230/216/346/265/201/writing-user-prompt.md +92 -0
  934. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/chapter-hard-constraints.md +19 -0
  935. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/combat-scenes.md +18 -0
  936. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/continuity-summary.md +33 -0
  937. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/desire-description.md +314 -0
  938. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/dialogue-writing.md +13 -0
  939. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/emotion-psychology.md +13 -0
  940. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/examples.md +55 -0
  941. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/extract-state.md +126 -0
  942. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/genre-writer.md +188 -0
  943. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/opening-three.md +18 -0
  944. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/outline-master.md +59 -0
  945. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/outline-polish.md +39 -0
  946. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/outline-rewrite.md +70 -0
  947. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/outline-volume.md +89 -0
  948. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/polish-guide.md +349 -0
  949. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/polish.md +47 -0
  950. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/review.md +31 -0
  951. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/scene-description.md +14 -0
  952. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/substyle-writer.md +82 -0
  953. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/typesetting.md +60 -0
  954. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/writer-base.md +76 -0
  955. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/scifi//346/234/272/347/224/262/346/210/230/344/272/211/346/265/201/writing-user-prompt.md +92 -0
  956. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/chapter-hard-constraints.md +19 -0
  957. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/combat-scenes.md +18 -0
  958. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/continuity-summary.md +34 -0
  959. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/desire-description.md +314 -0
  960. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/dialogue-writing.md +13 -0
  961. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/emotion-psychology.md +13 -0
  962. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/examples.md +53 -0
  963. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/extract-state.md +126 -0
  964. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/genre-writer.md +197 -0
  965. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/opening-three.md +18 -0
  966. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/outline-master.md +60 -0
  967. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/outline-polish.md +39 -0
  968. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/outline-rewrite.md +71 -0
  969. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/outline-volume.md +90 -0
  970. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/polish-guide.md +349 -0
  971. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/polish.md +47 -0
  972. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/review.md +31 -0
  973. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/scene-description.md +14 -0
  974. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/substyle-writer.md +92 -0
  975. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/typesetting.md +60 -0
  976. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/writer-base.md +76 -0
  977. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/207/241/344/272/272/346/265/201/writing-user-prompt.md +92 -0
  978. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/chapter-hard-constraints.md +19 -0
  979. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/combat-scenes.md +18 -0
  980. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/continuity-summary.md +33 -0
  981. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/desire-description.md +314 -0
  982. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/dialogue-writing.md +13 -0
  983. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/emotion-psychology.md +13 -0
  984. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/examples.md +57 -0
  985. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/extract-state.md +126 -0
  986. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/genre-writer.md +197 -0
  987. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/opening-three.md +18 -0
  988. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/outline-master.md +60 -0
  989. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/outline-polish.md +39 -0
  990. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/outline-rewrite.md +71 -0
  991. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/outline-volume.md +90 -0
  992. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/polish-guide.md +349 -0
  993. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/polish.md +47 -0
  994. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/review.md +31 -0
  995. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/scene-description.md +14 -0
  996. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/substyle-writer.md +12 -0
  997. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/typesetting.md +60 -0
  998. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/writer-base.md +76 -0
  999. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//345/256/227/351/227/250/346/210/220/351/225/277/346/265/201/writing-user-prompt.md +92 -0
  1000. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/chapter-hard-constraints.md +19 -0
  1001. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/combat-scenes.md +18 -0
  1002. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/continuity-summary.md +33 -0
  1003. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/desire-description.md +314 -0
  1004. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/dialogue-writing.md +13 -0
  1005. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/emotion-psychology.md +13 -0
  1006. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/examples.md +65 -0
  1007. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/extract-state.md +126 -0
  1008. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/genre-writer.md +197 -0
  1009. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/opening-three.md +18 -0
  1010. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/outline-master.md +60 -0
  1011. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/outline-polish.md +39 -0
  1012. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/outline-rewrite.md +71 -0
  1013. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/outline-volume.md +90 -0
  1014. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/polish-guide.md +349 -0
  1015. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/polish.md +47 -0
  1016. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/review.md +31 -0
  1017. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/scene-description.md +14 -0
  1018. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/substyle-writer.md +177 -0
  1019. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/typesetting.md +60 -0
  1020. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/writer-base.md +76 -0
  1021. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//347/203/255/350/241/200/345/215/207/347/272/247/346/265/201/writing-user-prompt.md +92 -0
  1022. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/chapter-hard-constraints.md +19 -0
  1023. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/combat-scenes.md +18 -0
  1024. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/continuity-summary.md +34 -0
  1025. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/desire-description.md +314 -0
  1026. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/dialogue-writing.md +13 -0
  1027. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/emotion-psychology.md +13 -0
  1028. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/examples.md +53 -0
  1029. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/extract-state.md +126 -0
  1030. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/genre-writer.md +197 -0
  1031. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/opening-three.md +18 -0
  1032. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/outline-master.md +60 -0
  1033. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/outline-polish.md +39 -0
  1034. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/outline-rewrite.md +71 -0
  1035. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/outline-volume.md +90 -0
  1036. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/polish-guide.md +349 -0
  1037. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/polish.md +47 -0
  1038. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/review.md +31 -0
  1039. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/scene-description.md +14 -0
  1040. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/substyle-writer.md +103 -0
  1041. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/typesetting.md +60 -0
  1042. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/writer-base.md +76 -0
  1043. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/xuanhuan//350/213/237/351/201/223/346/265/201/writing-user-prompt.md +92 -0
  1044. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/chapter-hard-constraints.md +19 -0
  1045. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/combat-scenes.md +18 -0
  1046. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/continuity-summary.md +33 -0
  1047. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/desire-description.md +314 -0
  1048. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/dialogue-writing.md +13 -0
  1049. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/emotion-psychology.md +13 -0
  1050. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/examples.md +55 -0
  1051. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/extract-state.md +126 -0
  1052. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/genre-writer.md +168 -0
  1053. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/opening-three.md +18 -0
  1054. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/outline-master.md +60 -0
  1055. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/outline-polish.md +39 -0
  1056. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/outline-rewrite.md +71 -0
  1057. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/outline-volume.md +90 -0
  1058. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/polish-guide.md +349 -0
  1059. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/polish.md +47 -0
  1060. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/review.md +31 -0
  1061. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/scene-description.md +14 -0
  1062. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/substyle-writer.md +65 -0
  1063. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/typesetting.md +60 -0
  1064. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/writer-base.md +76 -0
  1065. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/202/254/345/277/265/346/217/255/347/247/230/writing-user-prompt.md +92 -0
  1066. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/chapter-hard-constraints.md +19 -0
  1067. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/combat-scenes.md +18 -0
  1068. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/continuity-summary.md +33 -0
  1069. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/desire-description.md +314 -0
  1070. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/dialogue-writing.md +13 -0
  1071. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/emotion-psychology.md +13 -0
  1072. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/examples.md +53 -0
  1073. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/extract-state.md +126 -0
  1074. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/genre-writer.md +168 -0
  1075. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/opening-three.md +18 -0
  1076. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/outline-master.md +60 -0
  1077. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/outline-polish.md +39 -0
  1078. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/outline-rewrite.md +71 -0
  1079. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/outline-volume.md +90 -0
  1080. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/polish-guide.md +349 -0
  1081. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/polish.md +47 -0
  1082. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/review.md +31 -0
  1083. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/scene-description.md +14 -0
  1084. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/substyle-writer.md +81 -0
  1085. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/typesetting.md +60 -0
  1086. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/writer-base.md +76 -0
  1087. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//346/203/205/346/204/237/345/217/215/346/235/200/writing-user-prompt.md +92 -0
  1088. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/chapter-hard-constraints.md +19 -0
  1089. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/combat-scenes.md +18 -0
  1090. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/continuity-summary.md +33 -0
  1091. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/desire-description.md +314 -0
  1092. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/dialogue-writing.md +13 -0
  1093. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/emotion-psychology.md +13 -0
  1094. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/examples.md +51 -0
  1095. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/extract-state.md +126 -0
  1096. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/genre-writer.md +168 -0
  1097. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/opening-three.md +18 -0
  1098. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/outline-master.md +60 -0
  1099. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/outline-polish.md +39 -0
  1100. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/outline-rewrite.md +71 -0
  1101. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/outline-volume.md +90 -0
  1102. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/polish-guide.md +349 -0
  1103. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/polish.md +47 -0
  1104. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/review.md +31 -0
  1105. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/scene-description.md +14 -0
  1106. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/substyle-writer.md +81 -0
  1107. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/typesetting.md +60 -0
  1108. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/writer-base.md +76 -0
  1109. package/backend/webnovel-writer/.claude/skills/webnovel-write/prompts/genres/zhihu-short//351/253/230/350/203/275/345/217/215/350/275/254/writing-user-prompt.md +92 -0
  1110. package/backend/webnovel-writer/.claude/skills/webnovel-write/references/core-constraints.md +115 -0
  1111. package/backend/webnovel-writer/.claude/templates/genres//344/277/256/344/273/231.md +103 -0
  1112. package/backend/webnovel-writer/.claude/templates/genres//345/217/244/350/250/200.md +253 -0
  1113. package/backend/webnovel-writer/.claude/templates/genres//345/244/232/345/255/220/345/244/232/347/246/217.md +198 -0
  1114. package/backend/webnovel-writer/.claude/templates/genres//346/233/277/350/272/253/346/226/207.md +194 -0
  1115. package/backend/webnovel-writer/.claude/templates/genres//347/213/227/350/241/200/350/250/200/346/203/205.md +187 -0
  1116. package/backend/webnovel-writer/.claude/templates/genres//347/216/260/345/256/236/351/242/230/346/235/220.md +262 -0
  1117. package/backend/webnovel-writer/.claude/templates/genres//347/237/245/344/271/216/347/237/255/347/257/207.md +239 -0
  1118. package/backend/webnovel-writer/.claude/templates/genres//347/263/273/347/273/237/346/265/201.md +93 -0
  1119. package/backend/webnovel-writer/.claude/templates/genres//350/247/204/345/210/231/346/200/252/350/260/210.md +301 -0
  1120. package/backend/webnovel-writer/.claude/templates/genres//351/203/275/345/270/202/345/274/202/350/203/275.md +95 -0
  1121. package/backend/webnovel-writer/.claude/templates/genres//351/273/221/346/232/227/351/242/230/346/235/220.md +200 -0
  1122. package/backend/webnovel-writer/.claude/templates/golden-finger-templates.md +337 -0
  1123. package/backend/webnovel-writer/LICENSE +674 -0
  1124. package/backend/webnovel-writer/README.md +529 -0
  1125. package/backend/webnovel-writer/backend/dependencies.py +88 -0
  1126. package/backend/webnovel-writer/backend/main.py +72 -0
  1127. package/backend/webnovel-writer/backend/requirements.txt +11 -0
  1128. package/backend/webnovel-writer/backend/routers/__init__.py +2 -0
  1129. package/backend/webnovel-writer/backend/routers/ai.py +505 -0
  1130. package/backend/webnovel-writer/backend/routers/chapters.py +864 -0
  1131. package/backend/webnovel-writer/backend/routers/characters.py +563 -0
  1132. package/backend/webnovel-writer/backend/routers/entities.py +219 -0
  1133. package/backend/webnovel-writer/backend/routers/fanqie.py +197 -0
  1134. package/backend/webnovel-writer/backend/routers/outlines.py +474 -0
  1135. package/backend/webnovel-writer/backend/routers/projects.py +733 -0
  1136. package/backend/webnovel-writer/backend/routers/rag.py +195 -0
  1137. package/backend/webnovel-writer/backend/services/__init__.py +2 -0
  1138. package/backend/webnovel-writer/backend/services/activity_logger.py +60 -0
  1139. package/backend/webnovel-writer/backend/services/ai_service.py +878 -0
  1140. package/backend/webnovel-writer/backend/services/creative_brief.py +60 -0
  1141. package/backend/webnovel-writer/backend/services/fanqie_publisher.py +1205 -0
  1142. package/backend/webnovel-writer/backend/services/genre_catalog.py +1405 -0
  1143. package/backend/webnovel-writer/backend/services/genre_writer_agent.py +170 -0
  1144. package/backend/webnovel-writer/backend/services/project_prompt_store.py +643 -0
  1145. package/backend/webnovel-writer/backend/services/projects_manager.py +407 -0
  1146. package/backend/webnovel-writer/backend/services/prompt_fallbacks.py +773 -0
  1147. package/backend/webnovel-writer/backend/services/reset_derived_data.py +45 -0
  1148. package/backend/webnovel-writer/backend/services/skill_executor.py +7674 -0
  1149. package/backend/webnovel-writer/backend/services/usage_meter.py +21 -0
  1150. package/backend/webnovel-writer/backend/services/writer_tools.py +324 -0
  1151. package/backend/webnovel-writer/backend/utils.py +60 -0
  1152. package/client.js +3954 -0
  1153. package/cordis.patch.yml +18 -0
  1154. package/docs/quickstart.md +203 -0
  1155. package/docs/screenshots.md +57 -0
  1156. package/icon.svg +17 -0
  1157. package/index.js +1061 -0
  1158. package/locale/en.json +6 -0
  1159. package/locale/zh.json +6 -0
  1160. package/managed-runtime.mjs +115 -0
  1161. package/package.json +114 -6
  1162. package/runtime-download.json +6 -0
  1163. package/runtime-manifest.json +3421 -0
  1164. package/screenshots.json +10 -0
  1165. package/scripts/check-release.mjs +28 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 novel-helper contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,216 @@
1
- # Temporary Holding Version
1
+ # 码章鲸 · 全自动小说写作与番茄发布
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ **设好任务,让小说自己写下去、发出去。**
4
+
5
+ 码章鲸是运行在 DeepSeek Harness(DSH)里的无人值守小说工作台。连接模型、登录账号、设定任务后,由本机服务按计划完成章节写作、审查修订、发布与状态核验。你可以安排更新时间、每次章数和篇幅,也可以接入部分免费模型,通过支持的厂商账号渠道完成授权。
6
+
7
+ **[npm 安装](https://www.npmjs.com/package/dsh-chapter-whale)** · **[下载完整安装包](https://github.com/thus-zhou/dsh-chapter-whale/releases/latest)** · **[从安装到自动连载](docs/quickstart.md)** · **[查看全部实机图](docs/screenshots.md)**
8
+
9
+ Windows 10/11 x64 · DSH ≥ 0.2.2-rc.1 · 内置 Python 与浏览器 · 首个公开版本
10
+
11
+ **安装三步**:① 在 DSH 插件管理中添加 npm 包名 `dsh-chapter-whale`,或从[最新发布页](https://github.com/thus-zhou/dsh-chapter-whale/releases/latest)下载完整 `.tgz` → ② 安装后重启 DSH → ③ 侧栏打开「码章鲸」:建作品、配模型,需要发布时再登录番茄作家后台。
12
+
13
+ 首次启动会在 `%LOCALAPPDATA%\ChapterWhale\workspace` 建独立工作区并准备运行时,约占 400MB 磁盘。npm 包首次启动自动下载并校验约 278 MB 的固定版本环境;GitHub 完整包已包含环境。作品与账号数据留在独立工作区,卸载插件不会删除。完整包摘要见发布页的 `SHA256SUMS.txt`。仅支持 Windows x64。
14
+
15
+ ![码章鲸:全自动写作与发布、可自定义任务、部分免费模型与厂商账号登录](assets/chapter-whale-overview.png)
16
+
17
+ ## 把每天要做的更新,交给一个任务
18
+
19
+ 适合已经有故事想法,希望持续产出网文章节、维护连载的创作者。把题材、人物、文风和更新计划设好之后,码章鲸按同一套任务继续往下写,把生成、检查和提交发布接起来。
20
+
21
+ | 你想完成的事 | 码章鲸如何执行 |
22
+ | --- | --- |
23
+ | 每天按时更新 | 按任务设置的时间和时区触发,支持每天多个时段 |
24
+ | 自动完成一批章节 | 按每次章数、目标字数与已有规划推进写作 |
25
+ | 写完继续检查和修订 | 在任务流程中执行审查,并按设置尝试修订 |
26
+ | 合格章节自动提交番茄 | 校验作品、账号、来源与审查记录后,执行发布并核验状态 |
27
+ | 尽量利用已有模型资源 | 接入部分免费额度模型,以及支持的厂商账号渠道 |
28
+ | 随时知道任务做到哪里 | 查看当前章节、批次、进度、发布状态与操作历史 |
29
+
30
+ **首次配置完成并启用自动调度后,正常运行不需要逐章手动点击“生成”和“发布”。** 电脑与本地服务需要保持运行,模型可用、账号登录有效;验证码或授权失效时,由账号本人处理后继续。
31
+
32
+ ## 一条自动执行的连载流程
33
+
34
+ ```mermaid
35
+ flowchart LR
36
+ A[设定作品与日更任务] --> B[到点自动启动]
37
+ B --> C[按规划与记忆生成章节]
38
+ C --> D[自动审查与修订]
39
+ D --> E{满足发布条件}
40
+ E -->|满足| F[自动入队并提交番茄]
41
+ F --> G[核验发布状态与记录]
42
+ G --> H[等待下一次任务]
43
+ E -->|未满足| I[保留结果与原因,等待恢复或处理]
44
+ ```
45
+
46
+ 工作台会保留执行状态、章节内容和发布记录。需要干预时,可以查看原因、调整设置、暂停任务或恢复符合条件的批次。
47
+
48
+ ## 自己定时间、定章数、定篇幅
49
+
50
+ 你可以为作品创建自己的日更计划。例如:每天 08:00 和 20:00 各执行一次,每次 1 章,目标每章 3,500 字,最多修订 2 轮。
51
+
52
+ | 任务设置 | 可以控制什么 |
53
+ | --- | --- |
54
+ | 作品、平台书名与账号 | 这项任务替哪部作品、哪个账号更新 |
55
+ | 每日时间与时区 | 何时启动;支持多个更新时间 |
56
+ | 每次章节数 | 每个时段推进多少章 |
57
+ | 每章目标字数 | 本次写作希望达到的篇幅 |
58
+ | 修订轮数 | 自动审查后允许继续修改的次数 |
59
+ | 启用、暂停、立即执行与恢复 | 自己控制自动任务的运行节奏 |
60
+
61
+ ![日更任务的时间、章数、字数与执行控制](assets/screenshots/01-automation.png)
62
+
63
+ *实机记录:截图时任务已经结束并停用,保留当时的真实状态。新建任务和自动调度开关位于随包提供的完整管理页,具体步骤见[上手指南](docs/quickstart.md#4-创建自己的日更任务)。*
64
+
65
+ ## 已接入部分免费模型,也支持部分厂商账号登录
66
+
67
+ 已有可用的厂商账号,可以通过支持的渠道授权,再把可用模型用于写作任务;已有 API 服务,也可以直接配置 OpenAI 兼容接口。
68
+
69
+ - **渠道集中查看**:在同一个页面查看账号渠道、模型与使用状态。
70
+ - **部分厂商登录**:按对应渠道提供的登录流程完成授权,扫码或验证码由本人操作。
71
+ - **免费额度模型**:选择已可用、已确认额度类型的模型,配置到写作流程或免费渠道池。
72
+ - **按需轮换**:免费渠道池支持选入模型和授权作品,按配置尝试可用连接。
73
+ - **付费备选自行决定**:需要时再配置自己的备选模型与费用策略。
74
+
75
+ ![部分免费模型与厂商账号渠道的实机页面](assets/screenshots/03-free-channels.png)
76
+
77
+ 画面展示 CodeArts、WorkBuddy、Qoder、TRAE 等渠道入口。实际支持的登录方式、可用模型、额度和授权要求,以对应渠道的当前返回为准。完整管理页的「AI 设置 → 免费额度接入」提供渠道服务与授权操作;侧栏「免费渠道」用于查看状态。
78
+
79
+ ## 自动运行,也能看清每一步
80
+
81
+ ### 工作台:看任务进度和发布结果
82
+
83
+ 当前任务是否在运行、正在推进哪一章、批次是否结束、队列里还有多少内容,都能集中查看。已核验发布、未确认和归档待核会分别显示。
84
+
85
+ ![工作台中的作品进度、队列与任务结束状态](assets/screenshots/02-dashboard.png)
86
+
87
+ ### 作品与章节:自动产出的内容仍然可以查看和调整
88
+
89
+ 按章查看标题、字数与审查状态。需要时打开正文、重新审查或润色,把对内容的控制留在自己手里。
90
+
91
+ ![章节列表中的字数、审查状态与操作入口](assets/screenshots/04-chapters.png)
92
+
93
+ ### 连载记忆:让后续写作带着已有设定往前走
94
+
95
+ 共享记忆集中保存固定设定、已发生事实、伏笔与创作偏好。创作约定则保存题材、受众、人物和文风,作为自动写作的方向。
96
+
97
+ <table>
98
+ <tr>
99
+ <td width="50%"><img src="assets/screenshots/05-memory.png" alt="长篇共享记忆中的设定、事实与偏好"><br>随章节积累的长篇记忆</td>
100
+ <td width="50%"><img src="assets/screenshots/06-creative-brief.png" alt="题材、受众、人物和文风的创作约定"><br>让自动写作遵循你的创作约定</td>
101
+ </tr>
102
+ </table>
103
+
104
+ 模型分工、审查策略、成本统计和操作历史也保留在工作台中,需要时再进一步调整。[查看七张完整实机图 →](docs/screenshots.md)
105
+
106
+ > 图片来自作者提供的个人使用环境,已裁剪并以不透明区域遮盖作品信息、账号情况、本机路径及个人配置。未使用 AI 重绘界面或更改任务状态。部分画面沿用旧名称「小说助手」;背景是用户的个性化环境,公开版名称为「码章鲸」,界面随 DSH 主题显示。图中规模和数量是当时的项目记录。
107
+
108
+ ## 安装后,按这四步开始
109
+
110
+ ### 1. 从 npm 安装,或使用完整发行包
111
+
112
+ **DSH 桌面版**:在应用内「插件」管理中添加包名 `dsh-chapter-whale`,安装完成后重启。桌面 profile 由应用管理,推荐直接使用应用内的安装入口。
113
+
114
+ **使用 `dsh web` 的用户**:在终端安装到自己的 web profile:
115
+
116
+ ```powershell
117
+ dsh plugin --profile web add dsh-chapter-whale
118
+ ```
119
+
120
+ 安装后重启 `dsh web`,侧栏打开「码章鲸」。自定义 profile 请将 `web` 换成实际名称。npm 包提供插件与后端源码,Python 和浏览器会在首次启动时从 GitHub 自动下载,并核对固定大小与 SHA-256,不需要手动安装。
121
+
122
+ 也可以先从 npm 下载压缩包:
123
+
124
+ ```powershell
125
+ npm pack dsh-chapter-whale@latest
126
+ ```
127
+
128
+ 然后把生成的 `.tgz` 文件交给 DSH 插件管理安装。`npm pack` 只下载插件包,首次启动仍需要下载运行环境。
129
+
130
+ **希望一次下载完整环境**:使用下方 GitHub 完整发行包。
131
+
132
+ 在 DSH 插件管理中添加下方地址,安装完成后重启 DSH,从侧栏打开「码章鲸」,点击「开始使用码章鲸」。
133
+
134
+ ```text
135
+ https://github.com/thus-zhou/dsh-chapter-whale/releases/download/v0.2.0-rc.1/dsh-chapter-whale-0.2.0-rc.1.tgz
136
+ ```
137
+
138
+ 完整包约 **278 MB(265 MiB)**,包含独立 Python、写作后端和 Chromium,无需自己安装 Python、下载后端或填写项目目录。
139
+
140
+ <details>
141
+ <summary>使用命令行安装</summary>
142
+
143
+ ```powershell
144
+ dsh plugin --profile web add https://github.com/thus-zhou/dsh-chapter-whale/releases/download/v0.2.0-rc.1/dsh-chapter-whale-0.2.0-rc.1.tgz
145
+ ```
146
+
147
+ 这条命令面向 `dsh web`;桌面版请在应用内添加地址。也可以通过[自定义市场源](https://raw.githubusercontent.com/thus-zhou/dsh-chapter-whale/main/market/index.json)安装;源码安装的首次启动会自动下载并校验同版本环境。
148
+
149
+ </details>
150
+
151
+ #### 后续更新
152
+
153
+ 桌面版请在插件管理中检查更新。使用命令行的 web profile:
154
+
155
+ ```powershell
156
+ dsh plugin --profile web update dsh-chapter-whale
157
+ ```
158
+
159
+ 更新后重启对应的 DSH。若旧版宿主未完成升级,可显式安装 `dsh-chapter-whale@latest`。更新只替换插件及随版本提供的代码,作品、账号和任务保存在独立工作区;更新前建议备份该目录。首次环境已准备好且运行时版本未变时,不会重复下载。
160
+
161
+ ### 2. 创建作品,连接模型和账号
162
+
163
+ 在「开始创作与账号」填写书名与故事想法,再连接自己的模型。需要使用厂商账号渠道时,按完整管理页的授权流程操作。准备发布时,登录自己的番茄作家账号,并在平台创建对应作品。
164
+
165
+ ### 3. 建立日更任务
166
+
167
+ 插件启动后,打开本机完整管理页:
168
+
169
+ ```text
170
+ http://127.0.0.1:18765
171
+ ```
172
+
173
+ 进入「日更任务 → 创建日更任务」,选择作品与账号,设置时间、每次章数、目标字数和修订轮数。侧栏面板可以查看和调整已有任务;完整管理页提供新建任务与全局调度开关。
174
+
175
+ ### 4. 开启自动调度,让任务按计划执行
176
+
177
+ 启用这项任务,再打开「自动调度」。建议先用小章数跑通自己的模型与发布账号,再逐步调整更新量。此后保持本机服务运行,在工作台查看自动执行结果即可。
178
+
179
+ **[查看完整上手教程:从首次安装到无人值守连载 →](docs/quickstart.md)**
180
+
181
+ ## 常见问题
182
+
183
+ **可以完全无人值守吗?**
184
+
185
+ 可以在首次配置、模型连接和账号授权完成后,按已启用的任务自动写作、审查、修订并提交发布,正常执行不需要逐章点击。电脑或服务停止、额度耗尽、验证码、平台登录失效等情况需要恢复相应条件。
186
+
187
+ **免费模型在哪里登录?**
188
+
189
+ 先启动码章鲸,打开本机完整管理页,进入「AI 设置 → 免费额度接入」,启动独立渠道服务,再按支持渠道的页面操作。各厂商的账号、授权和额度规则分别生效。
190
+
191
+ **为什么建好任务还没有自动运行?**
192
+
193
+ 同时检查任务是否启用、全局「自动调度」是否开启、设定时区和时间是否正确,以及模型与发布账号是否可用。任务状态和操作历史会保留进一步的原因。
194
+
195
+ **一定要配置多个模型吗?**
196
+
197
+ 不需要从复杂分工开始。先用自己的可用模型跑通流程,再按需要调整各阶段的模型与审查策略。
198
+
199
+ **作品和账号数据存在哪里?**
200
+
201
+ 默认保存在本机 `%LOCALAPPDATA%\ChapterWhale\workspace`,与插件安装目录分开。更新或卸载插件不会主动删除这些数据;请自行备份工作区。默认后端地址为 `127.0.0.1:18765`。
202
+
203
+ **支持什么系统和平台?**
204
+
205
+ 当前公开版支持 Windows 10/11 x64、DSH ≥ 0.2.2-rc.1,发布适配番茄小说。平台审核与发布规则仍由平台决定。ARM64、macOS 和 Linux 尚未验收。
206
+
207
+ ## 文档与项目状态
208
+
209
+ - [从安装到自动连载](docs/quickstart.md):模型、厂商登录、番茄账号、任务和自动调度。
210
+ - [七张实机截图](docs/screenshots.md):各页面的用途及脱敏说明。
211
+ - [当前版本验证记录](RELEASE_STATUS.md):47 项插件测试、148 项后端测试、全新安装与独立 DSH 加载验证。
212
+ - [反馈问题](https://github.com/thus-zhou/dsh-chapter-whale/issues):附上版本、错误提示和脱敏截图,方便定位。
213
+
214
+ 包名为 `dsh-chapter-whale`,当前发行版本为 `0.2.0-rc.1`(首个公开版本)。项目使用 AI 辅助开发,组件声明见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
215
+
216
+ **[下载码章鲸,设置你的第一项自动更新任务 →](https://github.com/thus-zhou/dsh-chapter-whale/releases/tag/v0.2.0-rc.1)**
@@ -0,0 +1,26 @@
1
+ # 0.2.0-rc.1 · 首个公开版本验收范围
2
+
3
+ 这是包含完整本地环境的首个公开版本,2026-11-11 起在 GitHub 标记为 Latest。版本号保留 `rc.1`:功能范围已冻结,但后续仍会快速迭代。由 AI 辅助开发。
4
+
5
+ 已执行:
6
+
7
+ - 47 项插件测试:同源访问、令牌、写白名单、服务归属、客户端注册、清单与市场格式。
8
+ - 148 项后端测试:写作提交、审查回执、发布资格、文件锁、账号隔离、模型配置、设备访问和创作工作流。模型和平台由测试替身提供。
9
+ - 全新临时目录使用自带 Python 启动管理服务,无原作品、账号、密钥或自动调度。
10
+ - 真实 Chromium 渲染面板,创建作品、进入 AI 设置、切换至发布队列;未登录时发布按钮禁用。
11
+ - 桌面和 390px 手机宽度检查;手机页面无横向溢出,浏览器无脚本异常。
12
+ - 修复实体路径字符校验、实体失败写入状态、免费池思考模式接口、旧确认任务静默转为自动执行、无审批服务时工具自行写入,以及日志尾部读取。
13
+
14
+ 本次未调用收费模型、登录真实发布账号或提交真实章节。以上检查不能替代具体模型和平台账号的真实发布验收。请先生成、阅读并审查一章,再在自己的平台账号中核对实际发布记录。
15
+
16
+ 发行后验证(2026-11-10):
17
+
18
+ - GitHub 源码与 v0.2.0-rc.1 发行页已公开;2026-11-11 起该版本标记为 Latest(不再是 Pre-release),发行页另附 `SHA256SUMS.txt` 供核对安装包摘要。
19
+ - 完整安装包 277,747,400 字节;GitHub 资产摘要与本地下载清单一致:SHA-256 `158aa68e2154dc2461e9ded20ca380cf240777b5a56a4ae9ea3c57ba2c816d85`。
20
+ - 从 GitHub 标签重新检出不含运行环境的源码,自动下载、完整性校验、解包、启动及空白数据检查通过;本机网络实测 72 秒。
21
+ - 在独立的本机 DSH 0.2.2-rc.1 测试配置中完成安装并打开面板,未见页面脚本异常;本次未更改个人日常 profile。
22
+ - GitHub Actions 的 Windows 与 Ubuntu 源码检查通过。完整运行环境仅支持 Windows x64。
23
+ - 自定义市场索引返回 HTTP 200,并固定到可安装源码提交。
24
+ - 社区精选目录尚未收录;其建仓满一天的条件最早于北京时间 2026-11-11 17:34:11 满足。投稿条目已在 market/catalog-entry.yml 准备。
25
+
26
+ 免费渠道依赖中的 Gemini OAuth 默认凭据已从发行副本移除,并更新来源锁定哈希;相关渠道须使用自行配置的凭据。npm 未发布;不要求使用者注册 npm。
@@ -0,0 +1,16 @@
1
+ # 第三方组件与来源
2
+
3
+ 本软件由多个组件组合而成,项目使用 AI 辅助开发。以下保留随包组件要求的声明。
4
+
5
+ | 组件 | 许可状态 | 处理 |
6
+ | --- | --- | --- |
7
+ | 原 dsh-novel-helper 连接器 | MIT,保留原 LICENSE | 新增托管环境与首装功能另见修改记录 |
8
+ | webnovel-writer 写作器 | 上游 README 声明 GPL v3 | 保留 README,随包附 GPL v3 全文与修改记录;对应源码在 backend/webnovel-writer/,原仓库为 https://github.com/981029l/webnovel-writer |
9
+ | 发布适配组件 | AI 辅助开发 | 依据维护者确认的来源说明,不附加个人署名 |
10
+ | Our Free Model 及锁定依赖 | MIT 等,保留各目录许可证 | 来源与本地补丁见 backend/vendor/ofm-source-lock.json |
11
+ | Python | PSF License,随官方发行保留 LICENSE.txt | 下载来源和 SHA-256 见 runtime-manifest.json |
12
+ | Chromium / Playwright / Python 依赖 | 各自许可 | 保留发行包和 dist-info 中的许可证,不删除相关文本 |
13
+
14
+ 权利与联系处理:如发现来源、许可或权利问题,请通过仓库 Issue 联系维护者;维护者将核实并处理。此说明不替代任何组件的许可证。
15
+
16
+ 修改记录(2026-11-10):增加自带 Windows 环境、独立用户数据目录、首装建书与登录入口、作品切换和发布账号/书名选择;托管模式不读取旧的全局模型配置。现有个人部署没有被替换。
Binary file
@@ -0,0 +1,133 @@
1
+ # Fanqie Auto Publish (番茄小说全自动发文机器人) 🍅🤖
2
+
3
+ 这是一个基于 `Playwright` 的强大的番茄小说全自动网页端发文与状态管理自动化脚本。
4
+ 它能在完全无人值守的情况下,将本地批量的 `.txt` 章节文件精准投递并发布到番茄作家后台,且自带极其强悍的“断点续检”与“弹窗斩杀”机制。
5
+
6
+ ## 核心特性 ✨
7
+
8
+ - **智能断点续传**:意外中断后重启脚本,不会傻傻地重复创建章节,而是会进入【章节管理】自动识别未完成的残片草稿并继续覆盖发布。
9
+ - **神级弹窗斩杀器**:内置基于物理坐标(Y轴边界过滤)的霸道扫雷机制。不管是“新手引导 1/4”、还是“错别字警告”、“内容风险拦截”,都会被脚本瞬间点爆。
10
+ - **强制合规声明**:在最终发布面板中,脚本能自动拦截并勾选“是否使用AI”的法定单选框,确保发布万无一失。
11
+ - **多书隔离管理**:`chapters/` 下按书名建立子目录(如 `chapters/ai编程末日/`、`chapters/青冥独行录/`),脚本自动扫描并列出有待发章节的书籍,输入序号即可精准发布。发文成功后自动归档到 `uploaded/书名/` 下,多部小说章节永不混乱。
12
+ - **自定义发布数量**:选择小说后可自行指定本次发布的章节数(直接回车发布全部,输入数字则只发布前 N 章),灵活应对番茄平台每日发布上限,未发章节保留原位待下次发布。
13
+ - **封面贴字插件**:附带 `add_text.py` 脚本,可调用 `Pillow` 为 AI 生成的纯净封面图自动加上标准排版的极客风书名(应对审核不合格)。
14
+
15
+ ## 目录结构 📁
16
+
17
+ _由于涉及个人隐私与作品版权,以下数据目录已被 `.gitignore` 保护,不会被上传:_
18
+
19
+ ```
20
+ chapters/ # 待发章节(按书名建子目录)
21
+ ├── ai编程末日/
22
+ │ ├── 101 第101章.txt
23
+ │ └── 102 第102章.txt
24
+ └── 青冥独行录/
25
+ ├── 001 第1章.txt
26
+ └── 002 第2章.txt
27
+ uploaded/ # 已发布归档(自动按书名隔离)
28
+ ├── ai编程末日/
29
+ └── 青冥独行录/
30
+ images/ # 封面原图
31
+ docx/ # 大纲、策划文档
32
+ ```
33
+
34
+ > **注意**:章节 txt 文件不要直接散放在 `chapters/` 根目录下,必须放在对应书名的子目录中。脚本会自动检测并提示。
35
+
36
+ ## 快速开始 🚀
37
+
38
+ ### 1. 安装依赖
39
+
40
+ ```bash
41
+ # 安装核心依赖
42
+ pip install playwright pillow
43
+
44
+ # 下载 Playwright 需要的内置 Chromium 浏览器内核
45
+ playwright install chromium
46
+ ```
47
+
48
+ ### 2. 扫码登录 (仅需一次)
49
+
50
+ 第一次使用前,必须先获取您的番茄平台登录状态(Cookie):
51
+
52
+ ```bash
53
+ python login.py
54
+ ```
55
+
56
+ 这会弹出一个浏览器界面。请在里面手动进行扫码登录番茄作家后台。
57
+ 登录成功后关闭浏览器,目录下会自动生成一个非常重要的隐私状态文件 `state.json`(已被忽略上传)。
58
+
59
+ ### 3. 全自动轰炸式发文
60
+
61
+ 在 `chapters/` 下按书名创建子目录,将对应的 txt 章节放入:
62
+
63
+ ```bash
64
+ # 示例:为两本书分别准备章节
65
+ mkdir chapters/我的第一本书
66
+ mkdir chapters/我的第二本书
67
+ # 然后把 txt 文件分别放进去
68
+ ```
69
+
70
+ 一键执行大魔王:
71
+
72
+ ```bash
73
+ python publish.py
74
+ ```
75
+
76
+ > **重要(组合安装 · O:\小说助手)**:当前 `publish.py` 采用 fail-closed 契约,
77
+ > 必须由统一桥接层传入“已审查的来源计划”才会提交:
78
+ >
79
+ > ```powershell
80
+ > & "O:\小说助手\.venv\Scripts\python.exe" .\integration\bridge.py publish --project "O:\你的小说项目" --book "番茄书名" --account "账号名"
81
+ > ```
82
+ >
83
+ > 直接运行 `python publish.py` 只会被拒绝并提示需要 reviewed plan;这是为了避免绕过
84
+ > 审查回执、账号绑定与平台发布证据。提交后结果不明的只读核对命令:
85
+ >
86
+ > ```powershell
87
+ > & "O:\小说助手\.venv\Scripts\python.exe" .\integration\bridge.py reconcile --book "番茄书名" --account "账号名"
88
+ > ```
89
+ >
90
+ > 下文的历史交互流程仅适用于独立上游安装(无 integration/bridge.py 时)。
91
+
92
+ 脚本会自动扫描并列出所有有待发章节的书籍:
93
+
94
+ ```
95
+ 检测到以下小说有待发章节:
96
+
97
+ [1] 我的第一本书 (5 章待发)
98
+ [2] 我的第二本书 (3 章待发)
99
+
100
+ >>> 请输入序号选择要发布的小说:
101
+ ```
102
+
103
+ 输入序号后,脚本会进一步询问本次要发布的章节数量:
104
+
105
+ ```
106
+ 已选择:【我的第一本书】,共 5 章待发
107
+ ==================================================
108
+
109
+ >>> 请输入本次要发布的章节数量(1-5),直接回车则发布全部:
110
+ ```
111
+
112
+ - **直接按回车**:发布该小说所有待发章节
113
+ - **输入数字**(如 `3`):只发布排序最靠前的 3 章,剩余章节保留待下次发布
114
+
115
+ 这样就可以灵活控制每次的发布量,完美应对番茄平台的每日发布上限。输入完毕后就可以双手离开键盘,喝着咖啡欣赏它像一个没有感情的打字机般疯狂投递了。
116
+
117
+ ---
118
+
119
+ ## 交流与支持 💬
120
+
121
+ 如果在自动化发文途中遇到了平台规则更新或环境报错,亦或者想要交流 AI 写小说的最新干货技巧,欢迎加入我们的**专属讨论阵地**:
122
+ 👉 **[点击链接加入群聊【AI交流群】](https://qm.qq.com/q/YBb6naAOcM)**
123
+
124
+ 如果这个超神自动化工具真正帮您解放了双手,帮您顺利度过了新手期并拿到了全勤和首秀打赏,欢迎请作者喝一杯防猝死的冰美式!您的所有充电和支持,都是本脚本持续对抗番茄防线更新的最强核动力!☕️🔋
125
+
126
+ <div align="center">
127
+ <img src="https://anta.obs.cn-south-1.myhuaweicloud.com/IMG_0897.JPG" width="250" height="auto" style="margin-right: 20px" alt="微信赞赏码">
128
+ <img src="https://anta.obs.cn-south-1.myhuaweicloud.com/IMG_0896.JPG" width="250" height="auto" alt="其它打赏码">
129
+ </div>
130
+
131
+ ---
132
+
133
+ **⚠️ 免责声明**:本脚本纯属技术交流与自动化接口研究。因平台规则随时可能更新,请时刻留意 UI 变动。不要用作恶意批量发布垃圾内容。
@@ -0,0 +1,42 @@
1
+ import os
2
+ from playwright.sync_api import sync_playwright
3
+
4
+ STATE_FILE = "state.json"
5
+
6
+ def login():
7
+ print("准备启动浏览器...")
8
+ with sync_playwright() as p:
9
+ # 打开 Chromium 浏览器,非无头模式(需要您看到界面扫码)
10
+ browser = p.chromium.launch(headless=False)
11
+
12
+ if os.path.exists(STATE_FILE):
13
+ print(f"找到已有的 {STATE_FILE},将加载现有登录状态尝试打开...")
14
+ context = browser.new_context(storage_state=STATE_FILE)
15
+ else:
16
+ context = browser.new_context()
17
+
18
+ page = context.new_page()
19
+
20
+ print("正在打开番茄小说作家后台...")
21
+ try:
22
+ page.goto("https://fanqienovel.com/main/writer/?enter_from=author_zone", timeout=60000)
23
+ except Exception as e:
24
+ print(f"打开网页遇到问题,请检查网络: {e}")
25
+ print("浏览器仍然保持打开,您可以手动在地址栏输入 https://fanqienovel.com/writer")
26
+
27
+ print("\n" + "="*50)
28
+ print("请在弹出的浏览器窗口中登录您的账号(可以密码、验证码或扫码登录)。")
29
+ print("如果您已经登录完成,并且看到了作家后台首页,请回到这个黑框/终端里按【回车键】!")
30
+ print("="*50 + "\n")
31
+
32
+ input(">>> 确认登录完成后,请按回车键以保存登录状态并退出:")
33
+
34
+ # 保存 Cookies 和 Local Storage 等状态
35
+ context.storage_state(path=STATE_FILE)
36
+ print(f"\n登录状态已成功保存到当前目录下的 {STATE_FILE} 文件中!")
37
+ print("以后运行自动发布脚本时,会自动加载这个文件,无需再次手动登录。")
38
+
39
+ browser.close()
40
+
41
+ if __name__ == "__main__":
42
+ login()