Skills flatnotes-tasksmd-github-audit
Thoroughly audit Tasks.md + Flatnotes for drift and accuracy; use GitHub (gh CLI) as source of truth to detect stale notes/cards and missing links. Produces a report and an optional fix plan.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/branexp/flatnotes-tasksmd-github-audit" ~/.claude/skills/openclaw-skills-flatnotes-tasksmd-github-audit && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/branexp/flatnotes-tasksmd-github-audit" ~/.openclaw/skills/openclaw-skills-flatnotes-tasksmd-github-audit && rm -rf "$T"
manifest:
skills/branexp/flatnotes-tasksmd-github-audit/SKILL.mdsource content
Flatnotes + Tasks.md + GitHub Audit
Use this skill when Brandon asks to audit the Flatnotes/Tasks.md system for accuracy and ensure it’s up to date, using GitHub as the source of truth.
Quick start
Run the bundled auditor (report-only):
node skills/flatnotes-tasksmd-github-audit/scripts/audit.mjs --since-days 30 --write
Outputs:
- Markdown report:
tmp/flatnotes-tasksmd-audit.md - JSON report:
tmp/flatnotes-tasksmd-audit.json
If
is not authenticated, the audit still runs but GitHub checks will be marked asgh.SKIPPED_GITHUB
Data sources (defaults)
- Tasks.md root:
/home/ds/.config/appdata/tasksmd/tasks - Flatnotes root:
/home/ds/.config/appdata/flatnotes/data - Flatnotes “system notes” mirror in workspace:
notes/resources/flatnotes-system/
Override via env vars:
TASKS_ROOTFLATNOTES_ROOT
Audit goals (what “accurate” means)
A) Board hygiene (Tasks.md)
- Global lanes exist:
,00 Inbox
,05 Backlog
,10 Next
,20 Doing
,30 Blocked
,40 Waiting
.90 Done - Lane rule preference:
lives inprio-p2
by default (no05 Backlog
inprio-p2
).10 Next - Doing WIP ≤ 3 (preference).
- Cards should be consistently formatted (Outcome/Steps) and tagged (proj/prio/eff/type).
- Blocked cards include
.Unblock: - Project cards include a Flatnotes pointer (
).Flatnotes: ...
B) Project completeness (Flatnotes)
For each active project in
SYS Workspace - Project Registry:
- Required project notes exist:
PJT <slug> - 00 OverviewPJT <slug> - 10 ResearchPJT <slug> - 20 PlanPJT <slug> - 90 Log
- Hub note has:
- Current status (1–3 bullets)
- Links section with repo + Tasks filter
- Decisions section linking relevant ADR(s)
C) GitHub truth reconciliation (GitHub = source of truth)
For each project repo in the registry:
- Open PRs should have a corresponding Tasks card (Doing/Next/Blocked/Waiting) OR an explicit reason why not.
- Recently merged PRs should be reflected somewhere:
- preferably a short note in the project log (
) + hub status update, orPJT <slug> - 90 Log - a Done card with PR link.
- (Audit treats either as reconciled; it may warn if a merged PR is only on a Done card but missing from the log.)
- preferably a short note in the project log (
- Done cards should ideally include a PR link when work was shipped via PR.
Workflow (recommended)
-
Parse registry
- Read
from Flatnotes.SYS Workspace - Project Registry - Extract: slug, status, Tasks tag, GitHub repo URL.
- Read
-
Scan Tasks.md
- Index cards by lane and by
tag.proj-* - Flag lane rule violations (
in Next, etc.).prio-p2 - Flag cards missing Flatnotes pointer.
- Index cards by lane and by
-
Scan Flatnotes
- Check required project notes exist.
- Check hub Decisions section links ADR notes.
-
GitHub cross-check
- Use
:ghgh pr list --state open --json ...
(or equivalent)gh pr list --state merged --search "merged:>=<date>" --json ...
- Try to match PRs ↔ Tasks cards using:
- PR URL in card content
- PR number
- Title substring heuristic
- Use
-
Report
- Output: summary + per-project drift list + fix plan.
Applying fixes (guardrails)
Default is report-only.
If Brandon explicitly asks to apply fixes:
- Safe auto-fixes allowed:
- create missing Flatnotes notes (
, etc.) using existing templates10 Research - add missing ADR links to hub Decisions section
- move
from Next → Backlogprio-p2 - add missing Flatnotes pointers to Tasks cards
- create missing Flatnotes notes (
- Anything that renames files or deletes content: ask first.
Bundled code
— generates the report (Markdown + JSON). If needed, patch it rather than rewriting.scripts/audit.mjs