agentsclimarketplace

Tutorial writer

Skill morning-start/agent-skills/process/tutorial-writer

AI 编程助手的专业技能库,涵盖 30+ 技能,按 6 类组织

Install
npx -y skills add morning-start/agent-skills --skill tutorial-writer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when creating, writing, reviewing, building, publishing technical tutorial content via GitHub Pages with Monorepo architecture (Turborepo), or managing decisions across the full tutorial lifecycle including PDF/ebook generation and content schema management

SKILL.md

17.9 KB, as published. Nobody here has run it

Tutorial Writer v1.0.0 — 8-Sub Router (Monorepo Edition)

定位: 轻量路由枢纽 — 将教程创作请求分发到 8 个独立子技能 架构: 8-Entry Router (root → skills/ = Layer 0 → Layer 1) 工具链: Turborepo | 方案: 方案 C (8-Sub Hybrid + Independent Init) 架构版本: Monorepo-v1(内容-格式解耦 + 三层分离)

目标

将教程创作的完整生命周期(调研规划 → 撰写执行 → 内容管理 → 质量校验 → 网站构建 → 电子书生成 → 部署发布 → 决策贯穿)通过统一入口分发,每个阶段有独立的技能文件和细则。

能做什么:

  • 智能路由用户请求到 8 个自含型子技能
  • 提供全局速查(铁律/分类)
  • 展示子技能概览和相互依赖关系
  • 引导项目初始化流程

