By yoelgal
Portable dev practices as skills - onboard a repo, plan or diagnose in worktrees, drive an autonomous loop to proven-done, review, source tools, and self-extend. Runs inside the coding agent you already use.
Use when installing better-dev on a machine, cutting a release, or validating the package before distribution - covers the global per-host install, the Claude Code plugin manifest, and the release gate.
Use when a product needs a live deploy surface that does not exist yet - "deploy this" or "get it live" on a greenfield product with no platform project, repo connection, domain, or per-environment config - when /release-promotion finds no recorded deploy rules and /guardrails-install has nothing to observe because nothing was ever created, or when a feature needs a product service provisioned (a database, an auth provider, transactional email, a domain). The deploy-surface sibling of /browser-capability - the same source-a-capability-on-a-gap practice.
Use when a planned feature or a diagnosed fix now has to be built to real, proven done - carrying one work-item through the implement-and-verify loop in its worktree, resuming it after an interruption, or restarting it when it stalls. Not for the planning or diagnosis that comes first.
Use when installing better-dev into a host so sessions and dispatched workers automatically notice the practices are present - wiring the SessionStart and SubagentStart awareness hooks, or adapting them for a non-Claude-Code host.
Use when a work item's done-criteria need a real browser - verify a page actually renders, run an end-to-end or visual check against the running UI, screenshot or inspect the live DOM - and no browser tool is wired yet. The worked example of sourcing a tool on a capability gap.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Portable dev practices, packaged as skills - that run inside the coding agent you already use.
better-dev is a set of SKILL.md practices that make your existing agent - Claude Code, Codex, hermes, pi -
do software development well, whether you're starting a project from scratch or working in an existing
codebase. It's not an agent, framework, or provider layer. It adds one opinionated method and gets out of
the way of everything else you've installed:
idea → scope it into an observable contract → isolate it → drive a loop to proven done → ship - and when you're missing a tool, go source it.
Status: built and self-verified (
bd-package-checkgreen), reimplemented from ~100 sources and audited against forge/devloop and loop-engineering. Not yet battle-tested in live multi-harness runs. Design notes:docs/PLAN.md·docs/DECISIONS.md.
From inside the repo you want to set up, paste this into your agent. It installs better-dev once for your machine, then wires the repo:
Set up better-dev in this repo. Read https://raw.githubusercontent.com/yoelgal/better-dev/main/BOOTSTRAP.md
and follow it exactly: detect my coding agent, install better-dev globally for it if it isn't already, then
run /onboard to wire this repo. Ask me only if something is genuinely ambiguous.
Set up better-dev in this repo. It's a portable set of dev practices packaged as skills, in two layers: the
TOOL (skills + bd-* scripts + hooks) installs GLOBALLY once per machine and every repo shares it; a repo's
.better-dev/ holds that repo's DATA only.
1. Detect which coding agent I'm in (Claude Code ~/.claude, Codex ~/.codex, or other) - that decides the
install command and the global skills directory.
2. Install the tool globally, once per machine. If it's already installed (a better-dev entry in the host's
global skills dir, or an existing clone), run `git pull` in the clone and skip to step 3. Otherwise: on
Claude Code install it as a plugin (add this repo as a marketplace, then install better-dev); on any host,
`git clone https://github.com/yoelgal/better-dev ~/better-dev && ~/better-dev/install.sh`, which links the
tool into the host's global skills dir. Update later with /update (a `git pull` in the clone underneath).
3. Run /onboard in this repo to wire it: create .better-dev/ for DATA only (rules.md, overrides.md,
learnings.jsonl committed; ledger/ gitignored), create .better-dev/bin as a per-machine symlink to the
global install's scripts so .better-dev/bin/bd-mem resolves here, and write a discovery block and a
comms-style block into the entry file (CLAUDE.md / AGENTS.md).
Adapt to whatever conventions already exist; ask me only on genuine ambiguity.
Then your next message can just be "here's a bug…", "here's a feature…", or "let's build an app
that…" - the wired repo carries an utterance-to-skill routing table, so you say what you want and the
chain runs itself. Uninstall any time with /uninstall (or scripts/bd-uninstall): dry-run by default,
removes only what better-dev installed, and never touches your .better-dev/ data unless you ask.
Start a project from scratch, or land a feature or fix in an existing codebase - the work runs one spine:
npx claudepluginhub yoelgal/better-devMatt Pocock's agent skills for real engineering — grilling, spec/ticket flows, TDD, code review, domain modelling and more. Plug-and-play, not vibe coding.
Harness-native ECC plugin for engineering teams - 67 agents, 279 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
Consult multiple AI coding agents (Gemini, OpenAI, Grok, Perplexity, plus codex, antigravity, and grok CLIs when installed) to get diverse perspectives on coding problems