mcpField
G
grove-spec-writing

grove-spec-writing

github.com/autumnsgrove开发670 次安装4 天前更新
代码仓库

关于 grove-spec-writing

用于在 Grove 生态中编写和验证技术规格的技能。它规定文档结构、视觉元素、写作规范和检查清单,面向编写内部规格及实施计划的开发者。

主要功能

  1. 01规定规格结构与 frontmatter
  2. 02ASCII 艺术标题和图表
  3. 03提供界面草图与状态图指南
  4. 04语气和风格检查清单
  5. 05Grove 相关文档编写指南

适用场景

  1. 01编写新的技术规格
  2. 02检查规格内容是否完整
  3. 03统一现有规格的格式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/autumnsgrove/lattice --skill grove-spec-writing

安装后在 Claude Code 中输入/grove-spec-writing确认已加载。

详细介绍

Grove 规范编写

Grove 生态系统中编写技术规范的全面指南。使用此技能创建具有故事书条目风格的新规范,或验证并规范化现有规范。

何时启用

  • 创建新的技术规范
  • 检查现有规范是否完整
  • 为缺少 ASCII 艺术标题的规范添加标题
  • 为以文字为主的规范添加图表、示意图或视觉元素
  • 统一规范文件的 frontmatter
  • 在最终定稿前根据 Grove 标准验证规范

将规范写成故事书条目

Grove 规范不只是技术文档。它们是更大叙事中的故事书条目。每份规范都应让人感觉像是翻开了一本精美的森林图鉴。

公式:

  1. 封面页(frontmatter + ASCII 艺术 + 标语)
  2. 引言(这是什么,以及它在自然界和 Grove 中的意义)
  3. 旅程(架构、流程、实现)
  4. 细节(API、架构、 安全性)
  5. 前进之路(实现检查清单)

必需结构

1. Frontmatter(必需)

每份规范都必须使用以下确切的 frontmatter 格式:

---
aliases: []
date created: [Day], [Month] [Ordinal] [Year]
date modified: [Day], [Month] [Ordinal] [Year]
tags:
  - primary-domain
  - tech-stack
  - category
type: tech-spec
---

日期格式示例:

  • Monday, December 29th 2025
  • Saturday, January 4th 2026

类型选项:

  • tech-spec — 技术规范(最常见)
  • implementation-plan — 分步实现指南
  • index — 索引/导航文档
2. ASCII 艺术标题(必需)

紧接 frontmatter 之后,添加一个代码块,其中包含能直观表现概念的 ASCII 艺术:

# [Name] — [Short Description]

     ASCII ART HERE
     representing the concept
     in a visual way

> *Poetic tagline in italics*

优秀的 ASCII 艺术:

  • 与自然隐喻相关(森林、花园等)
  • 以视觉方式表现概念(备份用层叠图,分析用同心圆)
  • 使用制表符绘制字符:─│┌┐└┘├┤┬┴┼╭╮╰╯
  • 适度使用自然主题表情符号:🌲🌿🍂✨🌸
  • 包含富有诗意的标语或格言

优秀规范示例:

Wisp(鬼火):

         🌲  🌲  🌲
          \   |   /
           \  |  /
             ✨
            ╱ ╲
           ╱   ╲
          ╱  ·  ╲
         ╱   ·   ╲
        ╱    ·    ╲
       ·     ·     ·
         gentle
         guiding
          light

Patina(分层备份):

                     ╭───────────────────╮
                    ╭┤  ┌─────────────┐  ├╮
                   ╭┤│  │  2026-01-05 │  │├╮
                   │││  │  ▓▓▓▓▓▓▓▓▓▓ │  │││
                   │││  │  ▒▒▒▒▒▒▒▒▒▒ │  │││
                   │││  │  ░░░░░░░░░░ │  │││
                   │││  │  ·········· │  │││
                   ╰┴┴──└─────────────┘──┴┴╯
                  ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱
               ──────────────────────────────
              ~~~~~~~~ oxidation layer ~~~~~~~~
              Age as armor. Time as protection.

Heartwood(树木年轮):

                      ╭──────────╮
                   ╭──│ ╭──────╮ │──╮
                 ╭─│  │ │ ╭──╮ │ │  │─╮
                │  │  │ │ │♥ │ │ │  │  │
                 ╰─│  │ │ ╰──╯ │ │  │─╯
                   ╰──│ ╰──────╯ │──╯
                      ╰──────────╯

       every ring: a year, a story, a layer of growth

               The center that holds it all.
3. 引言部分

ASCII 艺术标题之后:

> *Poetic tagline repeated*

[2-3 sentence description of what this is in the Grove ecosystem]

