v1.3
What's New
/knowledge-wiki-cluster — existing-parent clusters (#19)
The cluster skill now handles two cluster types instead of one:
- New-parent (
parentExists: false): the implied parent concept does not exist yet — create it, then fold/skip children. (Original behavior.) - Existing-parent (
parentExists: true): the implied parent already exists but some children have never been linked to it — fold/skip the unlinked children without re-creating the parent.
This replaces the specificity-candidates pass in /knowledge-wiki-merge, which surfaced parent/child slug pairs one at a time. The cluster skill gives better UX by grouping all unlinked children of an existing parent together as a single unit.
Dismissed decisions are now stored as individual parent/child pairs (dismissedPairs) rather than as a whole-parent slug (dismissedParents), so dismissing a cluster only suppresses the specific children you reviewed — new children added under the same parent later will resurface automatically.
wiki-state.mjs changes:
- New unified
dismiss-pair <skill-name> <pathA> <pathB>command replaces bothdismiss-merge-pairanddismiss-cluster-parent - New
prune-cluster-pairsreplacesprune-cluster-parents; prunes pairs only when the child file is absent (parent absence is legitimate — pairs may be recorded before the parent is created)
/knowledge-wiki-lint Check 9 updated to call prune-cluster-pairs.
/knowledge-wiki-cluster — deferred parent creation (#17)
The skill now collects all fold/skip decisions for a cluster before writing any files. Previously it created the parent concept immediately and then asked about each child, which meant a partial cluster could be left in an inconsistent state if the session was interrupted mid-way.
/knowledge-wiki-cluster — fold/skip design overhaul (#16)
Complete redesign of the interactive workflow:
- Per-child Fold / Skip recommendations presented as a rendered table before asking
- Batch options: Proceed (apply recommendations), Skip all, Fold all, Review one by one
- Skip decisions now recorded as dismissed pairs so skipped children don't resurface on the next run
- LLM pre-filter auto-dismisses clusters whose implied parent is a common English modifier (e.g.
smart,the,digital)
/knowledge-wiki-lint — duplicate concept links check (Check 11) (#14)
New check detects summary files where the same concept wikilink appears more than once in the ## Key Concepts section (a common side-effect of folding). Duplicate entries are consolidated into a single combined description.
/knowledge-wiki-lint and /knowledge-wiki-merge — table summaries (#18)
Both skills now print their final summary as a rendered markdown table instead of a plain-text list, making results easier to scan at a glance.
/knowledge-wiki-lint — self-links check (Check 10)
New check removes ## Connected Concepts entries where a concept links to itself — an artifact that can appear when a concept is folded into a parent that already linked back to it.
Stale dismissed cluster parent pruning (#12)
prune-cluster-parents (now prune-cluster-pairs) gained logic to remove entries whose descendant concepts have all been deleted, in addition to entries whose concept file was created.
CI: bash integration tests (#11)
GitHub Actions workflow added with fixture-based integration tests for all wiki-state.mjs, wiki-concept.mjs, and wiki-index.mjs subcommands. Each test case has a fixture/ directory copied to the repo root before the command runs, and assertions compare expected/ files bidirectionally against the result.