Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

doc-smith-create史密斯博士创建

Agent Skill

用于辅助文档、README、Markdown、说明文和内容稿件的整理与改写。它适合让 Agent 提炼结构、补齐章节、统一术语、检查链接或把零散材料整理成可读文档。使用时应保留项目已有事实、命令和路径,不要把未确认的信息写成确定结论;涉及对外文案时,还需要控制语气,避免过度营销或夸大能力。

总安装

808

周安装

33

GitHub Stars

7

下载量

259
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:doc-smith-create(史密斯博士创建)
来源仓库:https://github.com/aigne-io/doc-smith-skills
仓库路径:skills/doc-smith-create
安装命令:
npx skills add https://github.com/aigne-io/doc-smith-skills --skill doc-smith-create
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/aigne-io/doc-smith-skills --skill doc-smith-create

简介

用于从数据源自动生成结构化技术文档并输出到指定目录。

  • 适合构建项目文档体系,支持多语言与术语一致性管理。
  • 通过初始化 workspace 和配置 config.yaml 后调用生成命令。
  • 所有操作需在 .aigne/doc-smith/ 目录下进行,依赖 git 仓库管理变更。
  • doc-smith-create 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

DocSmith 文档生成

从工作区数据源生成和更新结构化文档。所有输出创建在 .aigne/doc-smith/ workspace 中。

约束

以下约束在任何操作中都必须满足。

1. Workspace 约束

  • 所有操作前 workspace 必须存在且有效(config.yaml + sources)
  • workspace 有独立 git 仓库,所有 git 操作在 .aigne/doc-smith/ 下执行
  • workspace 不存在时按以下流程初始化:

1. mkdir -p.aigne/doc-smith/{intent,planning,docs,assets,cache} 2. cd.aigne/doc-smith && git init 3. 创建 config.yaml(schema 见下方) 4. 初始 commit

config.yaml schema

workspaceVersion: "1.0"
createdAt: "2025-01-13T10:00:00Z"  # ISO 8601
projectName: "my-project"
projectDesc: "项目描述"
locale: "zh"                        # 输出语言代码,初始化时必须向用户确认
projectLogo: ""
translateLanguages: []
sources:
  - type: local-path
    path: "../../"                  # 相对于 workspace
    url: ""                         # 可选: git remote URL
    branch: ""                      # 可选: 当前分支
    commit: ""                      # 可选: 当前 commit

locale 确认规则:初始化 workspace 时,若用户未明确指定语言,必须用 AskUserQuestion 确认输出语言(如 zh、en、ja),不得默认写入。

2. 结构约束

  • document-structure.yaml 必须符合下方 schema
  • 结构变更后必须通过 /doc-smith-check --structure
  • 结构变更后必须重建 nav.js:node skills/doc-smith-build/scripts/build.mjs --nav --workspace.aigne/doc-smith --output.aigne/doc-smith/dist

document-structure.yaml schema

project:
  title: "项目名称"
  description: "项目概述"
documents:
  - title: "文档标题"
    description: "简要摘要"
    path: "/filename"               # 必须以 / 开头
    sourcePaths: ["src/main.py"]    # 源文件路径(无 workspace: 前缀)
    icon: "lucide:book-open"        # 仅顶层文档必需
    children:                       # 可选:嵌套文档
      - title: "子文档"
        description: "详细信息"
        path: "/section/nested"
        sourcePaths: ["src/utils.py"]

3. 内容约束

  • 每篇文档必须有 docs/{path}/.meta.yaml(kind: doc, source, default)
  • HTML 必须生成在 dist/{lang}/docs/{path}.html
  • docs/ 目录中不得残留 .md 文件(构建后删除)
  • 所有内部链接使用文档 path 格式(如 /overview/doc-gen),build.mjs 自动转换为相对 HTML 路径
  • 资源引用使用 /assets/xxx 绝对路径格式(build.mjs 自动转换为相对路径)

4. 人类确认约束

  • 用户意图推断后必须经用户确认(使用 AskUserQuestion)
  • 文档结构规划后必须经用户确认(使用 AskUserQuestion)
  • 确认后若有变更需再次确认

5. 上下文管理约束

Task 使用后台执行模式(run_in_background: true),执行日志不会回流到主 agent 上下文。主 agent 通过信号文件(.status)获取结果。

实践规则

  • 主 agent 可自由读取项目源文件,不再受 Task 返回值的上下文预算限制
  • 首次生成时,先通过目录结构(ls/Glob)评估项目规模,再决定结构规划方式:

- 小项目(源文件少、预计文档 ≤ 5 篇):主 agent 可直接读取源文件并规划结构 - 大项目(源文件多、预计文档 > 5 篇):将结构规划委派给 Task(见"关键流程")

