关于 ln-160-docs-skill-extractor
扫描项目文档中的操作流程,并通过专门的创建与审查 Worker,将获批内容转为 `.claude/commands/*.md` 文件。该技能区分可执行流程与说明性文档。
主要功能
- 01优先建立文档来源清单
- 02分类操作流程与说明内容
- 03提取前要求用户批准
- 04委派命令创建与审查
- 05避免重复并保留原文档
适用场景
- 01将部署或测试流程提取为命令
- 02检查现有命令以避免重复
- 03报告前审查生成的命令文件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-160-docs-skill-extractor安装后在 Claude Code 中输入/ln-160-docs-skill-extractor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/docs_quality_contract.mdmarkdown_read_protocol.mdmeta_analysis_protocol.mdprocedural_extraction_rules.md详细介绍
**路径:**文件路径(
references/、../ln-*)均相对于此技能目录。
ln-160-docs-skill-extractor
**类型:**L2 协调器 **类别:**1XX 文档流水线 **工作器:**ln-161-skill-creator、ln-162-skill-reviewer
扫描项目文档,识别程序性内容,并将其提取为 .claude/commands/*.md 下可执行的斜杠命令文件。声明性文档保留为 Markdown;此技能只将程序性章节转换为命令形式。
概述
| 方面 | 详情 |
|---|---|
| 输入 | 项目文档、测试文档和可选的文档注册表 |
| 输出 | 目标项目中的 .claude/commands/*.md 文件 |
| 工作器 | ln-161 创建命令,ln-162 审查命令 |
| 来源策略 | 优先从文档中提取;AGENTS.md 和 CLAUDE.md 仅用于路由 |
工作流
Phase 1: Discovery (route docs, build inventory)
|
Phase 2: Classification (procedural vs declarative scoring)
|
Phase 3: Extraction Plan (user approval)
|
Phase 4: Delegate -> ln-161 (create commands)
|
Phase 5: Delegate -> ln-162 (review commands)
|
Phase 6: Report (aggregate results)
阶段 1:发现
**必须读取:**加载 references/procedural_extraction_rules.md、references/markdown_read_protocol.md 和 references/docs_quality_contract.md
在提取任何内容之前,先建立以文档为优先的清单。
路由来源
仅使用以下文件来引导发现和确定阅读优先级:
AGENTS.mdCLAUDE.mddocs/project/.context/doc_registry.json(如果存在)
不要从路由来源中提取命令。
提取来源
仅扫描以下来源中的程序性内容:
docs/**/*.mdtests/README.mdtests/manual/**/*README.mdCONTRIBUTING.md
还要扫描:
.claude/commands/*.md,以避免重复创建命令
发现规则
- 如果
docs/project/.context/doc_registry.json存在,则按以下优先级处理:- 先处理规范文档
DOC_KIND=how-to优先于referencereference优先于index和explanation
- 按照共享的先章节后全文协议阅读 Markdown:
- 对较大或不熟悉的文件,先查看大纲
- 先阅读标题标记和顶部章节
- 仅展开可能包含程序的章节
- 忽略作为提取候选项的标准文档框架章节:
Quick NavigationAgent EntryMaintenanceSCOPE、DOC_KIND、DOC_ROLE、READ_WHEN、SKIP_WHEN、PRIMARY_SOURCES等标题标记
构建 contextStore
contextStore:
project_root: {CWD}
routing_sources:
agents_md: true
claude_md: true
doc_registry: true
existing_commands: [list of .claude/commands/*.md filenames]
doc_inventory:
- file: docs/project/runbook.md
doc_kind: how-to
doc_role: canonical
sections:
- header: "Deployment"
line_range: [45, 92]
signals: { code_blocks: 3, numbered_steps: 5, imperative_verbs: 8 }
阶段 2:分类
使用共享的程序性内容提取规则为每个候选章节评分。
| 分类 | 条件 | 操作 |
|---|---|---|
| PROCEDURAL | proc >= 4 且 proc > decl * 2 | 提取为命令 |
| DECLARATIVE | decl >= 4 且 decl > proc * 2 | 保留为文档 |
| MIXED | 两者均 >= 3 | 仅提取程序性子章节 |
| THIN | 两者均 < 3 | 跳过 |
筛选:
- 删除已由现有
.claude/commands/*.md覆盖的章节 - 删除标准文档框架章节
- 多个章节在语义上重叠时,优先选择
DOC_KIND=how-to
阶段 3:提取计划(用户审批关卡)
创建文件之前,先向用户展示分类后的结果集。
Found {N} procedural sections in {M} files:
| # | Source | DOC_KIND | Section | Score | Proposed Command |
|---|--------|----------|---------|-------|------------------|
| 1 | runbook.md | how-to | Deployment | P:8/D:1 | deploy.md |
| 2 | tests/README.md | index | Running Tests | P:7/D:2 | run-tests.md |
Existing .claude/commands/ (will skip): refresh_context.md, build-and-test.md
Include? (e.g., "1,2" or "all" or "all skip 2")
如果用户未批准任何内容,则停止并显示 No skills to create.。
阶段 4:委派给 ln-161(技能创建)
仅将已批准的章节传递给 ln-161-skill-creator。
Agent(
description: "Create commands from procedural docs",
prompt: "Execute skill creator.\nStep 1: Invoke:\n Skill(skill: \"ln-161-skill-creator\")\nCONTEXT:\n{approved_sections}",
subagent_type: "general-purpose"
)
标准化负载:
{
"approved_sections": [
{
"source_file": "docs/project/runbook.md",
"section_header": "Deployment",
"line_range": [45, 92],
"command_name": "deploy.md",
"doc_kind": "how-to",
"doc_role": "canonical"
}
]
}
收集:
- 创建的文件路径
- 来源到命令的映射
- 每条命令的摘要
阶段 5:委派给 ln-162(技能审查)
以 COMMAND 模式将已创建的命令路径传递给 ln-162-skill-reviewer。
Agent(
description: "Review created commands",
prompt: "Execute skill reviewer in COMMAND mode.\nStep 1: Invoke:\n Skill(skill: \"ln-162-skill-reviewer\", args: \"commands\")\nFILES: {list of created paths}",
subagent_type: "general-purpose"
)
收集:
- 每个文件的判定结果
- 汇总的通过/修复/警告数量
阶段 6:报告
汇总创建和审查结果。
## Docs Skill Extractor -- Complete
| Metric | Count |
|--------|-------|
| Documents scanned | {N} |
| Sections analyzed | {N} |
| Procedural found | {N} |
| Commands created | {N} |
| Commands skipped (existing) | {N} |
| Review PASS | {N} |
| Review FIXED | {N} |
| Review WARN | {N} |
Created commands:
- .claude/commands/deploy.md (from runbook.md#Deployment)
- .claude/commands/run-tests.md (from tests/README.md#Running Tests)
关键规则
- 优先从文档中提取: 仅从文档来源提取内容。
AGENTS.md和CLAUDE.md用于指引发现流程,但不能作为命令来源。 - 优先阅读章节: 完整读取文件前,先使用共享的 Markdown 阅读协议。
- 提取前先识别: 仅提取分类为操作性内容的章节。
- 避免重复: 跳过现有
.claude/commands/*.md中已涵盖的章节。 - 必须获得用户批准: 未经第 3 阶段确认,绝不创建命令。
- 委托创建: 所有命令文件的写入都必须通过 ln-161。
- 委托审查: 所有命令验证都必须通过 ln-162。
- 保留文档: 保持源文档完整。
TodoWrite 格式(必填):
- Build docs inventory (in_progress)
- Invoke ln-161-skill-creator (pending)
- Invoke ln-162-skill-reviewer (pending)
- Aggregate report (pending)
Worker 调用(必须)
Host Skill 调用: 必须使用 Skill(skill: "...", args: "...") 进行委托。
- Claude:严格按照所示方式调用 Skill 工具。
- Codex:如果没有 Skill 工具,则在可用技能中找到指定技能,读取其
SKILL.md,将args视为$ARGUMENTS,执行该技能的工作流,然后携带结果或产物返回此处。 - 不要内联 Worker 逻辑,也不要在未执行目标技能的情况下将 Worker 标记为已完成。
| 阶段 | Worker | 上下文 |
|---|---|---|
| 4 | ln-161-skill-creator | 已批准的操作性章节及其源元数据 |
| 5 | ln-162-skill-reviewer | COMMAND 模式下创建的命令文件路径 |
所有 Worker: 必须通过 Skill 工具调用。Worker 只使用所需的上下文。
完成定义
- 已检查路由来源(
AGENTS.md、CLAUDE.md,以及存在时的文档注册表) - 已基于优先文档来源建立提取清单
- 已对每个候选章节进行分类
- 用户已批准提取计划
- ln-161 已创建所有获批的命令
- ln-162 已审查所有已创建的命令
- 最终报告已汇总扫描、创建和审查指标
元分析
可选参考:仅当用户要求运行后元分析或按协议格式进行运行反思时,才加载 references/meta_analysis_protocol.md。
技能类型:planning-coordinator。收到此类要求时,在第 6 阶段完成后运行。按照 planning-coordinator 格式在聊天中输出。
版本: 1.0.0 最后更新: 2026-03-26