diff --git a/skills/active-listening/SKILL.md b/skills/active-listening/SKILL.md index c7b2c9d..53d7651 100644 --- a/skills/active-listening/SKILL.md +++ b/skills/active-listening/SKILL.md @@ -1,11 +1,10 @@ --- name: active-listening description: > - Gather every requirement before acting. Trigger at the start of any task - whose scope, constraints, or success criteria are not fully pinned down, and - whenever another skill needs an operator-only fact — ask focused questions - until nothing needed is still open, then reflect the understanding back. - Portable across projects. + Ask focused questions until every requirement is pinned down, then reflect + the task back. Trigger at the start of any task with unclear scope, + constraints or success criteria, and when another skill needs an + operator-only fact. --- Do not act on a half-understood request. Listen actively until you could state diff --git a/skills/advocate/SKILL.md b/skills/advocate/SKILL.md index 87c5561..ad16352 100644 --- a/skills/advocate/SKILL.md +++ b/skills/advocate/SKILL.md @@ -1,14 +1,10 @@ --- name: advocate description: > - Check a commit for legal soundness before it lands: is the project licence - compatible with the code and dependencies the change brings in, are the - attribution duties met, is copied code traceable, does the change touch - personal data (GDPR) or third-party trademarks. Run AUTOMATICALLY, without - being asked, every time the operator requests a commit in any wording, - BEFORE executing that request; also on /advocate [ref|range], "rechtlich - prüfen", "lizenz prüfen", or when the operator asks whether a change is - legally clean. Portable across projects. + Check a commit for legal soundness: licence compatibility of added code and + dependencies, attribution, copied snippets, GDPR, trademarks. Run + AUTOMATICALLY before every commit the operator requests; also on /advocate + [ref|range], "rechtlich prüfen", "lizenz prüfen". --- The stance is the project's counsel: find what would make the change unlawful diff --git a/skills/auto-feature/SKILL.md b/skills/auto-feature/SKILL.md index c5f94f1..cb02d5c 100644 --- a/skills/auto-feature/SKILL.md +++ b/skills/auto-feature/SKILL.md @@ -1,13 +1,10 @@ --- name: auto-feature description: > - Derive the missing work of a codebase and turn it into requirement - documents: a sceptic pass for what the code gets structurally wrong, a - usability pass for what the product does not do yet, then active-listening - to confirm every proposal through single-select (radio button) questions - before anything is written. Trigger on /auto-feature, "was fehlt noch", - "welche features brauchen wir", or when the operator asks what to build - next. Portable across projects. + Derive missing work (sceptic pass for structural flaws, usability pass for + missing features) and write requirement documents after single-select + confirmation. Trigger on /auto-feature, "was fehlt noch", "welche features + brauchen wir", or when the operator asks what to build next. --- Two blind spots produce different work: the code has defects of structure, diff --git a/skills/autoskill/SKILL.md b/skills/autoskill/SKILL.md index 2fcbca5..919bc07 100644 --- a/skills/autoskill/SKILL.md +++ b/skills/autoskill/SKILL.md @@ -1,10 +1,10 @@ --- name: autoskill description: > - Detect operator repetition and turn it into a skill. Trigger when the - operator gives an instruction, correction, or prompt pattern for roughly - the third time in a conversation (or says they keep repeating themselves), - and the pattern is general enough to reuse. Portable across projects. + Turn operator repetition into a skill. Trigger when the operator gives the + same instruction, correction or prompt pattern about the third time in a + conversation, or says they keep repeating themselves, and the pattern is + reusable. --- Its objective is the `autotune` skill's **Objective** section: a skill is worth diff --git a/skills/autotune/SKILL.md b/skills/autotune/SKILL.md index eaeff13..13db397 100644 --- a/skills/autotune/SKILL.md +++ b/skills/autotune/SKILL.md @@ -1,12 +1,10 @@ --- name: autotune description: > - Generate new agent skills and optimize existing ones so the agent works more - efficiently: fewer input and output tokens, fewer errors, more focus, and - learnings that persist across sessions. Every proposal is confirmed with the - operator through single-select (radio button) questions. Trigger ONLY on an - explicit operator request (/autotune, "autotune", "tune the skills"); never - run it on your own initiative. Portable across projects. + Generate new skills or optimize existing ones (fewer tokens, fewer errors, + persistent learnings), each proposal confirmed by single-select question. + Trigger ONLY on an explicit request: /autotune, "autotune", "tune the + skills"; never on your own initiative. --- Autotune turns observed friction into durable skills. It runs on demand only, diff --git a/skills/break-risk/SKILL.md b/skills/break-risk/SKILL.md index a0da1ae..fc34bf2 100644 --- a/skills/break-risk/SKILL.md +++ b/skills/break-risk/SKILL.md @@ -1,10 +1,9 @@ --- name: break-risk description: > - Derive the break-risk percentage from measurement instead of feel. Called by - the `confidence` skill every time it reports, and usable alone whenever the - operator asks "what could this break?" or names a break-risk threshold. - Portable across projects. + Derive the break-risk percentage from measurement, not feel. Called by + `confidence` on every report; also when the operator asks "what could this + break?" or names a break-risk threshold. --- Break risk is the probability the change breaks something it did not intend to diff --git a/skills/changelog/SKILL.md b/skills/changelog/SKILL.md index 46a8882..dd5bf67 100644 --- a/skills/changelog/SKILL.md +++ b/skills/changelog/SKILL.md @@ -1,12 +1,10 @@ --- name: changelog description: > - Write the release message for everything since the last release, ready to - paste into `pkgmgr release` (its editor or `--message`). Trigger on - /changelog, "release message", "changelog entry", or when the operator is - about to cut a release or pastes pkgmgr's markdown-lint rejection of an - entry. Prints the message only: never edits CHANGELOG.md, never tags, never - releases. Portable across projects. + Write the release message since the last release for `pkgmgr release`; + prints it only, never edits CHANGELOG.md, tags or releases. Trigger on + /changelog, "release message", "changelog entry", before cutting a release, + or on pkgmgr's markdown-lint rejection. --- The message is one text that pkgmgr writes to four places: the CHANGELOG.md diff --git a/skills/ci-artifacts/SKILL.md b/skills/ci-artifacts/SKILL.md index 6d5a3f3..f280425 100644 --- a/skills/ci-artifacts/SKILL.md +++ b/skills/ci-artifacts/SKILL.md @@ -1,10 +1,9 @@ --- name: ci-artifacts description: > - Get the real evidence out of a CI run: per-job logs even while the run is - still in progress, and the artifacts that hold the cause rather than the - symptom. Trigger whenever a CI failure has to be explained, and from the - triage skill's artifact step. Portable across projects. + Get the evidence out of a CI run: failed job logs (also mid-run) clustered + by error line, and the artifacts that hold the cause. Trigger whenever a CI + failure must be explained, and from triage. --- A job log tells you what broke. An artifact tells you why. Investigating a CI diff --git a/skills/cleanup/SKILL.md b/skills/cleanup/SKILL.md index 5795d58..2260c19 100644 --- a/skills/cleanup/SKILL.md +++ b/skills/cleanup/SKILL.md @@ -1,13 +1,10 @@ --- name: cleanup description: > - Free the disk space agents filled: ask every other agent session on this - machine which data it still needs, inventory /tmp, Docker and the other - directories agents write to, then propose a cleanup with its risks and let - the operator choose through single-select (radio button) and multi-select - (checklist) questions before anything is deleted. Trigger on /cleanup, - "aufräumen", "bereinigen", "platte voll", "no space left on device", or when - the operator asks to clean up after agents. Portable across projects. + Free disk space agents filled: ask peer sessions what they still need, + inventory /tmp, Docker and agent dirs, and delete only what the operator + picks. Trigger on /cleanup, "aufräumen", "bereinigen", "platte voll", "no + space left on device". --- Nothing is deleted before the operator has picked it. Every candidate carries diff --git a/skills/comments-clean/SKILL.md b/skills/comments-clean/SKILL.md index a4c18cb..5d41c8d 100644 --- a/skills/comments-clean/SKILL.md +++ b/skills/comments-clean/SKILL.md @@ -2,12 +2,9 @@ name: comments-clean description: > Purge explanatory comments from staged and unstaged changes. Run - AUTOMATICALLY, without being asked, every time the operator requests a - commit or stage in any wording (commit, commit no-verify, stage next, - socon, sobu, socobu, "commite ..."), BEFORE executing that request; also - on /comments-clean or when the operator complains about comments. - Explanatory comments are bad practice: they narrate code instead of - letting it speak. Portable across projects. + AUTOMATICALLY before every commit or stage request (commit, commit + no-verify, stage next, socon, sobu, socobu, "commite ..."); also on + /comments-clean or comment complaints. --- When the operator asks to commit or stage, run this audit first and only diff --git a/skills/commit-next/SKILL.md b/skills/commit-next/SKILL.md index fc22b26..208b9fe 100644 --- a/skills/commit-next/SKILL.md +++ b/skills/commit-next/SKILL.md @@ -1,11 +1,9 @@ --- name: commit-next description: > - Fetch every branch and check whether the staged fix already exists - elsewhere, then commit the staged bundle with --no-verify, stage the next - logical bundle and brief the operator on it. Trigger on /commit-next or - when the operator asks to commit and stage the next bundle in one step. - Portable across projects. + Check every branch for the staged fix, commit the staged bundle with + --no-verify, then stage and brief the next bundle. Trigger on /commit-next + or when the operator asks to commit and stage the next bundle in one step. --- 1. `git fetch --all --prune --tags`, then hunt the staged fix across every diff --git a/skills/commit-no-verify/SKILL.md b/skills/commit-no-verify/SKILL.md index cf44781..3e85448 100644 --- a/skills/commit-no-verify/SKILL.md +++ b/skills/commit-no-verify/SKILL.md @@ -1,11 +1,9 @@ --- name: commit-no-verify description: > - Commit the currently staged changes with --no-verify (skip the pre-commit - hooks). Trigger on /commit-no-verify or when the operator asks for a - no-verify commit in any wording. Invoking this skill IS the explicit - per-commit authorization that --no-verify requires; it never carries over - to later commits. Portable across projects. + Commit the staged changes with --no-verify. Trigger on /commit-no-verify or + any request for a no-verify commit; invoking it IS the per-commit + authorization --no-verify requires, never carried over to later commits. --- 1. Run the comments-clean audit over the staged and unstaged changes first, diff --git a/skills/confidence/SKILL.md b/skills/confidence/SKILL.md index 449acf6..5018bcc 100644 --- a/skills/confidence/SKILL.md +++ b/skills/confidence/SKILL.md @@ -1,10 +1,9 @@ --- name: confidence description: > - Report calibrated confidence unprompted. Trigger whenever you stage - changes, declare a fix or bundle ready, or summarize completed work the - operator may commit or deploy — the operator must never have to ask "how - sure are you?". Portable across projects. + Report calibrated fix confidence and break risk unprompted whenever you + stage changes, declare a fix or bundle ready, or summarize work the operator + may commit or deploy. --- Every stage summary, fix report, or ready-to-commit bundle ends with a diff --git a/skills/coordinate/SKILL.md b/skills/coordinate/SKILL.md index 8b57965..2f12116 100644 --- a/skills/coordinate/SKILL.md +++ b/skills/coordinate/SKILL.md @@ -1,10 +1,9 @@ --- name: coordinate description: > - Coordinate a failing run or a fix with the agents on related branches - (upstream and downstream through merges): claim it, ask whether it is - already fixed, report the result. Trigger on /coordinate and whenever a fix - touches code other branches share through merges. Portable across projects. + Coordinate a failure or fix with the agents on related branches through + merges: claim, ask, report. Trigger on /coordinate and when a fix touches + code other branches share. --- Run the `democracy` skill's **Lineage** and **Peer protocol** sections for the diff --git a/skills/criticize/SKILL.md b/skills/criticize/SKILL.md index 6a1f8b6..747e750 100644 --- a/skills/criticize/SKILL.md +++ b/skills/criticize/SKILL.md @@ -1,13 +1,10 @@ --- name: criticize description: > - Look at a problem, a plan, a design, a decision, a text, or a piece of code - critically from diverse aspects and give constructive criticism: what holds, - what does not, why it matters, and what to do instead. Every critique point is - hardened with the dialectic skill before it is reported. Trigger on - /criticize, "kritisiere", "kritisch betrachten", "konstruktive Kritik", - "was haeltst du davon", or when the operator asks for honest feedback on - something rather than for a fix. Portable across projects. + Give constructive criticism of a problem, plan, design, decision, text or + code from diverse aspects, each point hardened by dialectic. Trigger on + /criticize, "kritisiere", "kritisch betrachten", "konstruktive Kritik", "was + haeltst du davon", or requests for honest feedback. --- The stance is critical but constructive: the goal is a better result, not a diff --git a/skills/democracy/SKILL.md b/skills/democracy/SKILL.md index e83087b..78dad01 100644 --- a/skills/democracy/SKILL.md +++ b/skills/democracy/SKILL.md @@ -1,16 +1,10 @@ --- name: democracy description: > - Organise parallel agents so no two do the same work: the first agent to - start a piece of work is elected its president and does all of it, the first - agent in each organisational line represents that line, the first to start a - cross-cutting work cluster organises its strand, and the earliest-elected - live president chairs the council and allocates the resources of the whole - system (machines, servers, cloud, CI runners, gate, deploy and iteration - slots, disk). Run AUTOMATICALLY before starting work another agent on the - same system might also be doing (a failure, a cost cluster, a feature, a - gate, a deploy, a cleanup), whenever several agents share a system, and on - /democracy. Portable across projects. + Keep parallel agents from duplicating work: the first to claim it owns it; + line representatives and a resource chair coordinate. Run AUTOMATICALLY + before work another agent might also do (failure, cluster, feature, gate, + deploy, cleanup), and on /democracy. --- Two agents doing the same work waste the second run and then collide in the diff --git a/skills/dialectic/SKILL.md b/skills/dialectic/SKILL.md index 18190dc..66cbd95 100644 --- a/skills/dialectic/SKILL.md +++ b/skills/dialectic/SKILL.md @@ -1,11 +1,10 @@ --- name: dialectic description: > - Reach a defensible conclusion through a dialectical process — thesis, - adversarial antithesis, synthesis — iterated until one thesis survives every - attack at ~99% confidence. Trigger for any consequential root-cause, design, - or decision where being wrong is expensive and the answer is not yet certain. - Deep-inspects every accessible source. Portable across projects. + Reach a defensible conclusion by thesis, independent skeptic antithesis and + synthesis, iterated to ~99% confidence. Trigger for any consequential root + cause, design or decision where being wrong is expensive and the answer is + uncertain. --- Reach the truth by dialectic, not by first guess. Do not stop at a plausible diff --git a/skills/dream/SKILL.md b/skills/dream/SKILL.md index 11ca4e0..a41a3ea 100644 --- a/skills/dream/SKILL.md +++ b/skills/dream/SKILL.md @@ -1,16 +1,10 @@ --- name: dream description: > - Consolidate the last 24 hours of work in the current repository: what the - agent did, where it was right, where it was wrong, and which hypotheses - follow. Every hypothesis is hardened with the dialectic skill, the survivors - are written to memory, the derived improvements to the repository's code and - to its agent instructions (CLAUDE.md, AGENTS.md) are offered as single-select - questions, and the run ends in autotune and autoskill. The objective is to - raise the confidence of future runs until those mistakes stop recurring. - Trigger on /dream, or - when the operator asks to reflect on, consolidate, or learn from recent work. - Portable across projects. + Consolidate the last 24 hours of work in this repository: what held, what + broke, which hypotheses follow, into memory and improvement proposals. + Trigger on /dream or when the operator asks to reflect on or learn from + recent work. --- Sleep on the work: replay what happened in this repository, separate what held diff --git a/skills/essence/SKILL.md b/skills/essence/SKILL.md index cd17a06..39e6c67 100644 --- a/skills/essence/SKILL.md +++ b/skills/essence/SKILL.md @@ -1,10 +1,9 @@ --- name: essence description: > - Compact skills and memory down to their essence so every session loads less - context, after a health pass that finds the dead weight first. Trigger on - /essence, or when the operator says the skills or MEMORY.md have grown too - long, carry duplicates, or eat too much context. Portable across projects. + Compact skills and memory to their essence after a health pass that finds + dead weight. Trigger on /essence or when skills or MEMORY.md grow too long, + duplicate, or eat too much context. --- Shorter, not thinner. Every fact that still earns its place survives; what goes diff --git a/skills/explain/SKILL.md b/skills/explain/SKILL.md index ab494e4..45350ad 100644 --- a/skills/explain/SKILL.md +++ b/skills/explain/SKILL.md @@ -1,10 +1,9 @@ --- name: explain description: > - Explain code and its interactions. Trigger when the operator asks what a - piece of code does, how a mechanism works, why components interact the way - they do, or invokes /explain on a file, function, role, or module. - Portable across projects. + Explain code and its interactions. Trigger when the operator asks what code + does, how a mechanism works, why components interact, or invokes /explain on + a file, function, role or module. --- Explain the named code so an engineer who has never seen it can follow it: diff --git a/skills/funnel/SKILL.md b/skills/funnel/SKILL.md index b45dae4..81fab79 100644 --- a/skills/funnel/SKILL.md +++ b/skills/funnel/SKILL.md @@ -1,13 +1,9 @@ --- name: funnel description: > - Funnel agent work through sidetrees: every agent works in its own git - worktree until its change reaches at least 90 % fix confidence and under 5 % - break risk, and only then does the change enter the main line. When that bar - is realistically out of reach, the agent submits a proposal instead of a - change. Trigger when delegating implementation, fix or optimization work to - agents, when several agents work in parallel, or on /funnel. Portable across - projects. + Keep agent work in its own git worktree until it reaches 90% fix confidence + and under 5% break risk; below that bar it becomes a proposal. Trigger when + delegating work to agents, when agents work in parallel, or on /funnel. --- # Funnel diff --git a/skills/help-skills/SKILL.md b/skills/help-skills/SKILL.md index 05b6abc..e036506 100644 --- a/skills/help-skills/SKILL.md +++ b/skills/help-skills/SKILL.md @@ -1,10 +1,9 @@ --- name: help-skills description: > - List and explain every skill available in the current session. Trigger on - /help-skills, "welche skills gibt es", "skill übersicht", or when the - operator asks what skills exist or what a skill does. Portable across - projects. + List and explain every skill in the session. Trigger on /help-skills, + "welche skills gibt es", "skill übersicht", or when the operator asks what + skills exist or what one does. --- Produce a one-shot overview of every skill the session can invoke: diff --git a/skills/medusa/SKILL.md b/skills/medusa/SKILL.md index f79dd9f..83d4b94 100644 --- a/skills/medusa/SKILL.md +++ b/skills/medusa/SKILL.md @@ -1,11 +1,10 @@ --- name: medusa description: > - Run the MEDUSA AI security scanner (medusa-security on PyPI) against a - repository, working tree, or secret stores. Use when the user asks for a - security scan, supply-chain vetting of a repo before cloning, leaked-secret - detection in AI chat or shell history, or invokes /medusa. Defensive scanning - only. + Run the MEDUSA security scanner (medusa-security, PyPI) on a repository, + working tree or secret stores. Use for security scans, vetting a repo before + cloning, leaked-secret detection in chat or shell history, or /medusa. + Defensive only. --- MEDUSA is a defensive AI-first security scanner (40,000+ patterns: CVEs, prompt injection, MCP tool poisoning, leaked secrets). diff --git a/skills/merge-fix/SKILL.md b/skills/merge-fix/SKILL.md index e92ca6f..44d8687 100644 --- a/skills/merge-fix/SKILL.md +++ b/skills/merge-fix/SKILL.md @@ -1,10 +1,9 @@ --- name: merge-fix description: > - Fetch every branch of the repository, hunt down the commits that carry a - described fix, and merge that fix into the current branch. Trigger on - /merge-fix or when the operator asks to find a fix - that lives on another branch and bring it over. Portable across projects. + Hunt down the commits on any branch that carry a described fix and merge it + into the current branch. Trigger on /merge-fix or when the + operator asks to bring over a fix from another branch. --- The free text after `/merge-fix` is the fix description, exactly like `/loop` diff --git a/skills/no-defaults/SKILL.md b/skills/no-defaults/SKILL.md index 64e9d66..10a39c4 100644 --- a/skills/no-defaults/SKILL.md +++ b/skills/no-defaults/SKILL.md @@ -1,15 +1,10 @@ --- name: no-defaults description: > - Forbid default values for parameters, settings, and environment lookups in - every language. Load and apply AUTOMATICALLY on every task that writes, - edits, generates, refactors, or reviews code, config, templates, schemas, - or infrastructure — never wait to be asked. A default silently substitutes - a guess for a value the caller failed to supply, so a misconfiguration - becomes wrong behaviour instead of a loud failure. Demand strict, explicit - values and fail loudly when one is missing. `false`, `null` and `""` are the - only free defaults; every other default needs a written justification. - Portable across projects. + Forbid default values for parameters, settings and environment lookups; + demand explicit values and fail loudly. Apply AUTOMATICALLY on every task + that writes, edits, generates, refactors or reviews code, config, templates, + schemas or infrastructure. --- A default value is a guess, written at the point where the caller's intent is diff --git a/skills/observe/SKILL.md b/skills/observe/SKILL.md index 91605a6..4d0aef1 100644 --- a/skills/observe/SKILL.md +++ b/skills/observe/SKILL.md @@ -1,10 +1,9 @@ --- name: observe description: > - Watch a named target (a CI run, a pipeline, a build, a log) on a fixed - cadence and apply the triage skill whenever new failures appear. Trigger on - /observe or when the operator asks to keep monitoring something and - fix regressions as they surface. Portable across projects. + Watch a named target (CI run, pipeline, build, log) on a cadence and triage + new failures as they appear. Trigger on /observe or when the + operator asks to keep monitoring and fix regressions. --- Keep a target under continuous watch and act only when it degrades. The loop is diff --git a/skills/plan/SKILL.md b/skills/plan/SKILL.md index dfd3fd5..31e0919 100644 --- a/skills/plan/SKILL.md +++ b/skills/plan/SKILL.md @@ -1,10 +1,9 @@ --- name: plan description: > - Turn a request into an objective-oriented plan and hand it to the robot skill - for autonomous execution. Trigger on /plan or when the operator asks for a - plan, a breakdown, or a strategy for a task before any work starts. Portable - across projects. + Turn a request into an objective-oriented plan and hand it to the robot + skill. Trigger on /plan or when the operator asks for a plan, breakdown or + strategy before work starts. --- Produce a plan whose every item is an outcome with a check, then execute it diff --git a/skills/refactor/SKILL.md b/skills/refactor/SKILL.md index 147b0a6..31bdb64 100644 --- a/skills/refactor/SKILL.md +++ b/skills/refactor/SKILL.md @@ -1,11 +1,9 @@ --- name: refactor description: > - Refactor every file that is currently uncommitted in the git working tree - - staged, unstaged and untracked - up to the project's coding standards, - without changing behaviour. Trigger on /refactor or when the operator asks to - clean up, tidy, or polish the current changes before committing. Portable - across projects. + Refactor every uncommitted file (staged, unstaged, untracked) up to the + project's standards without changing behaviour. Trigger on /refactor or when + the operator asks to clean up, tidy or polish the current changes. --- The unit of work is the uncommitted change set, not the repository. Behaviour diff --git a/skills/robot/SKILL.md b/skills/robot/SKILL.md index 2488c5a..941df72 100644 --- a/skills/robot/SKILL.md +++ b/skills/robot/SKILL.md @@ -1,10 +1,9 @@ --- name: robot description: > - Work fully autonomously to a goal. Trigger when the operator wants hands-off, - uninterrupted execution — the agent drives the task to completion without - check-ins, never stops before the goal is reached, and uses only commands it - is already cleared to run. Portable across projects. + Work fully autonomously to a goal: no check-ins, no stopping before the goal, + only commands already cleared. Trigger when the operator wants hands-off, + uninterrupted execution. --- Operate as an autonomous robot: given a goal, reach it without hand-holding. diff --git a/skills/sceptic/SKILL.md b/skills/sceptic/SKILL.md index d0850c6..2af38d6 100644 --- a/skills/sceptic/SKILL.md +++ b/skills/sceptic/SKILL.md @@ -1,11 +1,10 @@ --- name: sceptic description: > - Analyse a repository, a path, or a diff with a hostile eye for violated - engineering principles — SPOT, DRY, KISS, SRP, and security at the trust - boundaries. Trigger on /sceptic, "sei skeptisch", "kritische analyse", - "review the architecture", or when the operator asks what is wrong with the - code rather than whether it works. Portable across projects. + Analyse a repository, path or diff with a hostile eye for violated + principles: SPOT, DRY, KISS, SRP, security at trust boundaries. Trigger on + /sceptic, "sei skeptisch", "kritische analyse", "review the architecture", + or "what is wrong with the code". --- The stance is adversarial: the code is guilty until its structure proves diff --git a/skills/scope-guard/SKILL.md b/skills/scope-guard/SKILL.md index a3d1451..794ee90 100644 --- a/skills/scope-guard/SKILL.md +++ b/skills/scope-guard/SKILL.md @@ -2,10 +2,9 @@ name: scope-guard description: > Deliver exactly what was asked and nothing more. Trigger on every task that - creates files, commands, or commits, and on autonomous runs where no one is - reviewing each step. Also when the operator asks to be given something, and - when they ask why something exists that they never requested. Portable across - projects. + creates files, commands or commits, on unreviewed autonomous runs, on + hand-over requests, and when the operator asks why something unrequested + exists. --- The requested scope is the deliverable. A problem you noticed behind the diff --git a/skills/shortcuts/SKILL.md b/skills/shortcuts/SKILL.md index e66e585..fe123e3 100644 --- a/skills/shortcuts/SKILL.md +++ b/skills/shortcuts/SKILL.md @@ -1,10 +1,9 @@ --- name: shortcuts description: > - Portable operator conversation shortcuts, reusable across every project. - Trigger when the user's message is exactly one of these tokens (optionally - followed by arguments): sobu, soco, socobu, socon, sona, sote. Expand the - shortcut to the listed meaning and act on the expanded instruction. + Operator conversation shortcuts. Trigger when the message is exactly one of + these tokens, optionally with arguments: sobu, soco, socobu, socon, sona, + sote. Expand it and act on the expanded instruction. --- When an operator message is one of the shortcuts below, expand it to the meaning and act on it. diff --git a/skills/status-matrix/SKILL.md b/skills/status-matrix/SKILL.md index eca6f39..a1fb80d 100644 --- a/skills/status-matrix/SKILL.md +++ b/skills/status-matrix/SKILL.md @@ -1,11 +1,9 @@ --- name: status-matrix description: > - Print one matrix of everything currently in flight: open and closed tasks, - running workflows and background jobs, plus confidence and break risk per - item. Trigger on /status-matrix, "status", "übersicht", "wo stehen wir", or - whenever the operator asks what is done, what is left, or what is still - running. Portable across projects. + Print one matrix of everything in flight: tasks, workflows, background jobs, + with confidence and break risk per item. Trigger on /status-matrix, + "status", "übersicht", "wo stehen wir", or what is done, left or running. --- One-shot overview, no side effects: this skill reads state and reports it. It diff --git a/skills/test/SKILL.md b/skills/test/SKILL.md index 5317be8..b29572d 100644 --- a/skills/test/SKILL.md +++ b/skills/test/SKILL.md @@ -1,11 +1,9 @@ --- name: test description: > - Discover the test targets of the project's Makefile, let the operator pick - which ones to run, then run them and report; in fix mode, loop run, diagnose, - fix, re-run until green. Trigger on /test, /test --fix, or when the operator - asks to run the tests, make them pass, or get the suite green. Portable - across projects. + Discover the Makefile's test targets, let the operator pick, run and report; + fix mode loops until green. Trigger on /test, /test --fix, or when the + operator asks to run the tests, make them pass, or get the suite green. --- The Makefile is the source of truth for how this project runs tests. Never diff --git a/skills/triage/SKILL.md b/skills/triage/SKILL.md index f71d245..78e6e3f 100644 --- a/skills/triage/SKILL.md +++ b/skills/triage/SKILL.md @@ -1,11 +1,9 @@ --- name: triage description: > - Triage a failing CI run, pipeline, or job set to a verified root cause and a - real fix. Trigger when a build, test, or deploy pipeline has one or more failed - jobs. Applies the dialectic skill, the democracy peer protocol and the funnel - skill to every failure cluster, so each cluster is fixed in its own worktree, - and hands a timed-out job's log to the tune skill. Portable across projects. + Triage a failing CI run, pipeline or job set to a verified root cause and a + real fix, one cluster per worktree. Trigger when a build, test or deploy + pipeline has failed jobs. --- Drive a red pipeline to green by root cause, not by guesswork. Treat every diff --git a/skills/tune/SKILL.md b/skills/tune/SKILL.md index 0ed4ed0..48e3a2f 100644 --- a/skills/tune/SKILL.md +++ b/skills/tune/SKILL.md @@ -1,15 +1,10 @@ --- name: tune description: > - Find and apply performance optimizations (CI wall-clock, deploy duration, - build and gate runtime, hot code paths) without reducing logic, coverage or - correctness, including a change of language where measurement justifies it. - Asks once per session what to examine and which limits apply, measures from - logs, coordinates every cost cluster with the other agents so the one who - identified it first works it, hardens every candidate with the dialectic skill - and funnels each optimization through a sidetree. Trigger on /tune, when a job dies on its time - budget, when a pipeline or deploy grows slower, or when the operator asks - where the time goes. Portable across projects. + Find and apply performance optimizations (CI, deploy, build, gate, hot + paths) without reducing logic, coverage or correctness. Trigger on /tune, + when a job dies on its time budget, when a pipeline or deploy grows slower, + or asked where time goes. --- # Tune diff --git a/tests/test_lock.py b/tests/test_lock.py index d869455..cb2f13e 100644 --- a/tests/test_lock.py +++ b/tests/test_lock.py @@ -12,6 +12,8 @@ LOCK_FILE = REPO_ROOT / "skills-lock.json" HASH_RE = re.compile(r"^[0-9a-f]{64}$") REQUIRED_FIELDS = ("source", "sourceType", "skillPath", "computedHash") +DESCRIPTION_WORDS = 40 +LISTING_WORDS = 1300 class TestSkillsLock(unittest.TestCase): @@ -61,6 +63,16 @@ class TestSkillsLock(unittest.TestCase): "description:", frontmatter, "frontmatter missing description" ) + def test_descriptions_fit_the_listing_budget(self): + total = 0 + for skill_md in sorted((REPO_ROOT / "skills").glob("*/SKILL.md")): + frontmatter = skill_md.read_text(encoding="utf-8").split("---", 2)[1] + words = len(frontmatter.split("description:", 1)[1].split()) - 1 + total += words + with self.subTest(skill=skill_md.parent.name): + self.assertLessEqual(words, DESCRIPTION_WORDS) + self.assertLessEqual(total, LISTING_WORDS) + def test_first_party_skills_do_not_shadow_locked_skills(self): locked = set(self.lock["skills"].keys()) for skill_dir in sorted((REPO_ROOT / "skills").glob("*/")):