跳到正文
cccskills
免费在 GitHub 公开

system-reconcile

Report the health of the central system spec at `docs/system/` across seven checks — coverage gaps, stale elements, dangling anchors, duplicate anchors, orphan shards, unillustrated elements, and shards missing their kind annotation. Report-first and read-only: it repairs nothing until a human confirms a specific item. Use when the corpus has drifted, after a merge that touched `docs/system/`, or from `/archive` Step 5.5 in report-only mode. Requires `memory.architecture_map.enabled`.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(4)

  • SKILL.md5.3 KB
  • cli.mjs1.6 KB
  • gate-render.mjs1.8 KB
  • reconcile-report.mjs5.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

system-reconcile — corpus health, reported before anything is repaired

Invocable by the user (/system-reconcile) and by Claude (/archive Step 5.5, report-only).

The corpus at docs/system/ accumulates two kinds of drift: the tree moves out from under the model, and the model grows entries the tree no longer backs. Seven checks name both directions. The report is the deliverable — repairs are a second, human-confirmed step, and most runs end after the report.

The one-writer rule

/archive Step 5 is the corpus's only writer on the primary tree. This skill does not have an apply mode and reconcile-report.mjs exports no writer, so no workflow phase can reach one through it. When a repair is confirmed, you perform it here in main context using the writers that already exist — never by adding one to the report module.

Step 1 — check the flag

node .claude/skills/workspace/cli.mjs flags   # gates on memory.architecture_map.enabled — read the `architecture_map:` line

false → stop and tell the user the corpus is not enabled for this project. Every path below is inert, so running them would print seven empty arrays and read as a clean corpus rather than an absent one.

Step 2 — run the report

node .claude/skills/system-reconcile/cli.mjs report --json

Nothing is written. docs/system/ is byte-identical afterwards, which is the property /archive Step 5.5 depends on.

Step 3 — read the seven checks

CheckWhat a non-empty result meansThe repair, once confirmed
gapsA governed-surface file no element anchors. The map is no longer total over what it claims to describe. Reported only — /archive Step 5.5 never gates on it.Add an element whose anchor covers it, or widen an existing anchor to a glob.
staleThe element's stored anchor_digest no longer matches the file's structural interface — something another file could depend on moved.Re-stamp the element after confirming the diagram still describes it.
danglingThe anchor resolves to nothing. A broken route, not an unfalsifiable drawing.Repoint the anchor, or remove the element if the subject is gone.
duplicateAnchorsTwo ids claim one anchor — usually a merge where each branch derived the same anchor under a different name.Reported, never auto-resolved: two meanings sharing one anchor cannot be told apart mechanically. Ask which id survives.
orphanShardsA .puml section naming no element. The corpus cannot say what the diagram shows.Add the missing element, or delete the shard.
unillustratedAn element with no shard. Advisory as a severity — a gap in illustration, not a broken model — but /archive Step 5.5 gates on it, so an unillustrated element blocks the next commit until it is drawn.Draw it with writeDiagramShard.
missingKindA shard carrying no ' @kind, so witness.bindingFor returns witness: none and the element routes but is never citable as evidence.Write the kind the shard already declares structurally with writeDiagramShard.

An empty array is a real answer, not a missing one. All seven empty means the model is total over its surface and every element is witnessed.

Step 4 — propose repairs; repair only what is confirmed

Present the non-empty checks as a numbered list, each with the repair from the table and the specific ids involved. Then ask which items to repair, using AskUserQuestion when the list is short enough to enumerate.

You SHALL NOT repair an item the user did not name. duplicateAnchors in particular is reported-only by rule — picking a survivor destroys one of two meanings, and the same rule already governs conflicting contributions.

For a confirmed missingKind or unillustrated item:

node .claude/skills/workspace/cli.mjs shards <element-id> --kind <kind> --label '<label>'   # wraps workspace/shards.mjs -> writeDiagramShard

The kind comes from what the shard already declares structurally — a Component(...) line is c4_component, and so on. Where a shard's kind is genuinely ambiguous, leave it unannotated and say so. An unwitnessed shard routes and is never evidence, which is a legal state; guessing a kind fabricates a witness binding that nothing checks.

Step 5 — report what changed

Name every repair applied and every item left alone, and re-run Step 2 so the closing report reflects the tree as it now stands.

Constraints

  • Report-only by default. A run with no confirmation writes nothing.
  • Never add a writer to reconcile-report.mjs. D9 is enforced by the module's export surface; a test asserts the export list and scans the source.
  • Never auto-resolve a duplicate anchor.
  • Never invent a kind to clear a missingKind row.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

archive

免费

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

brd

免费

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

chore

免费

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

查看 friedbotstudio 的全部技能

报告此技能的问题