A Claude Code and Codex plugin that scaffolds AI-native development practices into new projects. jig adds a repeatable spec, implementation, review, and memory workflow to AI-assisted software projects.
> /plugin marketplace add ramboz/jig> /plugin install jig@jig
What's inside

A Claude Code and Codex workflow layer that scaffolds AI-native development practices into new projects.
jig (noun): a tool that guides other tools to work accurately and consistently.
Two years of AI-assisted coding leave the same scars on every non-trivial project: LLMs refactor whole layers before anything works end-to-end, "done" drifts because no acceptance criteria are written down, implementers grade their own homework, and mega-packs burn the context budget before your work loads. jig encodes the workflow that prevents each one — so you don't rediscover it session by session.
→ The jig philosophy — the full why: the named scars, how jig thinks, and the honest objections.
Idea → Spec → Vertical slice → Implementation → Independent review → Reconciliation → Done
jig installs a focused, opinionated workflow layer into your project:
A fixed, opinionated set — 7 Tier 0 skills at the floor and 13 more on by default (Tier 1) — not a hundred-skill marketplace. For the full picture, see product-vision.md (vision, target users, principles) and architecture.md (mechanics).
The convictions behind the mechanisms — each one wired into something concrete, not left as advice:
These are the outward-facing worldview; several are also load-bearing build rules jig holds itself to, spec by spec — see product-vision § Design principles for the operational detail.
jig now ships one development experience across Claude Code, Codex, and GitHub Copilot CLI: the same workflow model, rendered into host-native files by the host-adapter layer (spec 033). The next big horizon is coordination across a multi-repo workspace (a federation tier — spec 034).
New to jig? Read the adoption & readiness guide first — who jig is for, what your repo needs, and your first 30 minutes.
There are two ways to add jig, and installing it as a plugin is the recommended default. As a plugin, jig's machinery stays in the plugin and out of your repo, so your project stays lean and every project you install it into tracks the same jig version automatically.
Reach for the scaffold instead when you want jig to live inside your project — copied in as editable files you own and can customize, with no plugin dependency. It's the self-contained option for teams that want to pin, fork, or tailor jig's machinery to their repo.
Use the recipe for your host below — Claude Code, Codex, or GitHub Copilot CLI. For each host the plugin recipe is the recommended default and the scaffold recipe is the copy-it-in alternative (Copilot ships plugin-only — see below). See ADR-0041 for the full rationale.
Claude plugin
Recommended — installs jig as a plugin; nothing is copied into your repo.
/plugin marketplace add ramboz/jig
/plugin install jig@jig
Claude scaffold
Alternative — copies jig into your project as editable, self-contained files.
git clone https://github.com/ramboz/jig.git
python3 jig/hosts/claude/skills/scaffold-init/scaffold.py --in-repo <your-project>
Codex plugin
Recommended — installs jig as a plugin; nothing is copied into your repo.
codex plugin marketplace add ramboz/jig
codex plugin add jig@jig
Codex scaffold
Alternative — copies jig into your project as editable, self-contained files.
git clone https://github.com/ramboz/jig.git
python3 jig/hosts/codex/plugins/jig/skills/scaffold-init/scaffold.py --host codex --in-repo <your-project>
Copilot plugin
Recommended — registers this repository's Copilot marketplace and installs jig from its committed Copilot package; nothing is copied into your repo.
copilot plugin marketplace add ramboz/jig
copilot plugin install jig@jig
Once installed, open a new project directory in your host and say:
"Set up this project for AI-native development"
The scaffold-init skill will run and produce the docs/ scaffolding.
Copy-paste prompts live in the prompt cookbook, in the order you run them: scaffold the repo once, then repeat the idea-to-landed loop for every feature.
Bring your own depth; jig provides the floor.
A few jig skills — pr-review, arch-review, contracts, security-review,
code-health, explain, vision-elicitation — ship as lightweight baselines
that defer to a richer user-installed skill in the
same category when one is present. The deferral is category-based, not
name-specific, so your own reviewer skill wins automatically, with no
configuration. jig stays opinionated about workflow and out of the way of
the judgment skills you've already invested in. Detail:
product-vision § Design principles.
Each host is verified in its own environment — one host's check does not prove the other installs and runs:
python3 scripts/verify_install.py confirms the install
footprint, and python3 scripts/build_release_zip.py --host claude --smoke-test <zip> exercises the committed hosts/claude package. Spec
061-06 owns the full Claude install-verification slice.python3 scripts/codex_install_smoke.py validates the committed
hosts/codex package and probes a live Codex CLI when present. Spec 061-07
owns the full Codex install-verification slice.install_contract.validate_copilot_package — wired into
python3 scripts/build_release_zip.py --host copilot --smoke-test <zip> —
validates the committed hosts/copilot package's manifest-declared legacy
component paths (skills, agents, hooks) and the skills, agents, hook
config, scripts, and templates those paths resolve to. For a live discovery
check, install into an isolated COPILOT_HOME, run copilot -C <empty-dir> skill list, and confirm spec-workflow appears; then run a deliberately
missing agent and confirm the "available agents" list includes
jig:reviewer. A headless copilot -p session does not reliably prove hook
firing (folder-trust/mode limits), so hook verification is the declared-path
validator plus release-zip smoke rather than copilot plugin list.See CONTRIBUTING.md for the local-marketplace workflow used during development.
Four peers: the canonical source root, and the committed hosts/claude,
hosts/codex, and hosts/copilot packages. The three host packages
are committed, source-derived build outputs — kept fresh by the drift
guard (python3 scripts/build_host_packages.py [--check]) and NOT
hand-edited. The host packages have different internal shapes: Claude
and Copilot are both flat plugins (.claude-plugin/plugin.json /
.plugin/plugin.json at the package root — Copilot's runtime tree nests under
.github/ instead of the package root) while Codex is marketplace-wrapped
(hosts/codex/.agents/plugins/marketplace.json + hosts/codex/plugins/jig/...).
# Canonical source root (dev tooling + the tree the host packages build from):
.claude-plugin/plugin.json # Claude plugin source manifest
.claude-plugin/marketplace.json # remote-install pointer → ./hosts/claude
.agents/plugins/marketplace.json # Codex remote-install pointer → ./hosts/codex/plugins/jig
.github/plugin/marketplace.json # Copilot remote-install pointer → ./hosts/copilot
.codex-plugin/plugin.json # Codex plugin source manifest
skills/ # Skill definitions (SKILL.md per skill)
agents/ # Subagent definitions
hooks/ # Hook configuration + Python scripts
scripts/ # Top-level dev scripts (verify-install, …)
templates/ # Source templates scaffold-init generates from
docs/ # Dev docs for jig itself (dogfooded workflow)
specs/ # Specs for jig's own features
memory/ # jig's own memory layer
decisions/ # Architectural decisions (ADRs)
# Committed, drift-guarded host packages (built from source; NOT hand-edited):
hosts/
claude/ # COMMITTED flat Claude plugin package
codex/ # COMMITTED marketplace-wrapped Codex package
.agents/plugins/marketplace.json
plugins/jig/ # the Codex plugin tree
copilot/ # COMMITTED flat Copilot plugin package
.plugin/plugin.json
.github/{skills,agents,hooks,scripts,templates}/
dist/ # gitignored — host-explicit release ZIPS ONLY
Read CONTRIBUTING.md for the local install + verify flow,
then docs/workflow.md for the spec lifecycle. Every
change to jig starts with a spec. PRs squash-merge with conventional-commit
titles (feat(scope): … / fix(scope): …); the pr-title.yml workflow
enforces the shape, and CONTRIBUTING § Releasing has the version-bump effect of
each prefix.
How jig compares against other AI-native playbooks — and where each known gap is owned — lives in CONTRIBUTING § Comparison and gap response.
Showing a partial view of a very large repo.
FAQ
jig is a Claude Code plugin with 20 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes adr-workflow, analyze, arch-review. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it