OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  flatnotes-tasksmd-github-audit:深度审计 Tasks.md 与 GitHub 任务项

flatnotes-tasksmd-github-audit:深度审计 Tasks.md 与 GitHub 任务项

 
  figure ·  2026-02-02 12:22:00 · 20 次点击  · 0 条评论  

名称: flatnotes-tasksmd-github-audit
描述: "全面审计 Tasks.md 与 Flatnotes 系统,确保其准确性与时效性;以 GitHub (gh CLI) 为事实来源,检测过时笔记/卡片与缺失链接。生成审计报告及可选的修复方案。"


Flatnotes + Tasks.md + GitHub 系统审计

当 Brandon 要求审计 Flatnotes/Tasks.md 系统,以确保其准确且最新,并以 GitHub 为事实来源时,请使用此技能。

快速开始

运行内置的审计脚本(仅生成报告):

node skills/flatnotes-tasksmd-github-audit/scripts/audit.mjs --since-days 30 --write

输出:
- Markdown 报告:tmp/flatnotes-tasksmd-audit.md
- JSON 报告:tmp/flatnotes-tasksmd-audit.json

如果 gh 未认证,审计仍会运行,但 GitHub 相关检查将标记为 SKIPPED_GITHUB


数据源(默认)

  • Tasks.md 根目录:/home/ds/.config/appdata/tasksmd/tasks
  • Flatnotes 根目录:/home/ds/.config/appdata/flatnotes/data
  • Flatnotes “系统笔记”在工作区的镜像:notes/resources/flatnotes-system/

可通过环境变量覆盖:
- TASKS_ROOT
- FLATNOTES_ROOT


审计目标(“准确性”的定义)

A) 看板状态 (Tasks.md)

  • 全局泳道存在:00 Inbox, 05 Backlog, 10 Next, 20 Doing, 30 Blocked, 40 Waiting, 90 Done
  • 泳道规则偏好: prio-p2 默认应位于 05 Backlog 中(10 Next 中不应有 prio-p2)。
  • 进行中 (Doing) 的工作项限制 ≤ 3(偏好设置)。
  • 卡片应格式一致(成果/步骤)并正确标记(proj/prio/eff/type)。
  • 阻塞卡片需包含 Unblock: 说明。
  • 项目卡片需包含 Flatnotes 引用链接(Flatnotes: ...)。

B) 项目完整性 (Flatnotes)

对于 SYS Workspace - Project Registry 中的每个活跃项目:
- 必需的项目笔记存在:
- PJT <slug> - 00 Overview
- PJT <slug> - 10 Research
- PJT <slug> - 20 Plan
- PJT <slug> - 90 Log
- 中心笔记 (Hub Note) 包含:
- 当前状态(1–3 条要点)
- 链接部分,包含仓库地址与 Tasks 筛选器
- 决策部分,链接到相关 ADR 笔记

C) GitHub 事实核对 (GitHub = 事实来源)

对于注册表中的每个项目仓库:
- 开放的 PR 应有对应的 Tasks 卡片(位于 Doing/Next/Blocked/Waiting 中)明确说明为何没有。
- 最近合并的 PR 应在系统中有所体现:
- 最好在项目日志 (PJT <slug> - 90 Log) 中有简短记录,并更新中心笔记状态;或
- 在 Done 卡片中包含 PR 链接。
- (审计将以上任一种视为已核对;如果合并的 PR 仅存在于 Done 卡片但未记入日志,可能会发出警告。)
- Done 卡片在通过 PR 交付工作时,理想情况下应包含 PR 链接。


工作流程(推荐)

1) 解析注册表
- 从 Flatnotes 读取 SYS Workspace - Project Registry
- 提取:项目标识符 (slug)、状态、Tasks 标签、GitHub 仓库 URL。

2) 扫描 Tasks.md
- 按泳道和 proj-* 标签索引卡片。
- 标记违反泳道规则的情况(如 prio-p2 在 Next 中等)。
- 标记缺少 Flatnotes 引用链接的卡片。

3) 扫描 Flatnotes
- 检查必需的项目笔记是否存在。
- 检查中心笔记的决策部分是否链接了 ADR 笔记。

4) GitHub 交叉核对
- 使用 gh 命令:
- gh pr list --state open --json ...
- gh pr list --state merged --search "merged:>=<date>" --json ...(或等效命令)
- 尝试通过以下方式匹配 PR ↔ Tasks 卡片:
- 卡片内容中的 PR URL
- PR 编号
- 标题子字符串启发式匹配

5) 生成报告
- 输出:摘要 + 按项目列出的差异清单 + 修复方案。


应用修复(安全护栏)

默认模式为仅生成报告

如果 Brandon 明确要求应用修复:
- 允许的自动安全修复:
- 使用现有模板创建缺失的 Flatnotes 笔记(如 10 Research 等)
- 为中心笔记的决策部分添加缺失的 ADR 链接
- 将 prio-p2 卡片从 Next 移至 Backlog
- 为 Tasks 卡片添加缺失的 Flatnotes 引用链接
- 任何涉及重命名文件或删除内容的操作: 需先询问确认。


内置代码

  • scripts/audit.mjs — 生成报告(Markdown + JSON)。如需修改,请优先考虑修补此文件,而非重写。
20 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 42 ms
Developed with Cursor