Loom weaves a coding-agent setup into one installable collection: 50+ skills, Pi packages, and pinned tools. Its guided installer walks you through the collection, sets up anything you're missing (like Pi or Herdr), and checks that it all works.
Agent skills — 50+ skills for coding agents that read a skills/ tree (Claude Code, Codex, OpenCode, and Pi included). They're about how you work with an agent, not what it builds: test-driven development, code review, refactoring, debugging, domain modeling, docs and diagrams, and planning. Install one or all of them.
Pi packages — extensions for the Pi coding agent.
- openai-fast — turn on OpenAI fast mode (the priority service tier) from inside Pi.
- herdr-worktree — continue the current session in a fresh Herdr-managed git worktree.
- subagents, web-access, rewind, claude-bridge — installed straight from their upstream npm packages, exact-pinned so they update only when this repo bumps the pin.
Most of the skills chain into one loop: you start with a vague idea and end with committed code. Each step feeds the next.
- brainstorming — no idea yet. Talk through directions until one sticks; you end with a short brief.
- wayfinder — the idea is real but fuzzy, or too big for one session. Break the unknowns into investigation tickets and work through them until the route is clear.
- grill-with-docs — the agent interviews you, hard, until the idea is a spec. ADRs and a glossary fall out for free.
- grill-with-examples — for hairy business logic: pin down every rule with concrete examples. Each example becomes a test later.
- to-spec — turn the conversation into a spec on your tracker. No more questions, just writing it down.
- to-tickets — split the spec into small tickets that each say what blocks them.
- implement — build it. You approve a design sketch first, then it's TDD from there.
- code-review — review the diff twice over: does it follow the repo's rules, and does it do what the spec said.
- refactor — clean up, with the goal that the codebase ends up smaller than it started.
- e2e-test — actually run the app and watch it work; a green test suite isn't proof. Add e2e-ux-test when a human has to like the UI too.
- commit — tests green, then one clean Conventional Commits commit.
Two more sit off to the side. If something breaks mid-flow, diagnosing-bugs makes you find the actual cause before anyone touches a fix. And writing-clearly-and-concisely keeps the prose the loop produces (specs, commit messages, this README) readable.
You don't have to do all of it. A small, clear feature can start at step 7.
curl -fsSL https://raw.githubusercontent.com/Yassimba/loom/main/install.sh | shpowershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/Yassimba/loom/main/install.ps1 | iex"One command does the minimum and asks about the rest: it installs mise, syncs the core of the tool manifest (node and the loom CLI, exact-pinned), and drops you into the guided setup. Your own ~/.config/mise/config.toml is never touched; use it to layer personal tools on top.
A wizard then walks through tools (Pi, herdr, gh, glab, tokei/tokui, uv, and the skills' helper CLIs — pick what you want, every one pinned to the version Yassin runs), Pi packages, and skills by category. For skills, you choose the agents and whether the copies belong globally or to the current project; global is the default. The review names every destination before anything runs. It ends by telling you what to try first.
Tool versions move only when a new manifest lands on this repo — loom update re-syncs it and refreshes everything else you installed.
Come back to it later:
loom add # choose more capabilities
loom update # update installed tooling and resources
loom status # check the setup
loom add --skill tdd --herdr-plugin reviewr --yes
loom add --skill tdd --agent codex --agent opencode --yes
loom add --skill tdd --agent claude --scope project --yesThere's also a loom skill, so a coding agent can run this same setup for you and ask before each step.
You don't need the CLI — it just drives the tools below, and each one works on its own.
The CLI installs skills natively. Pick Claude, Codex, Pi, OpenCode, or the portable Agent Skills tree with repeatable --agent flags; choose --scope project for the current Git worktree, otherwise installation is global. Omitting --agent preserves the convenient default of using the agents already detected on the machine. Dependencies follow the selected skill into exactly the same destinations.
Global destinations are ~/.claude/skills, ~/.agents/skills, ~/.codex/skills, ~/.pi/agent/skills, and ~/.config/opencode/skills. Project destinations are .claude/skills, .agents/skills (also Codex's portable project location), .pi/skills, and .opencode/skills. OpenCode's session adapter follows the same scope, landing in the corresponding plugins directory so Beads claims remain resumable.
loom add --skill tdd --yes # global, for detected agents
loom add --skill tdd --agent codex --scope project --yes
loom update # refresh each existing copy in placeThe repository is also on skills.sh:
npx skills add Yassimba/loomClaude Code users can get the same skills from its marketplace:
/plugin marketplace add Yassimba/loom
/plugin install loom@loom
Each Pi package installs on its own:
pi install npm:@yassimba/pi-herdr-worktree
pi install npm:@yassimba/pi-openai-fast
pi install npm:pi-subagents
pi install npm:pi-web-access
pi install npm:pi-rewind-hook
pi install npm:pi-claude-bridgeSee the package README under plugins/ for its commands and configuration.
skills/<name>/SKILL.md— the reviewed shared skills. Category grouping lives inskills.sh.json.plugins/<name>/— Pi packages, each installable on its own.cli/loom/— the Rust setup CLI.setup-catalog.json— the generated catalog the CLI embeds..claude-plugin/— exposes the shared skills through the Claude Code marketplace.drafts/— unreviewed skills. Not published.personal/— machine-specific skills. Never published.
Install the JavaScript workspace and run the repository gates:
npm install
npm run check
npm run auditCheck the Rust CLI separately:
cargo fmt --manifest-path cli/loom/Cargo.toml -- --check
cargo clippy --manifest-path cli/loom/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path cli/loom/Cargo.tomlIf you change a reviewed skill or package catalog metadata, regenerate the embedded catalog:
npm run catalog:generateFor local Pi extension development, use scripts/sync-pi-extensions.sh status and scripts/sync-pi-extensions.sh link.
This repo builds on other people's work:
- Several of the coding skills are adapted from Matt Pocock's skills, and the research skill is his, copied verbatim.
- subagents, web-access, and rewind are nicobailon's pi-subagents, pi-web-access, and pi-rewind-hook; claude-bridge is elidickinson/pi-claude-bridge. All install pinned from upstream npm.
Each package's README and THIRD_PARTY_NOTICES.md record the exact upstream version. Thanks, all.