From wordsmith
Queries project settings for characters, powers, factions, items, and foreshadowing. Supports urgency analysis and golden finger status. Activates when user asks about story elements or /webnovel-query.
How this skill is triggered — by the user, by Claude, or both
Slash command
/wordsmith:webnovel-queryThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**You MUST read `../../STYLE_GUIDE_VN.md` before starting any task.**
You MUST read ../../STYLE_GUIDE_VN.md before starting any task.
The STYLE_GUIDE_VN.md contains authoritative Vietnamese writing patterns that MUST be applied:
8 Error Types to Avoid (from user feedback):
Key Patterns from Ta Dung Nhin Vo Lam Toang:
D:\wk\xiaoshuo, book project is D:\wk\xiaoshuo\FanrenCapitalTheory..webnovel/state.json); all subsequent read/write paths are relative to that directory.${CLAUDE_PLUGIN_ROOT}/Environment setup (before executing bash commands):
export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
if [ -z "${CLAUDE_PLUGIN_ROOT}" ] || [ ! -d "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query" ]; then
echo "ERROR: CLAUDE_PLUGIN_ROOT is not set or directory is missing: ${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query" >&2
exit 1
fi
export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query"
if [ -z "${CLAUDE_PLUGIN_ROOT}" ] || [ ! -d "${CLAUDE_PLUGIN_ROOT}/scripts" ]; then
echo "ERROR: CLAUDE_PLUGIN_ROOT is not set or directory is missing: ${CLAUDE_PLUGIN_ROOT}/scripts" >&2
exit 1
fi
export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"
export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"
Copy and track progress:
Information Query Progress:
- [ ] Step 1: Identify query type
- [ ] Step 2: Load corresponding reference files
- [ ] Step 3: Load project data (state.json)
- [ ] Step 4: Confirm sufficient context
- [ ] Step 5: Execute query
- [ ] Step 6: Format output
Do not load two or more L2 files unless the user request clearly spans multiple query types.
| Keyword | Query Type | Load |
|---|---|---|
| Character / protagonist / supporting character | Standard query | system-data-flow.md |
| Realm / cultivation stage | Standard query | system-data-flow.md |
| Foreshadowing / urgent foreshadowing | Foreshadowing analysis | foreshadowing.md |
| Golden finger / system | Golden finger status | system-data-flow.md |
| Pacing / Strand | Pacing analysis | strand-weave-pattern.md |
| Tag / entity format | Format query | tag-specification.md |
Required for all queries:
cat "${SKILL_ROOT}/references/system-data-flow.md"
Additional for foreshadowing queries:
cat "${SKILL_ROOT}/references/advanced/foreshadowing.md"
Additional for pacing queries:
cat "${SKILL_ROOT}/../../references/shared/strand-weave-pattern.md"
Additional for tag format queries:
cat "${SKILL_ROOT}/references/tag-specification.md"
cat "$PROJECT_ROOT/.webnovel/state.json"
Checklist:
If anything is missing → return to the corresponding Step
| Keyword | Search Target |
|---|---|
| Character / protagonist / supporting character | protagonist-card.md, character-library/ |
| Realm / power level | power-system.md |
| Sect / faction | worldbuilding.md |
| Item / treasure | item-library/ |
| Location / secret realm | worldbuilding.md |
Three-tier classification (from foreshadowing.md):
Urgency formula:
Urgency = (chapters_elapsed / target_chapter) × tier_weight
Status assessment:
Quick analysis:
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" status -- --focus urgency
Output includes:
Quick analysis:
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" status -- --focus strand
Check warnings:
# Query Result: {keyword}
## Summary
- **Match type**: {type}
- **Data source**: state.json + settings files + outline
- **Match count**: X items
## Detailed Information
### 1. Runtime State (state.json)
{structured data}
**Source**: `.webnovel/state.json` (lines XX-XX)
### 2. Settings File Match Results
{matched content, with file path and line number}
## Data Consistency Check
{differences between state.json and static files}
npx claudepluginhub nntrivi2001/wordsmith --plugin wordsmithCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.