Content
List
Novel tool, focusing on Xianxia, providing 12 writing dimension technique references, 4 writing workflows, and 6 checklists, with precise retrieval through the MCP Server. This skill can be used in **opencode framework** and **any AI platform** (copy SYSTEM_PROMPT.md to system prompt). Remember to unzip mcp when using.
## Directory Structure
```
novel-writing/
├── SKILL.md Skill main entrance (├── SYSTEM # General entrance AI platform)
├── validate.ps # Structure validation script
.md # This document
cp-server/ # retrieval server
│ ├──
│ ├── index # MCP server entrance
│ build-index.js # Index construction script
│ └── ref-index.json # Pre-built index to repository)
├── references # 12 writing dimension reference files
│ ├── 01-atmosphere.md
│ 02-action-description.md ├── 03-detail-description ├── 04-expression.md
│ ├──-sentence-dialogue.md ├── 06-character.md
│ ├── plot-pacing.md
│ ├── 08-immersion ├── 09-battle-scenes.md
│ ├── 10-psychological-description ├── 11architecture.md
│ └──-hooks-opening.md
├── assets/templates/ # Writing│ ├── rewrite-before-after
│ ├── writingosis-template.md
│ └── writing-exercise-template.md
agents/ # Multi configuration
├── claude ├── deepseek.yaml └── openai.yaml
Prerequisites
- Node.js >=
## Installation
```bash
cd novel-writing/mcp-server
npm install
```
Re after initial installation or modificationreferences/` or `SK`:
```bash
npm run build
```
If you only want skill structure integrity (without server):
```powershell
#
.\validate.ps1
MCP Server Registration
1: One-clickRecommended)
Run registration script in, automatically detect path to `opencode.json`:
.\register-mcp.ps1
```
This script will 6 levels of find `opencode.json MCP server configuration. If want to write to file, configuration JSON:
```.\register-mcp.psPrintOnly
```
### Method: Manual Configuration
Add following configuration to `mcpServers` field in `opencode.json` `cwd`, `command wrapper to automatically locate directory):
```json
{
"Servers": {
"-writing": {
" "cmd",
"args": ["/c", "<skill-absolute-path>/mcp-server/start-mcp.cmd"]
}
}
}
```
Replace `<skill-absolute-path>` with actual path of skill directory, or use `register-mcp.ps1 -PrintOnly` to automatically generate.
## General Usage (Any AI Platform)
Copy content of `SYSTEM` to AI's. No framework required, compatible.ai, ChatGPT, DeepSeek Chat, Cursor, etc:
- Character definition and
- 4 complete workflows 12 writing dimension reference indexes
- 6 check- Execution specifications and writing examples
If AI platform supports MCP protocol to MCP server for precise; otherwise, directly read reference `references/` directory Usage (opencode)
1: Through Tool Call (Recommended)
After LLM loads this use MCP tool `get_technique` to get technique references by writing dimension:
```json
expression techniques (with{
"domain":",
"workflow":
}
// Get battle descriptionwithout checklist)
{
" "battle"
}
```
2: Directly ReadEach writing dimension a `references/` file open to read:
| File | Keywords |
|--------|
| scene |-scene-atmosphere.md` | scene atmosphere, five senses method, action integration method |
| `02-action-description.md action decomposition, secondary action node |
| detail | `-description.md` |, small obstacles, emotional| emotion | `04-em.md` | action deduction, facial decomposition, physiological reaction dialogue | `05-sentence-dialogue.md` | sentence implicit meaning, dialogue interaction| character | `06-character-creation.md` | growth supporting character function, antagonist| pace | `07-pacing.md` |, scene transition, foreshadowing aftermath |
| immersion |-immersion.md` | of immersion, cognitive| battle | `09-battle-scenes.md` | three-stage battle, hierarchical sense, environmental| psychology | `psychological-description.md` monologue, conflict, stream of consciousness |
| plot | `architecture.md` | outline, climax foreshadowing recovery |
| hooks | `12-hooks-opening.md` | golden three chapters, chapter beginning/end hooks |
## Writing
SKILL.md defines 4 writing workflows, automatically to current scene:
| Applicable Scene |
|--------|| Synchronous writing | Start writing a from scratch |
-dimensional polishing | Comprehensive rewriting |
| Targeted optimization | A particular writing dimension is weak |
| Stuck diagnosis | Don't know how to write next |
Each workflow marks the `domain` parameter to be used, call `get_technique` to get corresponding technique references.
## Inter-Domain Cross-Reference
Same technique section may map to multiple writing dimensions. For example, ` matching imagery method` belongs to `scene`,`, and `detail` calling in any dimension will return this section.
| Number of Sections | Cross-Domain References |
|------|--------|| scene | 8 emotion, immersion, detail emotion | 9 scene, action, battle,| action | References emotion, character, battle |
| dialogue | 3 | References pace |
| character | | References detail, psychology, plot |
| detail | References scene, emotion, pace |
| pace | 9 scene, character,| immersion | 5 | References emotion, plot battle | 6 |, psychology |
| psychology5 | References emotion,| plot | 14 pace, immersion,| hooks | 7 plot |
## Checklists skill provides 6 check call `get_technique `workflow` parameter- **Scene Image Checklist** — Evaluate scene description's and functionality
- **Em Checklist** — Check if "performance" replaces "expression"
- **Action Dialogue Checklist** — Evaluate action decomposition and dialogue- **Character Shaping Checklist** — Check character stereotype arc
- **Immersion — Evaluate reader immersion
- **Rhythm Checklist** — Check and paragraph transformation
## Questions
### ref does not exist or has expirednpm run build` index.
### What after modifying references/
After file content, run run build` to update index.
### Add or modify titles in references/
When adding new `##` titles in a `.md` file in `references/ need to synchronously update the following files:
1. **`mcp-server/build-index.jss `SECTION_MAP`** new entries, specify ` `heading`, `domains`
**`mcp.js`'sLIST_MAP`** — If is used, map it to checklist
3. **`.md` / `.md`** — If new checklist, synchronously
4. **`README.mds "Inter-DomainReference" table** — Update dimension's "number of sections" and "cross-domain references"
5. **`agents/*.yaml`'s `activation_keywords`** — Add new keywords to agent configurations, ensure LLM can correctly activate
6. **`SYSTEM_PROMPT.md`** — Update activation keyword list and Reference Index table
After modification, run `npm run build` to rebuild index, observe console for `[WARN]` output (if `SECTION_MAP` does not completely cover new titles, warning will be displayed).
Run `npm test` to confirm all tests pass.
### Want to add new writing dimensions
1. Add new `references/xx-xxx.md` file, use `##` titles to divide technique sections
2. In `mcp-server/build-index.js`'s `SECTION_MAP` array, add entries for each `##` title
3. If new dimension requires associated existing or new checklists, update `CHECKLIST_MAP`
4. Add new dimension's domain name to `mcp-server/index.js`'s `VALID_DOMAINS` array (if server performs validation)
5. Update `README.md`'s "Usage" table, "omain Cross-Reference" table, "Writing Workflow" table
6. Update `agents/*.yaml`'s `activation_keywords`, add new dimension's related keywords
7. Update `SYSTEM_PROMPT.md`'s activation keyword list and Reference Index table
8. Run `npm run build && npm test` to verify index construction and tests