agentleFS
leosiminileosimini/keelokit/skills/harness-upgrade/SKILL.md

harness-upgrade

Skill2 starsChanged 11 days agoMITView on GitHub

Maintenance of the harness, not of the app — bring a Keelokit project up to a newer Keelokit version: the house rules, the doctor and the guard, CI, git hooks and base configs, merged with Copier on a branch, without touching the product's code (apps, migrations, E2E, translations). Use when the user says "upgrade keelokit", "update the harness", "actualizá keelokit", "actualizá el harness", "traé la última versión del template", after `claude plugin update`, or when the dashboard or doctor shows the harness is behind the plugin.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Commit chore: upgrade Keelokit <from> → <to> and report: rules added/changed, conflicts resolved, and anything the user must decide.

    line 46

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Harness upgrade — new harness, same product

A project keeps its own copy of the harness: the version of the Keelokit template it was generated from (_commit in .keelokit/answers.yml). Updating the plugin doesn't change that copy; this skill does. Say it that way to the user: it brings Keelokit's new rules and checks into the project, on a branch, and never rewrites their product.

The template owns infrastructure (CI, lint/format/ts base configs, scripts/verify.sh, git hooks, .keelokit/ except the project's own choices: rules.local.toml, exceptions.toml, critical.toml, profile.toml, verify-routing.toml, red-causes.toml and verify-clock.toml). The product owns its code (apps' src/, e2e, prisma schema and migrations, locale files, packages' src/) and its knowledge (docs/context/, docs/prd.md, docs/escapes.md, backlog/, README.md, CHANGELOG.md) — Copier never overwrites those once they exist.

  1. Working tree clean (git status), on a branch: git switch -c chore/keelokit-upgrade.
  2. See where you are: grep _commit .keelokit/answers.yml. Pick the target tag (latest by default).
  3. Run:
    uvx copier==9.18.2 update -a .keelokit/answers.yml --defaults --conflict rej --vcs-ref <tag>
    -a .keelokit/answers.yml is required (Keelokit keeps its answers there). If _src_path in that file is a local path, the project can only upgrade from that machine — point it at the git source (gh:<owner>/keelokit) first. From a version before 0.10.0 the update brings new files and checks, none of which breaks the project. The doctor warns (not fails) about a missing .gitattributes eol=lf; CI-2 fails only for a CI job you added that .keelokit/verify-map.toml lacks (add it to the map, same commit; the map is the template's, so the update merges its new rows into yours); and docs/prelaunch-debt-ledger.md, docs/ci.md, .keelokit/bin/ci.py, status.py and the agent brief arrive as new files. verify now also takes a per-machine lock; the CI gains a nightly trigger, a manual trigger and a ci-report job.
  4. Resolve every *.rej: keep the project's intent, take the template's structure; delete the .rej files. Read the Keelokit CHANGELOG entries between the two versions for what changed and why.
  5. pnpm install, then pnpm verify --all and python3 .keelokit/bin/doctor.py. New house rules may fail on purpose: meet them, or register an exception with the user's approval. Coming from a version before run-local (the harness has no .keelokit/bin/run-local.sh yet) with a mobile trait: the script arrives with the upgrade, but profile.toml is the project's, so no [local] block comes with it and the doctor warns (RUN-1). Offer /keelokit:run-local, which detects it and writes the block after a yes.
  6. Commit chore: upgrade Keelokit <from> → <to> and report: rules added/changed, conflicts resolved, and anything the user must decide.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.