不能做什么:

  • 不包含具体操作步骤(各子技能负责)
  • 不执行校验或构建或发布(→ /review /web /book /github-pages
  • 不包含项目初始化逻辑(→ 见下方"🚀 项目初始化"章节)

🏗️ Monorepo 架构概览

设计来源: README.md 第 4、5 章 核心哲学: 内容是唯一真相源,格式是可扩展的表示层

架构核心理念

Layer 1: 路由层 (SKILL.md)          → 纯请求分发
Layer 2: 技能层 (skills/*)           → 每个技能只关注核心职责
Layer 3: 工具层 (scripts+templates)  → 初始化、模板、共享工具

apps/                            ← 应用层
├── web/ (表示层 A)         ← 网站 (Astro + Starlight, 依赖 content)
packages/                        ← 库层
├── content/ (数据层)             ← 唯一真相源
└── book/    (表示层 B)          ← 电子书 (Pandoc + PDF, 依赖 content)

依赖关系: content ← web, content ← book (禁止反向)

三大设计原则

原则说明
单一职责每个子技能只回答一个问题
依赖方向正确content ← 被 tutorial/book 依赖,禁止反向
初始化解耦init 脚本负责创建项目骨架,子技能假设包已存在

版本兼容性要求

子技能最低版本架构支持
web (apps/web)v1.0.0+✅ Monorepo (移除初始化逻辑)
book (packages/book)v1.0.0+✅ 全新电子书生成
github-pagesv1.0.0+✅ 仅部署 (移除 PDF/EPUB)

本路由器要求 web (apps/web) ≥ v1.0.0、book ≥ v1.0.0、github-pages ≥ v1.0.0。旧版子技能使用传统架构,与本版本不兼容。


🎯 核心原则(速查)

┌──────────────────────────────────────────────┐
│                三大铁律                        │
├──────────────────────────────────────────────┤
│ ① 层级 ≤3 层 (references/assets 不算)         │
│ ② NO SKILL WITHOUT USE CASE IN AGENTS         │
│ ③ description 只写触发条件 (CSO)              │
└──────────────────────────────────────────────┘

CSO 规则: description 含 "Use when...",max 1024 字符

详情见 references/design-principles.md


🧭 8-Sub 路由表

用户说...                                        → 调用
─────────────────────────────────              ─────────────────────────────────────
"搜索/调研/规划/找资料/设计章节结构"            → 📚 /research       (调研与规划)
"写/撰写/创作/编写章节"                        → ✍️ /writing        (撰写执行)
"检查/校对/质量/门禁/评分"                     → ✅ /review         (质量校验)
"内容结构/schema/命名规范/Frontmatter/目录组织" → 📝 /content        (内容管理) 🆕
"构建网站/Astro/Starlight/组件/配置"           → 🌐 /web            (网站构建) ⭐ 高频
"PDF/电子书/Pandoc/排版/EPUB/LaTeX"           -> 📖 /book           (电子书生成) 🆕
"部署/GitHub Pages/Actions/CI-CD/域名"         → 🚀 /github-pages   (Pages 部署) 🟢 低频
"配置/决策/改决策/看看决策/冲突"               → 📐 /decision      (决策系统)

复合场景

用户意图执行顺序
完整创作一个教程(网站+电子书)research → writing → content → review → web + book → github-pages
完整创作一个教程(仅网站)research → writing → content → review → web → github-pages
生成电子书 PDFresearch → writing → content → book
优化已有章节review → writing → content → review → web → github-pages
创建新教程项目decision → 运行 init 脚本 → research → writing → content → review → web → github-pages
仅修改配置decision
仅构建/重构网站web(可独立反复调用)
仅重新部署github-pages(可独立调用)
仅生成电子书book(可独立调用)

歧义处理

不确定用户意图时提供选项:

"您是想:a) 📚 调研规划 b) ✍️ 撰写/修改内容 c) 📝 内容结构管理 d) ✅ 质量检查 e) 🌐 构建网站 f) 📖 生成电子书 g) 🚀 部署发布 h) 📐 管理决策?"


📂 子技能一览

#子技能版本变更类型职责触发词关键特性频率
researchv1.0.0✅ 保持调研规划搜索/规划/设计结构搜索方法论+长度规划+标准概览
writingv1.0.0⚠️ 精简撰写执行写/撰写/完成章节写作流程+素材管理+规范R1-R6(已移除内容管理部分)
reviewv1.0.0✅ 保持质量校验检查/校对/门禁14项质量门禁+评分卡
contentv1.0.0🆕 新增内容管理内容结构/schema/命名规范文件组织+Frontmatter schema+Content Collections+增强管道
webv1.0.0✏️ 重命名网站构建构建/Astro/Starlight/组件/配置Astro+Starlight配置+组件开发+构建优化(已移除初始化)🔴 高
bookv1.0.0🆕 新增电子书生成PDF/电子书/Pandoc/排版/EPUBPDF/EPUB生成+Pandoc配置+LaTeX模板+电子书样式🟡 中
github-pagesv1.0.0✏️ 重命名Pages 部署部署/GitHub Pages/Actions/CI-CDGitHub Actions+Pages部署+域名/DNS/SSL+监控(已移除PDF/EPUB)🟢 低
decisionv1.0.0✅ 保持决策贯穿配置/决策决策方法论+阶段映射+冲突解决贯穿

8 个子技能完全自含:独立 SKILL.md + references/ + 阶段性决策细则

频率说明: web 为高频子技能(预计每项目 10-20 次调用),github-pages 为低频(2-3 次),book 为中频(3-5 次)

变更说明:

  • ✅ 保持: 职责不变,仅更新版本号和引用
  • ⚠️ 精简: 移除了内容管理相关部分(→ content 子技能)
  • 🆕 新增: 全新子技能,填补职责空白
  • ✏️ 重命名: 目录重命名 + 职责聚焦(如 publish → github-pages 仅保留部署)

📂 项目结构

tutorial-writer/
├── SKILL.md                              ← 本文件 (8-Sub 路由器)
├── references/                           ← 全局共享参考
│   ├── design-principles.md              ← 铁律+分类+架构说明
│   ├── cross-chapter-rules.md            ← R7-R10 跨章一致性规则
│   ├── phase-mapping.md                  ← 阶段→决策项映射
│   └── monorepo-guide.md                 ← 🆕 Turborepo 使用指南
├── assets/                               ← 全局共享模板
│   ├── decision-record-schema.json
│   └── decision-record-template.json
└── skills/                               ← Layer 1: 8个独立子技能
    ├── ① tutorial-writer-research/       ← 📚 调研规划 (保持)
    ├── ② tutorial-writer-writing/        ← ✍️ 撰写执行 (精简)
    ├── ③ tutorial-writer-review/         ← ✅ 质量校验 (保持)
    ├── 🆕 ④ tutorial-writer-content/     ← 📝 内容管理 (新增)
    ├── ✏️ ⑤ tutorial-writer-web/         ← 🌐 网站构建 (原 build)
    ├── 🆕 ⑥ tutorial-writer-book/        ← 📖 电子书生成 (新增)
    ├── ✏️ ⑦ tutorial-writer-github-pages/← 🚀 Pages 部署 (原 publish)
    └── ⑧ tutorial-writer-decision/       ← 📐 决策贯穿 (保持)

🚀 项目初始化

重要: 项目初始化已迁移至官方 CLI 工具链,详见下方"🚀 项目初始化 (Official Tools)"章节。


⚠️ 注意事项

  • 子技能优先: 根文件仅做路由,详细逻辑在各子技能中
  • 每个子技能可独立使用: 有自己的 description,Agent 可直接触发
  • 全局 references/ 仅放跨子技能公共内容: 设计原则/跨章规则/阶段映射/Monorepo 指南
  • 职能归属明确: 搜索规划在 research,撰写在写作,内容管理在 content,校验在 review,网站构建在 web,电子书在 book,部署在 github-pages,决策在 decision
  • 决策贯穿所有阶段: 每个子技能内有独立的 decision-record-rules.md 定义本阶段决策细则
  • 🆕 Monorepo 架构约束:
    • 必须通过 init 脚本初始化项目: 不要在子技能中手动创建 Monorepo 结构
    • 版本要求: web ≥ v1.0.0, book ≥ v1.0.0, github-pages ≥ v1.0.0
    • 依赖方向: content 包被 web 和 book 依赖,禁止反向依赖
    • 内容唯一源: 所有 Markdown 内容放在 packages/content/src/chapters/
    • 初始化顺序: 先按照"🚀 项目初始化 (Official Tools)"章节初始化项目,再使用各子技能
    • 如需使用旧版架构: 请降级到 tutorial-writer v6.1.0

版本历史

版本日期变更
v1.0.02026-05-31🔄 Monorepo 架构重大重构 (6→8 Sub): 版本重置为 v1.0.0;子技能从 6 个扩展至 8 个(新增 content、book;build→web,publish→github-pages 重命名);新增 meta.architecture_version: "monorepo-v1"meta.sub_skills_count: 8 元数据;路由表从 6 行扩展至 8 行(新增 content/book 触发路径);子技能一览表新增「版本号」和「变更类型」两列;复合场景更新(新增电子书生成、并行构建等场景);新增「🚀 项目初始化 (Official Tools)」章节(使用官方 CLI 工具链);注意事项全面更新为 Monorepo 架构约束;description 和 tags 更新(新增 monorepo/turborepo/pdf/epub/content-management)
v6.1.02026-05-31Content-First v2 架构对齐(前版本,已终止维护)
v6.0.02026-05-306-Sub Router 重构(前版本,已终止维护)
v4.1.02026-05-30模块化配置 + 插件生态(前版本)
v4.0.02026-05-30Astro + Starlight 发布方案(前版本)
v3.2.02026-05-29Tag 驱动发布 + skill-factory 接管(前版本)
v3.1.02026-05-29Web 富交互增强(前版本)
v3.0.02026-05-295-Sub Router 重构(前版本)

最后更新: 2026-05-31 | 维护者: skill-factory + user collaboration


🚀 项目初始化 (Official Tools)

重要: Tutorial Writer 使用官方 CLI 工具链创建项目, 而非自定义脚本。这确保始终使用最新版本的模板和最佳实践。

初始化流程概览

graph LR
    A[Step 0: 环境准备] --> B[Step 1: 创建 Monorepo]
    B --> C[Step 2: 添加 content 包]
    C --> D[Step 3: 创建 web 包]
    D --> E[Step 4: 添加 book 包]
    E --> F[Step 5: 配置依赖]
    F --> G[Step 6: 注入 TW 配置]
    
    style A fill:#e3f2fd,stroke:#1565c0
    style G fill:#c8e6c9,stroke:#2e7d32

Step 0: 前置环境检查

# 确保 Node.js >= 18
node --version  # 需要 v18+

# 确保包管理器可用(任选其一)
bun --version    # 推荐(教程项目使用 bun)
# 或 pnpm --version
# 或 npm --version

# 可选:安装 Turborepo CLI(如果需要全局命令)
bun add -D turbo
# 或 npx turbo  (推荐,无需安装)

Step 1: 创建 Monorepo 骨架

使用 Turborepo 官方脚手架:

# 方式 A: 使用 create-turbo(推荐,交互式)
bunx create-turbo@latest <project-name>
# 会提示选择:
# - Package manager: bun (推荐) / pnpm / yarn / npm
# - App type: 根据需求选择

cd <project-name>
bun install

# 方式 B: 手动创建(更可控)
mkdir <project-name> && cd <project-name>
bun init
# 在 package.json 中添加 workspaces: ["apps/*", "packages/*"]
# 创建 turbo.json(详见 Turborepo 官方文档)

验证:

ls turbo.json package.json
# 然后检查 package.json 包含 workspaces 配置

Step 2: 添加 content 包(数据层)

# 使用 turbo gen 添加空包
turbo gen workspace \
  --name @repo/content \
  --type package \
  --destination packages/content

# 创建内容目录结构
mkdir -p packages/content/src/chapters
touch packages/content/src/chapters/.gitkeep

Step 3: 创建 web 应用(网站层)

# 在项目根目录运行,自动在 apps/web 下创建 Astro + Starlight 项目
bun create astro apps/web --template starlight --install --yes

注意: create-astro 会生成完整的 Astro 项目结构。 我们不需要手动复制任何模板文件!

Turbo 约定: 可运行的应用放在 apps/ 目录,共享库放在 packages/ 目录。apps/web 是新增的教程站点,与 create-turbo 默认生成的 apps/webapps/docs 并列。

Step 4: 添加 book 包(电子书层)

turbo gen workspace \
  --name @repo/book \
  --type package \
  --destination packages/book

Step 5: 配置 Workspace 依赖

编辑各包的 package.json,声明依赖关系:

// apps/web/package.json
{
  "dependencies": {
    "@repo/content": "workspace:*"
  }
}

// packages/book/package.json
{
  "dependencies": {
    "@repo/content": "workspace:*"
  }
}

Step 6: 注入 Tutorial Writer 配置

这是 Tutorial Writer 的核心增值部分

6.1 Content Schema 定义

详见 /content 子技能。

简要步骤:

# 创建 Content Collections 配置
cat > packages/content/src/config.ts << 'EOF'
import { defineCollection, z } from 'astro:content';
import { docsLoader, docsSchema } from '@astrojs/starlight/loaders';

const chapters = defineCollection({
  loader: docsLoader(),
  schema: docsSchema({
    schema: z.object({
      title: z.string(),
      description: z.string().optional(),
      draft: z.boolean().default(false),
      tags: z.array(z.string()).default([]),
      difficulty: z.enum(['beginner', 'intermediate', 'advanced']).optional(),
      readingTime: z.number().optional(),
      prerequisites: z.array(z.string()).default([]),
      hasInteractive: z.boolean().default(false),
      hasMermaid: z.boolean().default(false),
      hasMath: z.boolean().default(false),
    }),
  }),
});

export const collections = { chapters };
EOF

6.2 PDF 生成配置(可选)

详见 /book 子技能。

验证清单

初始化完成后,确认以下文件存在:

  • turbo.json (根目录)
  • package.json 包含 workspaces: ["apps/*", "packages/*"]
  • packages/content/package.json
  • packages/content/src/config.ts
  • apps/web/package.json
  • apps/web/astro.config.mjs (Starlight 配置)
  • packages/book/package.json

常见问题

Q: 可以用 pnpm/npm/yarn 吗? A: 可以!Turborepo 支持所有主流包管理器。本教程示例使用 bun 和 npm workspaces("workspaces" 字段配置在 package.json 中)。

Q: 必须按顺序执行吗? A: Step 2-4 可以并行执行(如果用多个终端),但 Step 5 必须在它们之后。

Q: 如何更新到最新模板? A: 无需手动操作!每次运行 create-astro@latest 都会获取最新版本。

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.