specify

specify is a command for Claude Code from wordflowlab/novel-writer-skills. It costs 11 tokens per session (6,365 once invoked), scanned A, original, MIT.

A command for defining a story specification, similar to a product requirements document, that explains what the story should be rather than how to create it.

In plain words
What is it for?
Use it to create or revise story outlines at different levels, from a short premise to a full specification with characters, conflicts, structure, clues, and success criteria.
Why use it?
It turns a rough idea into a clearer brief and shows which parts still need answers before writing begins.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: model in frontmatter.

Good fit Use it to create or revise story outlines at different levels, from a short premise to a full specification with characters, conflicts, structure, clues, and success criteria.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/wordflowlab/novel-writer-skills/specify
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/wordflowlab/novel-writer-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for specify

README.md
[![agentmods](https://agentmods.dev/badge/commands/wordflowlab/novel-writer-skills/specify/github.svg)](https://agentmods.dev/commands/wordflowlab/novel-writer-skills/specify)
Your own site
<a href="https://agentmods.dev/commands/wordflowlab/novel-writer-skills/specify"><img src="https://agentmods.dev/badge/commands/wordflowlab/novel-writer-skills/specify/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for specify

Your own site · 80×15
<a href="https://agentmods.dev/commands/wordflowlab/novel-writer-skills/specify"><img src="https://agentmods.dev/badge/commands/wordflowlab/novel-writer-skills/specify.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 11 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 6,365 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00011 $0.06365
Opus 5 $0.00005 $0.03182
Sonnet 5 $0.00002 $0.01273
Haiku 4.5 $0.00001 $0.00636

Measured 11d ago against content hash cf3e3ab3526d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

specify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

templates/commands/specify.md · 663 lines

How it starts

The opening of the file, as written. The whole thing — 663 lines — stays where its author put it; the contents beside it link to each section on GitHub.

用户输入:$ARGUMENTS

目标

像产品规格书(PRD)一样定义故事,明确"要创造什么"而非"如何创造"。支持渐进式规格定义,从一句话到完整规格,循序渐进。输出带有 [需要澄清] 标记的规格,为后续澄清步骤留出空间。

渐进式规格层级

根据用户输入的详细程度,自动判断并生成相应层级的规格:

Level 1 - 一句话故事(Logline)

  • 30字以内的核心创意
  • 示例:"一个失忆的黑客发现自己活在虚拟世界中"
  • 适用:初期灵感阶段

Level 2 - 一段话概要(Premise)

  • 100-200字的故事梗概
  • 包含:主角、冲突、目标、障碍
  • 适用:创意验证阶段

Level 3 - 一页纸大纲(One-Page Spec)

  • 包含:概要、主角、主要冲突、三幕结构
  • 简化版规格(约500字)
  • 适用:快速原型阶段

Level 4 - 完整规格(Full Specification)

  • 包含完整九章规格内容
  • 详细的线索管理、成功标准等
  • 适用:正式创作准备阶段

执行步骤

0. 判断规格层级

根据用户输入自动判断层级

input_length = len($ARGUMENTS)
existing_spec = check_if_exists()

if existing_spec:
    # 已有规格,执行升级或修改
    level = get_current_level(existing_spec)
    action = "upgrade" or "modify"
elif input_length < 50:
    # 一句话输入 → Level 1
    target_level = 1
elif input_length < 300:
    # 一段话输入 → Level 2
    target_level = 2
elif input_length < 1000:
    # 简要描述 → Level 3
    target_level = 3
else:
    # 详细描述 → Level 4
    target_level = 4

决策逻辑

  • 如果已存在规格文件,询问用户是"升级层级"还是"修改内容"
  • 如果是新故事,根据输入长度自动选择层级
  • 生成规格后,提示用户如何扩展到下一层级

1. 初始化故事规格

运行 {SCRIPT} 获取路径信息:

  • 解析 JSON 获取 STORY_NAMESPEC_PATH
  • 如果是新故事,创建规格文件
  • 如果已存在,准备更新或升级

2. 检查宪法合规性

如果存在 memory/constitution.md

  • 加载宪法原则
  • 确保规格符合宪法价值观
  • 在规格中引用相关原则

3. 创建故事规格文档

根据判断的层级生成相应规格


Level 1 规格模板(一句话故事)
# 故事规格书

## 元数据
- 故事名称:[名称]
- 版本:1.0.0-L1(一句话)
- 创建日期:[YYYY-MM-DD]
- 当前层级:Level 1
- 作者:[作者名]

## 一句话故事(Logline)

[30字以内的核心创意]

**示例**:
- "一个失忆的黑客发现自己活在虚拟世界中"
- "普通高中生获得预知未来的能力,但每次使用都会缩短寿命"
- "退役特工为了救女儿,必须完成一次不可能的任务"

## 核心元素识别

基于这句话,识别以下核心元素:
- **主角**:[谁]
- **困境/冲突**:[面临什么问题]
- **目标**:[想要达成什么]
- **障碍/代价**:[阻碍是什么]

## 下一步

✅ **Level 1 规格已完成**

**扩展建议**:
1. 将一句话扩展为一段话(100-200字)
2. 运行 `/specify` 命令,输入扩展的段落
3. 系统将自动升级到 Level 2

**扩展提示**:
- 加入主角的背景和动机
- 明确主要冲突的起因
- 暗示故事的走向和结局可能性

Level 2 规格模板(一段话概要)
# 故事规格书

## 元数据
- 故事名称:[名称]
- 版本:1.1.0-L2(一段话)
- 创建日期:[YYYY-MM-DD]
- 当前层级:Level 2
- 作者:[作者名]

## 一句话故事(Logline)

[从Level 1继承,或新提取]

## 一段话概要(Premise)

[100-200字的故事梗概,包含主角、冲突、目标、障碍]

**示例结构**:
{主角背景}在{起始情境}下,发现/遭遇{核心冲突}。为了{目标},他/她必须{行动},但{主要障碍}使得{困难/代价}。最终{暗示结局走向}。

## 核心要素

### 主角设定
- **身份**:[职业/年龄/背景]
- **性格特点**:[2-3个关键词]
- **核心欲望**:[想要什么]
- **致命弱点**:[阻碍他的是什么]

### 核心冲突
- **外部冲突**:[与什么对抗]
- **内部冲突**:[内心挣扎是什么]
- **冲突起因**:[为什么现在爆发]

### 故事走向
- **起点**:[故事从哪里开始]
- **中点**:[预计的转折点]
- **终点**:[可能的结局方向]

## 类型初步定位

- **主类型**:[玄幻/都市/历史/科幻等]
- **子类型**:[具体流派]
- **参考作品**:类似[作品名]的[某个特点]

## 下一步

✅ **Level 2 规格已完成**

**扩展建议**:
1. 将概要扩展为一页纸大纲(约500字)
2. 增加三幕结构、主要角色、关键场景
3. 运行 `/specify` 命令,输入扩展内容
4. 系统将自动升级到 Level 3

**扩展提示**:
- 明确三幕结构的分界点
- 增加2-3个主要配角
- 列出5-10个关键场景
- 思考世界观的基本设定

Read the full file on GitHub · 663 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 663 lines · 11 tokens per session scan A cf3e3ab3526d

Subscribe to this mod's changes

specify is a command published in the GitHub repository wordflowlab/novel-writer-skills (258 stars, last pushed 10mo ago), licensed MIT. It adds 11 tokens to every session and 6,365 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.