Slow-powers is a set of software development methodology skills and meta skill-writing guidance.
This repo ships Slow-powers across four harnesses:
skills/— Skills, assets, and cross-cutting tests.claude-plugin/— Claude Code plugin.codex-plugin/— OpenAI Codex pluginopencode/— OpenCode plugin (@slowdini/slow-powers-opencode)cline/— Cline plugin (CLI/SDK/Kanban only; declared via theclinefield inpackage.json, withskills/auto-discovered from the package root)
Cline-specific setup for working on this repo also lives at root:
.clinerules/— Cline rules (the Memory Bank custom instructions), trackedmemory-bank/— Cline Memory Bank contents. Gitignored: each developer keeps their own local bank; only the rule in.clinerules/is shared
Two file-confusion traps are common in this repo. Avoid both:
- Write memory-file changes to
AGENTS.md, the only real file.CLAUDE.md(and any future harness-specific memory files) are symlinks toAGENTS.md. EditAGENTS.mddirectly; the symlinks reflect it automatically. Never try to "fix up" the other names — there's nothing to fix. - Read and edit only files inside this repository, never the installed
slow-powers plugin. Your environment almost always has the slow-powers
plugin installed while this repo is the bleeding-edge
devsource. The two trees diverge, so an installed skill file is not the file you want. Every read and edit belongs to a path under this project directory.
All skills MUST use cross-harness vocabulary, as described in slow-powers/writing-skills.
- Read existing skills before proposing changes to skill content. Skill prose has been tuned over many iterations upstream and downstream; changes to behavior-shaping content (Red Flags tables, rationalization lists, "human partner" language) need evidence the change is an improvement.
- Test your change on at least one harness and note which one in the PR description. If your change touches harness-specific infrastructure, test that harness.
If you modify skill content:
- Use
slow-powers:writing-skillsto develop and test changes. - Run adversarial pressure testing across multiple sessions, not just the happy path.
- For behavior-shaping changes, show before/after eval results in the PR
description. For deterministic changes (instruction-following the agent
reliably does anyway), state the decision and reasoning to skip the eval
instead — see "Choosing to test with evals" in
slow-powers:evaluating-skills. - Ensure skills are cross-harness compatible: avoid harness-specific tool or feature names.
- Our discipline-enforcing skills should carry at least one seeded eval case — one
that embeds a short prior transcript so the skill is met mid-session under a
competing attractor — because their real-world failures happen in-flight and a
cold prompt alone under-measures them (see "Seeding conversation context" in
slow-powers:evaluating-skills).hardening-plansis the reference example.
bun install # also activates git hooks via the `prepare` script
bun test
bun run checkbun install runs the prepare script, which installs the git hooks
(pre-commit runs typecheck + lint-staged; pre-push runs the test suite).
bun scripts/bump-version.ts <version> updates every manifest in lockstep.
To test the Cline integration live: cline plugin install ./ --cwd <scratch-dir>,
run a Cline session in the scratch dir, then
cline plugin uninstall slow-powers --cwd <scratch-dir> when done.