**Public Name:** [Name]
**Internal Name:** Grove[Name]
**Domain:** `name.grove.place`
**Repository:** [Link if applicable]
**Last Updated:** [Month Year]

[1-2 paragraphs explaining the nature metaphor and how it applies]

---
4. 正文部分

使用清晰的标题组织内容。包括:

  • 概述/目标 — 此系统的功能
  • 架构 — 系统的构建方式(附图表!)
  • 技术栈 — 依赖项、框架
  • API/架构 — 技术细节
  • 安全性 — 重要注意事项
  • 实现检查清单 — 明确的行动项

必需的视觉元素

流程图

每份描述流程的规范都必须至少包含一个 ASCII 流程图:

┌─────────────────────────────────────────────────────────────────────┐
│                         Client Sites                                │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐               │
│  │   Site A     │  │   Site B     │  │   Site C     │               │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘               │
└─────────┼─────────────────┼─────────────────┼───────────────────────┘
          │                 │                 │
          │    1. Request   │                 │
          ▼                 ▼                 ▼
┌─────────────────────────────────────────────────────────────────────┐
│                        Central Service                              │
│                                                                     │
│  ┌─────────────────────────┐  ┌─────────────────────────┐           │
│  │      Handler A          │  │      Handler B          │           │
│  └─────────────────────────┘  └─────────────────────────┘           │
└─────────────────────────────────────────────────────────────────────┘

制表符绘制参考:

  • 转角:┌ ┐ └ ┘(直角)或 ╭ ╮ ╰ ╯(圆角)
  • 线条:─ │ ═ ║
  • 连接处:├ ┤ ┬ ┴ ┼
  • 箭头:→ ← ↑ ↓ ▶ ◀ ▲ ▼
UI 示意图

描述用户界面的规范必须包含 ASCII 示意图:

┌─────────────────────────────────────────────────────────────────┐
│  ✧ Panel Title                                          [×]      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─ Label ────────────────────────────────────────────────┐     │
│  │ Content here with proper spacing                       │     │
│  └────────────────────────────────────────────────────────┘     │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ Input field...                                     [↵]  │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                 │
│  ───────────────────────────────────────────────────────────    │
│  [ Action A ]                              [ Action B ✦ ]       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
状态图

适用于具有多种状态的功能:

   Idle:                    Analyzing:               Success:
   .  *  .    .  *         . * . analyzing . *           *
  .    _    .      .         \  |  /             .    *  /|\   .
     /   \    *  .         -- (o.o) --  thinking    *   / | \    *
    / ~ ~ \  .    .          /  |  \                   /__|__\
   /       \______        ~~~~~~~~~~~~~~~~~       ~~~~/       \~~~~
  ~~~~~~~~~~~~~~~~~~~       words flowing...        all clear
对比表格

使用表格对比选项、状态或配置:

| Feature | Seedling | Sapling | Oak | Evergreen |
|---------|----------|---------|-----|-----------|
| Posts   | 50       | 250     | ∞   | ∞         |
| Storage | 1 GB     | 5 GB    | 20 GB | 100 GB  |
| Themes  | 3        | 10      | All | All + custom |
时间线/保留期限图

适用于涉及时间的内容:

  TODAY                                              12 WEEKS AGO
    │                                                      │
    ▼                                                      ▼
   ┌─┬─┬─┬─┬─┬─┬─┐                                        ┌─┐
   │█│█│█│█│█│█│█│ ◀── Daily backups (7 days)             │░│
   └─┴─┴─┴─┴─┴─┴─┘                                        └─┘
   S M T W T F S

验证检查清单

定稿前,请验证每份规范:

结构
  • 包含具有所有必需字段的 frontmatter
  • 包含 aliases: [](即使为空)
  • 日期格式正确(星期、月份、序数日期、年份)
  • type: tech-spec 或适当的类型
  • frontmatter 后包含 ASCII 艺术标题
  • 以斜体标注富有诗意的标语
  • 列出公开/内部名称
  • 指定领域(如适用)
视觉内容
  • 至少包含一个 ASCII 流程图(如果以流程为主)
  • 包含 UI 示意图(如果描述界面)
  • 在适当情况下使用表格进行对比
  • 使用代码块呈现技术细节
  • 不要出现没有视觉间隔的大段文字
