rigor: Skill for Claude Code

.claude/skills/rigor-lane/SKILL.md

rigor-lane is a skill for Claude Code from rigortype/rigor. It costs 65 tokens per session (1,946 once invoked), scanned A, original, MPL-2.0.

A workflow for implementing one Rigor issue in an isolated Git worktree and returning a draft pull request to a coordinator. A worktree is a separate checkout that lets changes be developed without disturbing another checkout.

In plain words
What is it for?
Use it when a coordinator assigns one issue to a lane, including reproducing the issue, making the scoped change, and reporting the result without reviewing or merging the pull request.
Why use it?
It limits each contributor to one issue and one isolated change, making parallel development easier to coordinate and review.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions subagents; mentions AGENTS.md.

This is rigortype/rigor's own configuration. It tells Claude Code how to work on rigor itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything rigor configures →

Reuse

Borrowing it

Nothing to install: this file belongs to rigortype/rigor. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/rigortype/rigor/master/.claude/skills/rigor-lane/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/rigortype/rigor

Made for: Claude Code.

Wrote 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.

agentmods badge for rigor-lane

README.md
[![agentmods](https://agentmods.dev/badge/skills/rigortype/rigor/rigor-lane/github.svg)](https://agentmods.dev/skills/rigortype/rigor/rigor-lane)
Your own site
<a href="https://agentmods.dev/skills/rigortype/rigor/rigor-lane"><img src="https://agentmods.dev/badge/skills/rigortype/rigor/rigor-lane/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for rigor-lane

Your own site · 80×15
<a href="https://agentmods.dev/skills/rigortype/rigor/rigor-lane"><img src="https://agentmods.dev/badge/skills/rigortype/rigor/rigor-lane.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 65 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,946 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00065 $0.01946
Opus 5.5 $0.00026 $0.00778
Sonnet 5.5 $0.00013 $0.00389
Haiku 4.5 $0.00006 $0.00195

Measured yesterday against content hash 8fcced1b6289, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

rigor-lane 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 yesterday.

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.

.claude/skills/rigor-lane/SKILL.md · 115 lines

How it starts

The opening of the file, as written. The whole thing — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Implement one issue as a lane

You are a lane: one issue, one worktree, one Draft PR. The coordinator plans the batch, reviews your PR and lands it (docs/agents/parallel-lanes.md). The brief gives you the issue, the worktree branch, any decision already settled and anything withdrawn; this skill gives you everything else. A brief that contradicts this skill wins for that lane.

Before you write code

  1. Create the worktree the brief names with nix develop --command bin/rigor-worktree <branch> origin/master (add --with-references when a gate you run reads references/) and work only there.
  2. Reproduce the issue on the fresh origin/master. When the premise is already fixed, or the work needs a decision on contribution-flow.md's serious list, stop and report; open no PR.

While you work

  • Scope. Change only what the issue asks. Report anything wider for the coordinator to file. Leave the review, gh pr ready, the merge, bin/land-pr and other PRs to the coordinator, whatever AGENTS.md says about landing.
  • Environment. Every command through nix develop --command; stdin from /dev/null for rspec and rigor; this worktree's bundle exec exe/rigor as the oracle; references/ read-only; scratch files under the worktree's tmp/. No git stash, no git submodule deinit, no pkill/killall; stop only processes you started, and leave none running when you report. No version bump, no edit to CHANGELOG.md, never rake release. Leave # rigor: and # rubocop: lines alone; in fixtures they are suppression directives. A survey target gets a private copy (docs/agents/measurement.md); run one heavy job at a time.
  • Commits. Use the configured identity: never --author= or GIT_AUTHOR_*/GIT_COMMITTER_*. Add no tool attribution trailers. A fix of an external report carries the reporter's Co-Authored-By trailer from the brief on every fix commit, the fragment included, and the fragment ends with thank you @handle! (docs/agents/contribution-flow.md § "Branches and pull requests").
  • Gate. make verify-changed </dev/null in the foreground, re-run after the last edit. Never make verify, make check or the whole suite. A change to dispatch, scope resolution or the discovery tables also runs spec/rigor/scope/ancestry_walker_detection_spec.rb and spec/rigor/declaration_facts/producers_spec.rb.
  • Mutation table. For every new or changed example, remove the line of the fix it pins and show it fails: commit first, mutate with perl -pi -e (the Flake's sed -i '' edits nothing), prove the edit with git diff --stat, restore with git checkout HEAD -- <path>. An example that survives every removal is a labelled guard or is rewritten. The shapes that survive are in docs/agents/measurement.md § "Specs and gates that pass without checking".
  • Honest gates. When a provenance pin, residue count or other gate moves, stop and report the row and what rigor sig-gen --print proposes. A # sig-gen gap: or # authored: marker, a gap_issues.yml row or a moved pin needs the brief's authorisation; the rules are ADR-107 and docs/agents/type-authoring.md. Copy no type into a declaration without checking it against every write site. Code keeps the shape it would have without the gate. Keep each rewritten spec's original assertion.
  • Engine cost. For an engine change, run tool/engine_alloc_ab.rb against the merge base. A rise above pr_allocations_pct in bench/thresholds.yml is reported with where it comes from; the coordinator decides whether it lands (docs/agents/parallel-lanes.md step 6).
  • Reach. After deleting or renaming a method, git grep --untracked -nw <name> -- ':!references'.
  • Claims. The PR body, doc edits and changelog fragment say what the specs pin and no more. A binding doc under docs/type-specification/ or docs/internal-spec/ changes with the behaviour. Every user-facing change gets a changelog.d/ fragment, in a second push once the PR exists. A fixed fragment needs the broken behaviour to have shipped: find the commit that introduced it (git log -S, blame or bisect), and git merge-base --is-ancestor <commit> "$(git describe --tags --abbrev=0 origin/master)" must exit 0; an unshipped regression gets none. A new CLI output form is run as a user would: against the command's documented contract (1-based columns, argument order), combined with its other input forms, and past any cap it adds. cli.rb's help and docs/manual/ change in the same PR; make docs-check covers neither.
  • Decisions. Make only the decisions the brief delegates, and record each in an approval-queue.d/ entry (its README has the format). Stop and report every other open choice for the coordinator to rule on.
  • Known limits. When the PR deliberately gives up soundness or precision that a later change could win back (a floor that drops a fact, a decline to Dynamic, a cap, a rule or guard that withholds findings), add a "Known limits" section to the PR body with, per limit, its Kind, Why, Cost (a minimal example) and Revisit when (docs/agents/triage-labels.md § "Known limitations"), and name each in a few words on the report's Known limits line, not again under "for the coordinator to file". Re-send the line with a fix-round reply whenever it changes. An ordinary fallback for a shape the issue never asked about is not a known limit, and neither is one nobody will lift: say that in the spec instead.
  • Closing keywords. Fixes #N only when the PR closes all of #N, on its own line, in the PR body and commit messages alike; otherwise Refs #N. Start every GitHub body with a one-line note that it was AI-generated.

Read the full file on GitHub · 115 lines

Changes

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.

  1. yesterday Changed · -4 tokens per session 8fcced1b6289
  2. 5d ago Changed · +9 lines 2224822a8bb8
  3. 11d ago First seen · 106 lines · 69 tokens per session scan A 9116ed073945

Subscribe to this mod's changes

rigor-lane is a skill published in the GitHub repository rigortype/rigor (107 stars, last pushed today), licensed MPL-2.0. It adds 65 tokens to every session and 1,946 once invoked, about $0.0003 per session on Opus 5.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-10-26.

Related

rigor-lane compared with skills from other repositories

rigor-lane next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
rigor-lanerigortype/rigorSkill107todayMPL-2.0A65Claude Code
merge-batchdiegosouzapw/OmniRouteSkill83k5d agoMITA46Claude Code
prowler-commitprowler-cloud/prowlerSkill15kyesterdayApache-2.0A44Claude Code, Codex
gh-auth-isolationgithub/gh-awSkill5.6ktodayMITA20Claude Code, Codex
github-skillzeenie-ai/OpenCompanySkill1.1kyesterdayMITA51Claude Code
comet-githubrpamis/cometSkill3.3ktodayMITA72Claude Code, Codex
re0-mergeLilMGenius/paperthinSkill1.4k4d agoMITA70Claude Code