โ๏ธ DaisyWriter
Turn your AI coding assistant into a full writing studio.
A skill collection for OpenCode, Claude Code, and beyond โ covering web novels, short stories, tech blogs, and publishing automation.
ๅคง็บฒ โ ่ฎพๅฎ โ ๅ็ซ โ ๅฎกๆฅ โ ๅๅธ ยท ๆซๆฆ โ ๅปAIๅณ โ ๅฎ็จฟ
๐ Project Overview
DaisyWriter is an open-source skill collection that transforms AI coding assistants into professional writing tools. It provides 30 composable skills organized into five domains, each covering a complete content creation lifecycle.
| Domain | Skills | Pipeline |
|---|---|---|
| ๐ Web Novel | 14 | Deconstruct โ Init โ Plan โ Write โ Batch โ Review โ Scan โ Deslop โ Publish |
| ๐ Short Story | 5 | Init โ Write โ Review โ Craft โ Deconstruct |
| ๐ป Tech Blog | 5 | Deconstruct โ Write โ Batch โ CSDN Sync โ CSDN Upload |
| ๐ค Publishing | 1 | Fanqie Novel browser-automated publishing |
| ๐ง Platform Tools | 5 | Cover generator, WeChat writer, Xiaohongshu posts |
Project Structure
DaisyWriter/
โโโ skills/ # 30 skills across 5 domains
โ โโโ webnovel/ # 14 skills
โ โ โโโ deconstruct/ init/ plan/ write/ batch/
โ โ โโโ craft/ review/ review-settings/
โ โ โโโ scan/ deslop/ # โ New: scouting + de-AI
โ โ โโโ query/ learn/ doctor/ dashboard/
โ โโโ shortstory/ # 5 skills
โ โโโ tech/ # 5 skills
โ โโโ fanqie/ # 1 skill + Node.js scripts
โ โโโ cover-maker/ # 1 skill
โ โโโ wechat-article-writer/ # 1 skill
โ โโโ xiaohongshu-*/ # 2 skills
โโโ adapters/ # Platform entry points
โ โโโ opencode/ # Native SKILL.md
โ โโโ claude-code/ # CLAUDE.md
โ โโโ codex/ # Setup script
โโโ docs/ # Tutorials & references
โโโ shared/ # Cross-domain references
๐ฏ Skills by Domain
๐ Web Novel โ 14 skills
Full lifecycle from market research to polished chapters:
Market Scan โโโ Deconstruct โโโ Init โโโ Plan โโโ Write โโโ Review โโโ Deslop โโโ Publish
โ โ โ
(reference) (batch 1-30) (blind, settings)
| # | Command | Purpose | Key Feature |
|---|---|---|---|
| 1 | /webnovel-scan long|short |
Scan bestseller charts across platforms | Qidian, Fanqie, Jinjiang, Qimao, etc. |
| 2 | /webnovel-deconstruct <title> |
Analyze a reference novel | Emotion curve + pacing stats |
| 3 | /webnovel-init <title> |
Interactive project creation | Sufficiency gates prevent half-baked projects |
| 4 | /webnovel-plan <volume> |
Volume beat sheet + chapter outlines | CBN/CPN/CEN per chapter |
| 5 | /webnovel-write <chapter> |
Single chapter with quality gates | 3 modes: default / --fast / --minimal |
| 6 | /webnovel-batch <start> <end> |
Batch write with checkpoint resume | Crash recovery |
| 7 | /webnovel-craft |
Prose quality constraints (loaded automatically) | Quantitative scanner |
| 8 | /webnovel-review <chapter> |
Blind chapter review | 3-question gate |
| 9 | /webnovel-review-settings |
Setting consistency audit | 4 severity levels |
| 10 | /webnovel-deslop <file> |
Remove AI writing style | 7-Gate detection + graded removal |
| 11 | /webnovel-query <keyword> |
Query project state | Character, foreshadowing, power system |
| 12 | /webnovel-learn <pattern> |
Save writing pattern to memory | Auto-deduplication |
| 13 | /webnovel-doctor |
Health diagnostic | Read-only, no side effects |
| 14 | /webnovel-dashboard |
Launch web UI | Entity graph + chapter viewer |
๐ Short Story โ 5 skills
State-machine-driven writing for Zhihu Yanxuan and medium-length fiction:
shortstory-init โโโ shortstory-write โโโ shortstory-review โโโ final
โ โ โ
(blind review) (word-count gate) (stage-aware)
| # | Command | Purpose |
|---|---|---|
| 1 | /shortstory-init <count> <genre> |
Initialize projects + blind review loop |
| 2 | /shortstory-write <path> |
Rolling write with validate_chapter.py gate |
| 3 | /shortstory-review <path> |
Stage-aware blind review (single / full) |
| 4 | /shortstory-craft |
Quality constraints (loaded automatically) |
| 5 | /shortstory-deconstruct <ref> |
Extract hook/suspense/pacing patterns |
๐ป Tech Blog โ 5 skills
Structured technical writing with CSDN integration:
| # | Command | Purpose |
|---|---|---|
| 1 | /tech-deconstruct <ref> |
Analyze reference article structure |
| 2 | /tech-write <title> |
Problem โ Solution โ Code โ Verify โ Summary |
| 3 | /tech-batch <dir> |
Batch production with inner review loop |
| 4 | /csdn-upload [--dry-run|--sync] |
Upload drafts to CSDN via browser automation |
| 5 | /sync-csdn |
Sync published articles to local repo |
๐ค Publishing โ 1 skill
| Command | Purpose |
|---|---|
/fanqie-publish --preview |
Preview parsed chapters |
/fanqie-publish --login |
QR code login |
/fanqie-publish --fill-only |
Save as draft (safe mode) |
/fanqie-publish --confirm-publish |
Publish immediately or schedule |
๐ง Platform Tools โ 5 skills
| Skill | Command | Purpose |
|---|---|---|
| cover-maker | node skills/cover-maker/generate_cover.js <path> |
AI generates 600ร800 book covers for all candidate titles |
| wechat-article-writer | /wechat-article-writer |
Write WeChat official account articles |
| xiaohongshu-technical-post-copy | /xiaohongshu-technical-post-copy |
Xiaohongshu tech copywriting |
| xiaohongshu-minimal-technical-infographic | /xiaohongshu-minimal-technical-infographic |
Minimalist tech infographics for Xiaohongshu |
๐ Quick Start
Prerequisites
- OpenCode โฅ 0.6 (or Claude Code)
- Python โฅ 3.8, Node.js โฅ 18
- Playwright (for browser automation, optional)
Install
git clone https://github.com/ricky-theseus/DaisyWriter.git
cd DaisyWriter
cd skills/fanqie && npm install && npx playwright install chromium && cd ../..
# Optional: Cover generation
cd skills/cover-maker && npm install && cd ../..
Use
Add to opencode.json:
{ "skills": ["path/to/DaisyWriter"] }
Then in your AI assistant:
# Start a web novel from scratch
skill("skills/webnovel/init")
# Write chapter 1
skill("skills/webnovel/write")
โจ Design Philosophy
| Principle | Description |
|---|---|
| ๐ง Sub-agent isolation | Writer and reviewer are always separate AI agents with no shared context |
| ๐ Blind review | Reviewer has zero memory of previous passes โ genuine quality assessment |
| ๐ช Multi-layer gates | Sufficiency โ Craft (quantitative) โ Review (qualitative) โ Pre-commit |
| ๐ Incremental only | Append never overwrite. Failure retries only the failed step |
| ๐งน Clean output | No version markers, revision notes, or AI metadata in final files |
| ๐ฌ Data-driven craft | Prose scanner enforces quantitative sentence-length/style constraints |
๐งฉ Platform Support
| Platform | Status | Entry Point |
|---|---|---|
| OpenCode | โ Native | SKILL.md |
| Claude Code | โ Ready | adapters/claude-code/ |
| Codex CLI | ๐ง WIP | adapters/codex/ |
๐งญ Documentation
| Guide | English | ไธญๆ |
|---|---|---|
| Quick Start | docs/QUICKSTART.en.md |
docs/QUICKSTART.md |
| Web Novel Tutorial | docs/guide-webnovel.en.md |
docs/guide-webnovel.md |
| Short Story Guide | docs/guide-shortstory.en.md |
docs/guide-shortstory.md |
| Tech Blog Guide | docs/guide-tech.en.md |
docs/guide-tech.md |
๐ค Contributing
See CONTRIBUTING.md and Development Workflow.
All changes go through branch โ PR โ CI โ merge. No direct pushes to master.
๐ License
GNU General Public License v3.0 โ see LICENSE.
| Component | License | Source |
|---|---|---|
skills/webnovel/, skills/shortstory/, skills/tech/ |
GPL v3 | Derived from @lingfengQAQ/webnovel-writer |
skills/fanqie/ |
MIT | Forked from @amm10090/fanqie-publisher-skill |
| Everything else | GPL v3 | Original work |
Built by @ricky-theseus ยท Star on GitHub โญ
Comments