Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/0x0w1/jig/jig-setupnpx skills add 0x0w1/jig --skill jig-setupgit clone --depth 1 https://github.com/0x0w1/jigWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/0x0w1/jig/jig-setup)<a href="https://agentmods.dev/skills/0x0w1/jig/jig-setup"><img src="https://agentmods.dev/badge/skills/0x0w1/jig/jig-setup.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00061 | $0.01121 |
| Opus 5 | $0.00030 | $0.00561 |
| Sonnet 5 | $0.00012 | $0.00224 |
| Haiku 4.5 | $0.00006 | $0.00112 |
Grade A, and why
jig-setup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
jig Setup
Bind an installed jig target to a repository GitHub profile, then finish repository convergence. Store only the profile login and host; keep credentials in the GitHub CLI credential store.
Profile Contract
Resolve the GitHub profile in this order:
- An explicit profile supplied by the user or
--github-profile. JIG_GITHUB_PROFILEenvironment variable.git config --local --get jig.githubProfile.- An authenticated profile whose login matches the current repository owner.
Resolve the host from JIG_GITHUB_HOST, then git config --local --get jig.githubHost, then github.com.
- Treat the environment variable as an ephemeral override; do not replace local config when it is present unless the user asks.
- Otherwise persist the selected login with
git config --local jig.githubProfile <profile>and the host withgit config --local jig.githubHost <host>. - Never put an OAuth token in git config, tracked files,
.env, logs, or reports. - Validate the profile with
gh auth token --hostname <host> --user <profile>without printing the result, then rungh api user --jq .loginusing that token throughGH_TOKEN(github.comor*.ghe.com) orGH_ENTERPRISE_TOKEN(other hosts). - Do not use
gh auth switch; it changes the globally active profile and makes parallel repositories interfere with each other. - If the requested profile is not authenticated, run
gh auth login --hostname <host>interactively, then validate the exact profile again.
Procedure
- Inspect the repository and installed target:
- confirm the working directory and git repository
- inspect
claude plugin list,AGENTS.md, andGEMINI.mdas available - detect the installed target and scope; map jig global scope to Claude Code user scope
- Resolve and validate the GitHub profile using the Profile Contract. If multiple authenticated profiles remain plausible, ask before selecting one.
- Configure the profile:
- keep an existing
JIG_GITHUB_PROFILEas the session override - otherwise write the repository-local
jig.githubProfileandjig.githubHostvalues
- keep an existing
- Verify the installed target and repair only when incomplete:
- Claude Code: confirm
jig@jigis enabled; when missing, runclaude plugin marketplace add 0x0w1/jig --scope <project|user>andclaude plugin install jig@jig --scope <project|user> - Codex or Antigravity: confirm the jig version stamp and
jig-setup; when incomplete, reruninstall.shfor the detected target and preserve the stamped skill selection
- Claude Code: confirm
- Verify:
- Claude Code:
claude plugin listshowsjig@jigenabled - Codex:
AGENTS.mdhas the jig version stamp and.agents/skills/jig-setup/SKILL.mdexists - Antigravity:
GEMINI.mdhas the stamp and the same skill file exists - the configured profile resolves to the expected login without changing the globally active
ghaccount
- Claude Code:
- Settle the version rubric:
- Resolve it from
JIG_VERSION_RUBRIC, thengit config --local --get jig.versionRubric, then.jig/versioning.md. - When the file exists, report its path, source, and whether it records the adopted default or a project-specific rubric. Do not change it.
- When it is missing, run the
version-rubricskill. If the user skips the question or does not answer, that skill records the adopted default; do not press for an answer. - When the project is clearly not a plain code project, or the user asks which rubric fits, run
rubric-scanfirst and pass its recommended type toversion-rubric. - Never reproduce the rubric text here;
version-rubricowns it.
- Resolve it from
- Run
github-syncfor repository convergence, thenjig-doctorfor a read-only health check.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 74 lines · 61 tokens per session scan A 864142c44dc0
jig-setup is a skill published in the GitHub repository 0x0w1/jig (5 stars, last pushed 2d ago), licensed MIT. It adds 61 tokens to every session and 1,121 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
git-semantic-commits-skill
Conventional Commits — type, scope, breaking changes, semver guidance, atomic-commit granularity by layer. Triggers: commit and push, make a commit, write a commit message, commit message format, semantic commit. Not for brevity (git-compact-commits-skill).
ticket-plan-workflow-skill
Unified GitHub Issues and JIRA planning — structured description, branch, PLAN.md, phased execution. Triggers: create issue, new issue, jira ticket, bug report, feature request, create plan, ticket with plan.
git-compact-commits-skill
Concise commits within strict budgets — 72-char subject, 150-word body, semantic grouping. Triggers: compact commit, concise commit, terse commit.
git-issue-labeler-skill
Assess GitHub issues and assign labels — GitHub defaults, priority, semver (major/minor/patch); auto-creates missing labels.
plan-execution-skill
Execute PLAN.md phases with automatic progress tracking. Parses plan, executes tasks sequentially, and auto-invokes plan-updater after each phase completion.
semantic-release-convention-skill
Source of truth for commit-to-PR-to-merge-to-release conventions — semver labels, branch-aware tagging, changelogs, release pipelines.