关于 ln-130-tasks-docs-creator
用于创建和验证任务管理文档的技能,可独立使用或由文档流程调用。它涵盖工作流规则,以及 Linear、GitHub 或文件型跟踪器的看板配置。
主要功能
- 01创建任务工作流文档
- 02配置跟踪器看板信息
- 03验证文档结构与内容
- 04检查提供方设置和占位符
适用场景
- 01记录项目的任务管理规则
- 02配置看板的跟踪器信息
- 03检查现有任务文档的缺漏
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-130-tasks-docs-creator安装后在 Claude Code 中输入/ln-130-tasks-docs-creator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/coordinator_summary_contract.mddocs_generation_summary_contract.mddocs_quality_contract.mddocs_quality_rules.jsondocs_quality_rules.json.SOURCE.mdmarkdown_read_protocol.mdquestions.mdstorage_mode_detection.mdreferences/templates/kanban_board_template.mdtasks_readme_template.md详细介绍
路径: 文件路径(
references/、../ln-*)均相对于此技能目录。
类型: L2 Worker 类别: 1XX 文档流水线
任务文档创建器
此技能用于创建任务管理文档:docs/tasks/README.md(任务管理系统规则)和 docs/tasks/kanban_board.md(配置了 Epic Story Counters 的跟踪器集成)。
目的
创建并验证任务管理文档(docs/tasks/)。生成包含工作流规则的 README.md,以及与跟踪器集成的 kanban_board.md;后者会适配已配置的提供方(linear/github/file),并包含针对提供方的交互式配置。
何时使用此技能
此技能是一个 L2 WORKER,由编排器 ln-100-documents-pipeline 调用,也可独立使用。
在以下情况下使用此技能:
- 创建任务管理文档(docs/tasks/)
- 设置跟踪器集成和看板
- 验证现有任务文档的结构和内容
- 配置针对提供方的跟踪器设置(linear:Team Name/UUID/Key;github:repository/project_number;file:无)
工作流组成部分:ln-100-documents-pipeline → ln-110-project-docs-coordinator → ln-120-reference-docs-creator → ln-130-tasks-docs-creator → ln-140-test-docs-creator(可选)
工作流
此技能遵循 3 阶段工作流:创建 → 验证结构 → 验证内容。
必须阅读: 加载 references/docs_quality_contract.md 和 references/markdown_read_protocol.md。
可选规则目录:仅在需要确切的规则 ID、路径矩阵或允许的占位符例外时,才加载 references/docs_quality_rules.json。
阶段 1:创建 - 根据模板创建 tasks/README.md,包含 SCOPE 标签、工作流规则和已配置的跟踪器集成
阶段 2:验证结构 - 自动修复结构违规(SCOPE 标签、章节、Maintenance、POSIX)
阶段 3:验证内容 - 验证语义内容,以及针对提供方的 Tracker Configuration 处理(占位符检测、提供方特定字段验证、交互式用户提示)。仅在设置期间,docs/tasks/README.md 和 docs/tasks/kanban_board.md 才允许包含原始占位符;已发布的输出不得在任何其他文档中泄露尚未解决的标记。
阶段 1:创建 tasks/README.md
目标:根据模板创建任务管理系统文档。
执行时机:始终执行(第一阶段)
流程:
-
检查 tasks/README.md 是否存在:
- 使用 Glob 工具:
pattern: "docs/tasks/README.md" - 如果文件存在:
- 跳过创建
- 记录:
✓ docs/tasks/README.md already exists (preserved) - 继续阶段 2
- 如果文件不存在:
- 继续第 2 步
- 使用 Glob 工具:
-
创建 tasks 目录:
- 如果
docs/tasks/目录不存在,则创建该目录
- 如果
-
根据模板创建 tasks/README.md:
- 必须阅读: 加载
references/templates/tasks_readme_template.md - 将模板复制到
docs/tasks/README.md - 替换占位符:
{{DATE}}→ 当前日期(YYYY-MM-DD)
- 模板包含:
- 完整的共享标头约定(
SCOPE、DOC_KIND、DOC_ROLE、READ_WHEN、SKIP_WHEN、PRIMARY_SOURCES) - Story 级测试任务模式
- 看板结构(Epic 分组模式)
- Linear 集成(MCP 方法)
- Quick Navigation、Agent Entry 和 Maintenance 章节
- 完整的共享标头约定(
- 必须阅读: 加载
-
通知用户:
- 如果已创建:
✓ Created docs/tasks/README.md with task management rules - 如果跳过:
✓ docs/tasks/README.md already exists (preserved)
- 如果已创建:
输出:docs/tasks/README.md(已创建或已存在)
阶段 2:验证结构
目标:确保 tasks/README.md 和 kanban_board.md 符合结构要求。自动修复违规。
执行时机:阶段 1 完成后(文件已存在或已创建)
流程:
2.1 验证 SCOPE 标签
检查文件:docs/tasks/README.md、docs/tasks/kanban_board.md(如果存在)
对每个文件:
- 阅读开头部分
- 检查是否存在 `` 标签和元数据标记
- 预期值:
- tasks/README.md:``
- kanban_board.md:``
- 如果缺失:
- 使用 Edit 工具,在第一个标题后添加 SCOPE 标签
- 记录:
⚠ Auto-fixed: Added missing SCOPE tag to {filename}
2.2 验证必需章节
必须阅读: 加载 references/questions.md,了解验证规范(章节名称、启发式规则、特殊处理规则)。
对于 tasks/README.md:
- 必需章节(来自 questions.md):
- “Linear Integration”或“Core Concepts”(Linear MCP 方法)
- “Task Workflow”或“Critical Rules”(状态转换)
- “Task Templates”(模板引用)
- 对于每个章节:
- 检查章节标题是否存在(不区分大小写)
- 如果缺失:
- 使用 Edit 工具添加该章节,并提供最简明的具体指南或明确的空状态说明
- 记录:
⚠ Auto-fixed: Added missing section '{section}' to tasks/README.md
对于 kanban_board.md(如果存在):
- 必需章节:
- “Linear Configuration”(团队名称、UUID、Key)
- “Work in Progress”或“Epic Tracking”(看板章节)
- 对于每个章节:
- 检查章节标题是否存在
- 如果缺失:
- 使用 Edit 工具添加该章节,并添加占位内容
- 记录:
⚠ Auto-fixed: Added missing section '{section}' to kanban_board.md
2.3 验证 Maintenance 章节
检查文件:docs/tasks/README.md、docs/tasks/kanban_board.md(如果存在)
对每个文件:
- 检查最后 20 行中是否有
## Maintenance标题 - 如果缺失:
- 使用 Edit 工具添加到文件末尾:
## Maintenance **Update Triggers:** - When Linear workflow changes - When task templates are added/modified - When label taxonomy changes **Last Updated:** {current_date} - 记录:
⚠ Auto-fixed: Added Maintenance section to {filename}
- 使用 Edit 工具添加到文件末尾:
2.4 验证 POSIX 换行符
检查文件:docs/tasks/README.md、docs/tasks/kanban_board.md(如果存在)
对每个文件:
- 检查文件是否以单个换行符结尾
- 如果缺失:
- 使用 Edit 工具添加末尾换行符
- 记录:
⚠ Auto-fixed: Added POSIX newline to {filename}
2.5 报告验证摘要
记录摘要:
✓ Structure validation completed:
tasks/README.md:
- SCOPE tag: [added/present]
- Required sections: [count] sections [added/present]
- Maintenance section: [added/present]
- POSIX endings: [fixed/compliant]
kanban_board.md:
- SCOPE tag: [added/present/skipped - file not exists]
- Required sections: [count] sections [added/present/skipped]
- Maintenance section: [added/present/skipped]
- POSIX endings: [fixed/compliant/skipped]
如果发现违规项:⚠ Auto-fixed {total} structural violations
输出:结构有效的任务管理文档
阶段 3:验证内容
目标:确保每个章节都以有意义的内容回答其验证问题。针对 Linear Configuration 进行特殊处理(占位内容检测、用户提示、UUID/Team Key 验证)。
执行时机:阶段 2 完成后(结构有效,自动修复已应用)
流程:
3.1 加载验证规范
必须阅读: 加载 references/questions.md,解析章节并提取验证启发式规则。
3.2 验证 kanban_board.md → Linear 配置(特殊处理)
问题:“Linear 团队配置是什么?”
步骤 3.2.1:检查 kanban_board.md 是否存在:
- 使用 Glob 工具:
pattern: "docs/tasks/kanban_board.md" - 如果不存在:
- 记录:
ℹ kanban_board.md not found - skipping Linear Configuration validation - 跳转到步骤 3.3
- 记录:
- 如果存在:
- 继续执行步骤 3.2.2
步骤 3.2.2:读取 Linear Configuration 部分:
- 读取
docs/tasks/kanban_board.md - 定位
## Linear Configuration部分 - 提取 Team Name、Team UUID 和 Team Key 的值
步骤 3.2.3:检测占位符:
检查是否存在占位符:
Pattern: [TEAM_NAME], [TEAM_UUID], [TEAM_KEY]
If ANY placeholder present → Interactive Setup Mode
If NO placeholders present → Validation Mode
交互式设置模式(检测到占位符时):
-
提示用户输入 Team Name:
- 问题:“您的 Linear Team Name 是什么?”
- 验证:非空字符串
- 示例:“My Project Team”
-
提示用户输入 Team UUID:
- 问题:“您的 Linear Team UUID 是什么?”
- 格式:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - 验证正则表达式:
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ - 如果无效:
- 显示错误:“UUID 格式无效。预期格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(小写十六进制)”
- 重新提示用户输入
- 示例:“a1b2c3d4-e5f6-7890-abcd-ef1234567890”
-
提示用户输入 Team Key:
- 问题:“您的 Linear Team Key 是什么(2-4 个大写字母)?”
- 格式:2-4 个大写字母
- 验证正则表达式:
/^[A-Z]{2,4}$/ - 如果无效:
- 显示错误:“Team Key 格式无效。预期格式:2-4 个大写字母(例如 PROJ、WEB、API)”
- 重新提示用户输入
- 示例:“PROJ”
-
替换占位符:
- 使用 Edit 工具在 kanban_board.md 中替换:
[TEAM_NAME]→{user_team_name}[TEAM_UUID]→{user_team_uuid}[TEAM_KEY]→{user_team_key}[WORKSPACE_URL]→https://linear.app/{workspace_slug}(如果存在该占位符)
- 使用 Edit 工具在 kanban_board.md 中替换:
-
设置初始计数器(如果存在表格):
- 将“Next Epic Number”设为 1
- 将“Next Story Number”设为 1
-
更新 Last Updated 日期:
- 在 Maintenance 部分中,将
[YYYY-MM-DD]替换为{current_date}
- 在 Maintenance 部分中,将
-
保存更新后的 kanban_board.md
-
记录成功信息:
✓ Linear configuration updated: - Team Name: {user_team_name} - Team UUID: {user_team_uuid} - Team Key: {user_team_key} - Next Epic Number: 1 - Next Story Number: 1
验证模式(存在实际值、没有占位符时):
-
提取现有值:
- 从符合以下格式的行或表格中提取 Team UUID:
Team UUID: {value} - 从符合以下格式的行或表格中提取 Team Key:
Team Key: {value}
- 从符合以下格式的行或表格中提取 Team UUID:
-
验证格式:
- UUID:
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ - Team Key:
/^[A-Z]{2,4}$/
- UUID:
-
如果验证失败:
⚠ Invalid format detected in Linear Configuration: - Team UUID: {uuid} (expected: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) - Team Key: {key} (expected: 2-4 uppercase letters) Fix manually or re-run skill to replace with correct values.- 标记为无效,但继续执行(不要阻止流程)
-
如果验证通过:
✓ Linear Configuration valid (Team: {name}, UUID: {uuid}, Key: {key})
3.3 验证 tasks/README.md 各部分
针对 3 个问题的参数化循环(来自 questions.md):
对以下每个问题:
- “Linear 如何集成到任务管理系统中?”
- “任务状态如何转换,审核标准是什么?”
- “有哪些任务模板,如何使用?”
验证流程:
- 从 questions.md 中提取验证启发式规则
- 从 tasks/README.md 中读取相应部分的内容
- 检查是否有任意一条启发式规则通过:
- 包含关键词 X → 通过
- 符合模式 Y → 通过
- 长度 > N 个词 → 通过
- 如果任意一条通过 → 部分有效
- 如果没有一条通过 → 记录警告:
⚠ Section may be incomplete: {section_name}
验证示例(问题 1:Linear 集成):
Heuristics:
- Contains "Linear" or "MCP" → pass
- Mentions team ID or UUID → pass
- Has workflow states (Backlog, Todo, In Progress) → pass
- Length > 100 words → pass
Check content:
- ✓ Contains "Linear" → PASS
→ Section valid
无需自动发现(工作流已在模板中标准化)
3.4 验证 kanban_board.md → Epic 跟踪
问题:“看板中是否正在跟踪 Epic?”
如果 kanban_board.md 存在:
验证启发式规则:
- Has "Epic" or "Epics Overview" section header → pass
- Has table with columns: Epic, Name, Status, Progress → pass
- OR has placeholder: "No active epics" → pass
- Length > 20 words → pass
操作:
- 阅读 Epic 跟踪或 Epic 概览部分
- 检查是否有任意一条启发式规则通过
- 如果通过 → 有效
- 如果没有一条通过 → 记录警告:
⚠ Epic Tracking section may be incomplete
如果 kanban_board.md 不存在:
- 跳过验证
- 记录:
ℹ Epic Tracking validation skipped (kanban_board.md not found)
3.5 报告内容验证摘要
记录摘要:
✓ Content validation completed:
tasks/README.md:
- ✓ Linear Integration: valid (contains "Linear", "MCP", workflow states)
- ✓ Task Workflow: valid (contains state transitions)
- ✓ Task Templates: valid (contains template references)
kanban_board.md:
- ✓ Linear Configuration: {status} (Team: {name}, UUID: {uuid}, Key: {key})
- ✓ Epic Tracking: valid (table present or placeholder)
输出:已验证且可能已更新的任务管理文档,其中包含 Linear 配置
完整输出结构
docs/
└── tasks/
├── README.md # Task management system rules
└── kanban_board.md # Linear integration (optional, created manually or by other skills)
注意:看板由 ln-301-task-creator、ln-302-task-replanner、ln-400-story-executor(Epic 分组逻辑)更新。
参考文件
references/templates/tasks_readme_template.md— 任务管理系统规则模板references/templates/kanban_board_template.md— Linear 集成与看板模板references/questions.md— 验证问题、启发式规则、特殊处理规则
关键规则
- 幂等: 创建前检查文件是否存在;保留现有文件;可安全地重复运行
- Linear UUID 验证: Team UUID 必须匹配
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;Team Key 必须匹配/^[A-Z]{2,4}$/ - 共享文档质量契约: 遵循
references/docs_quality_contract.md和references/docs_quality_rules.json中关于占位符策略、SCOPE/Maintenance 要求以及允许的设置例外的规定 - 占位符检测: 如果在 kanban_board.md 中发现
[TEAM_NAME]、[TEAM_UUID]或[TEAM_KEY],则进入交互式设置模式并提示用户;除允许列表中的任务文档外,不得留下未解决的标记 - 必需的共享开篇契约: README.md 和 kanban_board.md 都必须包含
SCOPE、元数据标记、Quick Navigation、Agent Entry和Maintenance - Story 级测试任务模式: 测试集中在最终的 Story 任务中,而不是分散在各个实现任务中
返回契约
返回规范化摘要,以便 ln-100 无需重新解析工作进程的文本即可运行集中式文档质量门禁:
{
"created_files": [
"docs/tasks/README.md",
"docs/tasks/kanban_board.md"
],
"skipped_files": [],
"quality_inputs": {
"doc_paths": [
"docs/tasks/README.md",
"docs/tasks/kanban_board.md"
],
"owners": {
"docs/tasks/README.md": "ln-130-tasks-docs-creator",
"docs/tasks/kanban_board.md": "ln-130-tasks-docs-creator"
}
},
"validation_status": "passed|passed_with_fixes|skipped"
}
运行时摘要产物
必须阅读: 加载 references/docs_generation_summary_contract.md
接受可选的 summaryArtifactPath。
摘要类型:
docs-generation
必需的负载语义:
worker = "ln-130"statuscreated_filesskipped_filesquality_inputsvalidation_statuswarnings
将摘要写入提供的产物路径,或在结构化输出中返回相同的封装内容。
完成定义
- 阶段 1:根据模板创建 tasks/README.md(如果已存在则保留);设置占位符仅出现在允许列表中的任务文档内
- 阶段 2:结构有效 — SCOPE 标签、必需章节、Maintenance、POSIX 行尾(如有需要则自动修复)
- 阶段 3:内容有效 — questions.md 中的启发式规则通过;设置 Tracker Configuration(如果发现占位符)
- 已输出返回契约,其中包含
created_files、skipped_files、quality_inputs和validation_status - 显示摘要消息,其中包含自动修复次数和 Tracker Configuration 状态
版本: 7.1.0 最后更新: 2025-01-12