6. Task 分发约束

Task 类型:

  • 结构规划 Task(按需):当项目较大时,委派 Task 分析源文件生成 document-structure.yaml 草稿
  • 内容生成 Task:按"并行生成文档内容"中的 prompt 模板分发,每篇文档一个 Task

分发规则:

  • 所有内容生成 Task 必须使用 run_in_background: true,避免执行日志回流到主 agent 上下文
  • 文档数量 ≤ 5 时并行执行,> 5 时分批(每批 ≤ 5 个),前一批完成后再启动下一批
  • 内容生成前先执行媒体资源扫描:Glob: **/*.{png,jpg,jpeg,gif,svg,mp4,webp}(排除.aigne/ 和 node_modules/),将结果作为 mediaFiles 传递给每个 Task

信号文件机制:

  • 每个 Task 完成时在 .aigne/doc-smith/cache/task-status/ 写入 {slug}.status 文件
  • slug 规则:docPath 去除 / 前缀后以 - 替换 /(如 /api/overviewapi-overview
  • 状态文件内容为 1 行摘要(如 /overview: 成功 | HTML ✓ |.meta.yaml ✓
  • 主 agent 通过轮询 .status 文件判断 Task 是否完成(见"批次执行流程")

7. 完成约束

  • /doc-smith-check --structure 通过
  • /doc-smith-check --content 通过
  • dist/ 目录包含所有文档的 HTML
  • nav.js 包含所有文档条目
  • 自动 git commit(在 .aigne/doc-smith/ 目录下)

统一入口

场景判断条件行为
首次生成docs/ 不存在或用户明确要求完整流程:意图 → 结构 → 生成
修改已有文档docs/ 已存在AI 理解修改请求,直接修改,满足约束即可

修改场景不需要 changeset/PATCH 机制。用户用自然语言描述修改需求,AI 执行并满足约束。

用户意图

文件:.aigne/doc-smith/intent/user-intent.md

基于项目 README 和目录结构(ls/Glob)推断目标用户、使用场景、文档侧重点。生成后用 AskUserQuestion 确认。

# 用户意图

## 目标用户
[主要受众是谁]

## 使用场景
- [场景 1]
- [场景 2]

## 文档侧重点
本文档采用**[文档类型]**的形式:
- [侧重点 1]
- [侧重点 2]

结构规划原则

  • 规划必须依据用户意图,只规划明确需要的文档
  • 扁平优于嵌套,有疑虑时选择更简单的结构
  • 拆分条件:4+ 章节、内容独立、无重复、可独立查阅
  • 不拆分:内容单薄、顺序步骤、存在重复
  • 结构规划后用 AskUserQuestion 确认,展示文档总数、层次、每个文档的标题和描述

内容组织原则

  • 导航链接只能链接已生成的文档(使用 path 格式),不链接工作目录文件
  • 文档开头:前置条件、父主题
  • 文档结尾:相关主题、下一步、子文档
  • 有子文档的概览文档:简写(150-300 行),每个子主题 2-4 段 + 引导链接
  • 无子文档的详细文档:详写(300-500 行),完整展开

关键流程

结构规划

主 agent 生成 user-intent.md 并经用户确认后,根据项目规模选择结构规划方式:

  • 小项目:主 agent 直接读取源文件,分析后生成 document-structure.yaml
  • 大项目:委派 Task 分析源文件并生成 document-structure.yaml 草稿,Task 返回文件路径 + 结构摘要(≤ 10 行)

生成后用 AskUserQuestion 向用户确认,展示文档总数、层次、每个文档的标题和描述。

生成 nav.js(结构确认后、内容生成前)

node skills/doc-smith-build/scripts/build.mjs \
  --nav --workspace .aigne/doc-smith --output .aigne/doc-smith/dist

图片后端预检测

在分发内容生成 Task 之前,主 agent 执行一次图片后端检测,确定可用后端。后台 Task 无法与用户交互,因此必须在前台完成检测。

检测逻辑与 doc-smith-images 的「后端检测」部分相同:

  1. 检查 GEMINI_API_KEY 是否已设置 → 选定 gemini-sdk
  2. 否则检查 AFS CLI 是否可用 → 选定 afs-cli
  3. 均不可用 → 必须使用 AskUserQuestion 让用户选择(配置 API Key / 安装 AFS CLI / 跳过图片生成),禁止自动默认为 skip

检测结果记为 {IMAGE_BACKEND}(值为 gemini-sdkafs-cliskip),传入每个 Task 的 prompt 模板。只有用户明确选择跳过时才可设为 skip

{IMAGE_BACKEND}gemini-sdk,还需确保依赖已安装:

ls <skill-directory>/scripts/node_modules/@google/genai 2>/dev/null || (cd <skill-directory>/scripts && npm install)

并行生成文档内容

每篇文档使用单独的 Task tool 生成(≤ 5 篇并行,> 5 篇分批)。必须使用 run_in_background: true 分发 Task。必须使用以下模板构造 Task prompt,不得自行概括 content.md 内容:

你是文档内容生成代理。请先用 Read 工具读取 {CONTENT_MD_PATH} 作为你的完整工作流程,然后严格按照其中的步骤执行。

参数:
- 文档路径:{docPath}
- workspace:{WORKSPACE_PATH}
- 可链接文档列表:{LINKABLE_DOCS}
- mediaFiles:{MEDIA_FILES}
- 用户意图摘要:{INTENT_SUMMARY}
- 状态文件路径:{STATUS_FILE_PATH}
- 图片后端:{IMAGE_BACKEND}

关键工具说明:
- 使用 Skill 工具调用 /doc-smith-images 生成图片(步骤 5.5),必须传入 --backend {IMAGE_BACKEND}
- 使用 Skill 工具调用 /doc-smith-check 校验文档(步骤 7)

完成检查清单(必须在写入状态文件前逐项确认):
□ 步骤 5 图片使用:文档中已按需添加图片引用
□ 步骤 5.5 图片生成:已扫描并处理所有 /assets/{key}/images/ 引用
□ 步骤 6.5 HTML 构建:已执行 build.mjs --doc 并确认 HTML 生成
□ 步骤 7 校验:已调用 /doc-smith-check --content --path {docPath}
□ 状态文件:已将 1 行摘要写入 {STATUS_FILE_PATH}

模板变量说明

  • {CONTENT_MD_PATH}references/content.md 的绝对路径
  • {WORKSPACE_PATH}.aigne/doc-smith 的绝对路径
  • {docPath}:文档路径,如 /overview
  • {LINKABLE_DOCS}:所有文档路径列表(从 document-structure.yaml 提取)
  • {MEDIA_FILES}:媒体资源扫描结果
  • {INTENT_SUMMARY}:user-intent.md 的 2-3 句话摘要
  • {STATUS_FILE_PATH}.aigne/doc-smith/cache/task-status/{slug}.status
  • {IMAGE_BACKEND}:图片后端检测结果(gemini-sdkafs-cliskip

批次执行流程

准备阶段

分发第一个 Task 前:

  1. rm -rf.aigne/doc-smith/cache/task-status && mkdir -p.aigne/doc-smith/cache/task-status(重建目录,清空旧状态)

分发阶段

每个 Task 使用 run_in_background: true 分发。批次内所有 Task 同时启动。

等待阶段

每 15 秒检查 .status 文件数量:

find .aigne/doc-smith/cache/task-status -name '*.status' | wc -l
  • 文件数 = 当前批次文档数 → 该批次完成
  • 超时:单批最多等待 10 分钟,超时后报告缺失文档
  • 不要读取后台 Task 的 output_file(可能 300K+),只读 .status 文件

收集结果

find .aigne/doc-smith/cache/task-status -name '*.status' -exec cat {} +

每个文件 1 行,所有文档摘要汇总后通常不超过 20 行。

失败处理

  • .status 内容以"失败"开头 → 记录失败原因,不阻塞后续批次
  • 超时未产生 .status → 标记为超时,在最终报告中提示用户重试

AI 巡检

构建完成后,读取 dist/ 中生成的 HTML 文件(每种语言各抽查 1-2 个页面),检查输出是否符合预期。如有问题直接修改 HTML 文件修复。

自动提交

cd .aigne/doc-smith && git add . && git commit -m "docsmith: xxx"

完成提示

所有文档生成并校验通过后,向用户展示生成摘要,并提示:

文档已生成完毕,可使用 /doc-smith-publish 将文档发布到线上预览。

Workspace 目录结构

.aigne/doc-smith/
├── config.yaml
├── intent/user-intent.md
├── planning/document-structure.yaml
├── docs/{path}/.meta.yaml
├── dist/
│   ├── index.html
│   ├── {lang}/docs/{path}.html
│   └── assets/nav.js, docsmith.css, theme.css
├── assets/{key}/.meta.yaml, images/{lang}.png
├── glossary.yaml                  # 可选
└── cache/
    ├── translation-cache.yaml     # 发布用
    └── task-status/{slug}.status  # Task 完成信号文件

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.57%
按下载量换算90

Claude

30.14%
按下载量换算78

Cursor

19.23%
按下载量换算50

Gemini CLI

9.17%
按下载量换算24

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills