Releases: TitusKirch/skills
Releases · TitusKirch/skills
Release list
v0.18.0
v0.17.0
0.17.0 (2026-08-03)
⚠ BREAKING CHANGES
- work: a repo setting work.queueBranch: true now needs a workflow that cuts the queue branch and opens its PR. The drain previously did both and stopped the whole run when it could not.
- skills: a config mapping
work.linear.states.doneno longer moves the board on the accept verdict; addstates.accepted(and list it instatuses) to restore it. Until then the accept verdict leaves the state untouched, which is the existing "unmapped step" behaviour and the intended failure direction — a board that lags rather than one that claims a ship.
Features
- ci: run the skill conformance check in CI (026417c), closes #105
- issue: pin the untriaged marker as a configured label (#179) (885d243)
- issue: select the grilling interview engine with a root grillWith key (#214) (5e44797)
- merge-deps: extend to the GitLab forge (#219) (638ec05)
- prune-comments: scope the Bash grant to read-only git (e7c3465), closes #135
- pull-request: base a stacked branch on the PR below it (#200) (850ca90)
- refine-issue: add skill that takes an issue to ai-ready (#180) (73e3d6e)
- release: mark shipped work Done at the default-branch merge (7267e00), closes #160
- release: state the GitHub-only limitation as a decision (#218) (e3cf795)
- skills: add a local file-based issue tracker driver (#202) (0cefe26)
- skills: add GitLab as a third forge and issue tracker (#216) (975d4a0)
- skills: lead every run report with a TL;DR (#212) (af5e031)
- skills: link into every client's skills path (c925b7e), closes #118
- skills: make a blanket Bash grant a named exception (8e8a98a), closes #135
- skills: make a cross-skill call optional by default (#192) (1b1a684)
- skills: permit a thin shape for alias-style skills (#195) (7a1cc4e)
- skills: pin grant minimality against the calls a skill drives (#201) (5d09445)
- skills: separate drain concurrency from the run cap (#199) (f3933ba)
- skills: stop the work loop loading the config and lock blocks twice (#198) (6a63d1e)
- tldr: add a summariser skill with a fixed section frame (#196) (cb6001e)
- update-deps: add Go as a fourth ecosystem (#194) (bcd07bc)
- validate-skills: map client extensions across four clients (8b094ed), closes #109
- validate-skills: scope the Bash grant to what it drives (60cbd2d), closes #135
- work-implement-queue: report a drain's queue state so a loop knows to wait or stop (#190) (c56f166)
- work-implement: drive tdd where a test can reach the change (#171) (48236af)
- work-implement: give the block clause a diagnosis discipline (#172) (5bf95df)
- work-implement: group a worktree drain's PRs behind one queue branch (#217) (fbe31b9)
- work-implement: honour blockedBy relations under branch worktree (#174) (2c30e74)
- work-implement: name the collision gap in worktree + parallel mode (#188) (e2c24e7)
- work-implement: pace the backpressure wait by mode, not a fixed interval (#210) (a14a2ba)
- work-implement: read an order-free relation as a parallel-batch mutex (#184) (087e5ad)
- work-implement: route the loops' feedback to the pull request (#193) (8c0292b)
- work-implement: rule a rebase conflict on a shared branch (#173) (c829f7c)
- work-implement: state the recommended effort per loop (#213) (3c53efd)
- work-implement: withhold issues whose labels contradict each other (#177) (f28ef33)
- work: keep AI pull requests in draft until review is confident (#215) (84f2f55)
- work: let the repo own the queue branch, not the drain (240f740)
- work: settle the owner decisions behind the needs-human backlog (#207) (e76e050)
- write-contributing: add skill that writes and maintains CONTRIBUTING.md (#178) (2fb2b1f)
- write-contributing: apply "never transcribe" to every list (#208) (442c1d5)
- write-docs: reconcile ADRs written in a foreign format (#197) (e17ccfb)
- write-docs: reconcile the ADR contract with Nygard (#189) (330de14)
- write-docs: state when a decision earns an ADR ([#183](https://github.com/Ti...
v0.16.0
0.16.0 (2026-07-27)
⚠ BREAKING CHANGES
- write-docs: docs.preset no longer accepts "library". A repo set to it renames the value to "package"; nothing else about the preset changes.
- write-docs: docs.preset no longer accepts "ai-tool". A repo set to it must move to another preset — library for a published skill or agent set.
Features
- skills: mirror the check-command contract into every gate-running skill (f6c62f3)
- skills: mirror the single-flight lock spec into the work skills (286e372)
- work-review: establish green instead of inheriting it (4e40927)
- write-docs: add a service preset (10c0763), closes #122
- write-docs: dissolve the preset core into the presets (75e50b6), closes #123
- write-docs: drop the ai-tool preset (8c703e6), closes #120
- write-docs: rename the library preset to package (2574345), closes #121
- write-readme: state the guardrails the house canon expects (ab2a72c)
Bug Fixes
- ci: assert the effective mergeDeps verify, not the explicit key (f3c2e4f)
- ci: install before verifying a dependency PR's head (b860e31)
- ci: make the workflow reader fail loudly on what it cannot read (e963b9f)
- ci: skip CHANGELOG.md in the lint-staged markdown task (bcc496e)
- fail loudly when a SKILL.md cannot be read (9382426)
- give skill discovery one definition (5071953)
- name and link every supported client, not just Claude Code (18c35c2)
- prune-branches: stop writing the protection list twice (ba2d038)
- skills: make the plan-only trigger vocabulary one vocabulary (aa1e46a)
- work-implement: cover the states statuses writes in the example (c80dbb4)
- work-implement: point the review reconcile at a real owner (f3837ca)
- write-docs: align three details with the house pattern (fb41dbe)
v0.15.0
0.15.0 (2026-07-26)
⚠ BREAKING CHANGES
- skills: state every config key explicitly and trust two bots
- skills: work.labels.review is now work.labels.reviewRequested, and work.linear.states.review is now work.linear.states.reviewRequested. A repo setting either key must rename it; an unrenamed key is silently ignored and the label falls back to its default.
- skills: work.verify moved to the root verify key. A repo that set it inside the work block must lift it one level; the schema no longer accepts it there. mergeDeps.verify is unchanged and now falls back to the root key.
- skills: every skill path changed from skills// to skills///. Skill names are unchanged, so skills.sh installs and invocation are unaffected, but deep links into a skill's files and hand-copy instructions need the category segment. Re-run pnpm skills:link to repoint existing symlinks.
- work-implement-queue: work-implement-queue and work-review-queue no longer prompt for a batch confirmation before draining approved (ai: ready / review) issues; the lifecycle label is the approval. Use a plan-only/dry-run trigger to preview.
- skills: the
work-issue/work-queueskills are renamed towork-implement/work-implement-queue, and two new lifecycle labels (ai: changes requested,ai: needs human) must exist — create them in the infrastructure label catalog (GitHub + Linear) before running the loops. - skills: config keys renamed/removed —
issue.tracker(wasissue.backend),work.tracker(waswork.backend), themergeDepssection (wasdeps), and the rootforgekey (replaces the per-sectionpr.backend/release.backend/deps.backend).
Features
- atomic-commit: type dependency bumps by release relevance (0cc240b)
- compact-readme: resolve the config before ruling docs/ out (02c1855), closes #71
- issue: pick the GitHub issue template by reading the templates (b6b55a8), closes #75
- issue: read the repo's issue templates on Linear too (43349c0), closes #76
- issue: settle a template's title and assignees like its labels (f7a6c71), closes #75
- issue: sharpen thin requests with a grilling pass before drafting (ec84e1f), closes #90
- issue: state the skill's own default body structure (dec1f51), closes #77
- merge-deps: auto-merge the low-risk tier, confirm only majors (7baead8), closes #83
- prune-branches: add skill (8f604a3), closes #85
- prune-comments: add skill (ed5af52), closes #84
- route questions, ideas and possible bugs to the Discord forum (a546473)
- skills: add ai: reviewing lease label to work config schema (fa0ca39), closes #100
- skills: add execution-context profiles to the config schema (01d13b5), closes #71
- skills: budget descriptions at 960 and enforce it (cdcda17), closes #101
- skills: declare every cross-skill call required or optional (3cf3fd2), closes #104
- skills: exclude evals/ dev artifacts from skills:link (466fd24), closes #95
- skills: make the docs skills stop mirroring files that already exist (dbce9e8)
- skills: mirror the config contract into each skill instead of linking to it (19eacce)
- skills: move verify to the config root (687d99d)
- skills: nest skills into category subfolders (736b097), closes #27
- skills: redraw the lifecycle diagrams as mermaid (c24a34a)
- skills: rename the review label key to reviewRequested (9d6d107), closes #98
- skills: restructure and harden the config schema (dca0a42), closes #67
- skills: split work into implement and review loops (AI-review gate) (85ee0f2), closes #70
- skills: state every config key explicitly and trust two bots (a9ecebd), closes #98
- skills: state how one skill may refer to another (9104e32), closes #103
- skills: trust third-party feedback only from authorized authors (9ddd81c), closes #80
- skills: widen the verify key to the repo's whole gate (4112c88), closes #98
- tituskirch-skills-config: cover mergeDeps and the Linear requireds (52ab8a7), closes #68
- tituskirch-skills-config: support profiles in setup and reconcile (1d9047c), closes #71
- tituskirch-skills-config: sweep issue-template labels for drift (2da417f), closes #78
- validate-skills: add skill (17768cb), closes #94
- validate-skills: check cross-skill references in the house tier (b55f31c), closes #103
- work-implement-queue: disallow AskUserQuestion on the unattended drain (218c9a0), closes #99
- work-implement-queue: drain without a confirmation gate (e3d7ee5)
- work-implement: add reviewing to the lifecycle state machine (af65a99), closes #100
- work-review-queue: disallow AskUserQuestion on the unattended drain (0b0c3b4), closes #99
- work-review-queue: reclaim reviewing orphans and lease per issue (958a056), closes #100
- work-review: claim via the reviewing lease before reviewing ([f4a07d8](f4a07d8...
v0.14.0
v0.13.0
v0.12.0
v0.11.0
0.11.0 (2026-07-18)
Features
- atomic-commit: reuse convention cache on hash match regardless of age (222c45f), closes #53
- handoff: add skill (ac4007b), closes #44
- merge-deps: add skill (2a0ae35), closes #47
- release: add skill (e26d5a5), closes #46
- release: make branch promotion opt-in (c584361), closes #46
- release: report an unrecognised release tool as unsupported (4a9a5c5), closes #46
- tituskirch-skills-config: offer linear.states during work setup (4582537), closes #51
- tituskirch-skills-config: teach setup and drift-check the release section (4c9086d), closes #46
- update-deps: add skill (8502724), closes #50
- work-issue: add an explicit Linear lifecycle to workflow state map (06f79e2), closes #51
- work-queue: order the queue by dependency in branch:<name> mode (55f916c), closes #34
- work-queue: reconcile issues left in review at the start of a drain (b401250), closes #52
- write-docs: teach the docs format to record ADRs (e27f66d), closes #43
Bug Fixes
- work-issue: align documented label defaults with the real convention (1181c73), closes #45
- work-issue: make done the human's sign-off instead of the merge (4ee0f43), closes #52
- work-issue: make the lifecycle label operative for eligibility (ae80a2e), closes #49
- work-queue: surface worker label/body conflicts in the drain report (391246a), closes #49