语气(完整列表请参阅 owl-archive/references/anti-patterns.md)
  • 不使用长破折号(改用句号或逗号)
  • 不使用“不是 X,而是 Y”句式或其变体(“不是 X。不是 Y。只是 Z。”“这个 X?一个 Y。”)
  • 不使用 AI 腔词语(robust、seamless、leverage、delve、utilize、streamline 等)
  • 不使用“serves as”/“stands as”/“marks a”。改用简单动词
  • 不使用填充性过渡语(Furthermore、Moreover、It's worth noting、Notably)
  • 不使用一连串动名词片段,也不使用粗体开头的项目符号句式
  • 不制造悬念(“Here's the kicker”“Here's the thing”)
  • 不使用陈旧的隐喻(不要在每个部分重复同一个隐喻)
  • 段落简短
  • 诗意的结尾要水到渠成,不要刻意为之
完整性
  • 概述/目标部分
  • 架构图
  • 技术细节(API、架构)
  • 安全注意事项
  • 实施检查清单

创建 ASCII 艺术图

流程
  1. 确定核心隐喻 — 它代表什么自然事物?
  2. 勾勒概念 — 什么样的视觉效果能让人一眼看懂?
  3. 选择字符 — 制框线条、Emoji 或创意 ASCII 字符
  4. 逐层构建 — 从轮廓开始,再添加细节和装饰
  5. 添加标语 — 用一句诗意的话点明本质
字符集

制框线条(安全、一致):

┌─────┬─────┐    ╭─────╮
│     │     │    │     │
├─────┼─────┤    ╰─────╯
│     │     │
└─────┴─────┘

线条和箭头:

→ ← ↑ ↓ ↔ ↕
▶ ◀ ▲ ▼
⟿ ⟸ ⟹

自然主题 Emoji(少量使用):

🌲 🌳 🌿 🍂 🍃 🌸 🌺 🌻 🌷 🌱 🍄
☀️ 🌤️ ⭐ ✨ 💧 🔥
🦋 🐛 🐌

装饰字符:

· ∙ • ° ˚ ∘
~ ≈ ∿
═ ║ ╔ ╗ ╚ ╝
░ ▒ ▓ █
提示
  • ASCII 艺术图高度不超过 20 行
  • 在代码块内将图案居中
  • 留出呼吸空间(上下留空行)
  • 使用等宽字体进行测试
  • 考虑移动设备上的显示效果(越简单越好)

示例:完整的规范标题

---
aliases: []
date created: Monday, January 6th 2026
date modified: Monday, January 13th 2026
tags:
  - support
  - user-communication
  - cloudflare-workers
type: tech-spec
---

# Porch — Support System

                          🏠
                       ___│___
                      │       │
                ~~~~~~│ PORCH │~~~~~~
                     ╱│_______│╲
                    ╱           ╲
                   ╱  ┌───┐      ╲
                  ╱   │ ☕ │       ╲
                 ╱    └───┘ 👤     ╲
                ════════════════════════
                       台阶

          请坐。我们一起想办法。

> *Have a seat on the porch. We'll figure it out together.*

Grove's front porch: a warm, accessible space where users sit down and have a conversation. Not a corporate help desk with ticket numbers. A porch where you chat with the grove keeper about what's going on.

**Public Name:** Porch
**Internal Name:** GrovePorch
**Domain:** `porch.grove.place`
**Status:** Planned (Launch Priority)

A porch is where you sit and talk. You come up the steps, have a seat, and the grove keeper comes out to chat. It's not a ticket counter. It's two people on a porch, figuring things out together.

---

与其他技能集成

编写规范之前
  1. walking-through-the-grove — 如果要为新功能命名,请先完成命名流程
  2. grove-ui-design — 如果规范涉及 UI,请先了解设计模式
编写过程中
  1. grove-documentation — 全文采用 Grove 语气,避免 AI 腔
编写之后
  1. grove-spec-writing(本技能)— 运行验证检查清单
  2. 以全新视角审阅:它读起来像故事书中的一篇吗?
何时改用 museum-documentation

此技能(grove-spec-writing)适用于内部技术规范:架构决策、系统设计和实施计划。面向开发者的文档。

编写供希望了解情况的 Wanderers阅读的内容时,请使用museum-documentation:

使用 grove-spec-writing使用 museum-documentation
技术规范为好奇的访客介绍“工作原理”
架构决策代码库导览
实施计划知识库展品
内部系统文档叙事式技术说明

如果读者是要实现某项功能的开发者,请使用此技能。 如果读者是探索森林的 Wanderer,请使用 museum-documentation。


快速参考

元素必需位置
Frontmatter是文件顶部
ASCII 艺术图标题是Frontmatter 之后
诗意标语是ASCII 艺术图之后
公共/内部名称是引言
架构图适用时正文
UI 模型图有 UI 时正文
实施检查清单是规范末尾

好的规范值得你在凌晨 2 点细读。让它美一些。

评论

支持 Markdown