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