Gumroad Prod Console
antiwork/gumroad
Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.
Measure Rigor's baseline drift across the tagged history of a real OSS Ruby project.
$ npx skills add rigortype/rigor --skill rigor-regression-sweep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rigortype/rigor rigor-regression-sweep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/rigor-regression-sweep .claude/skills/rigor-regression-sweep && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "rigor-regression-sweep" agent skill from https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweep into .claude/skills/rigor-regression-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-regression-sweep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rigortype/rigor --skill rigor-regression-sweep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rigortype/rigor rigor-regression-sweep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/rigor-regression-sweep .agents/skills/rigor-regression-sweep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rigor-regression-sweep" agent skill from https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweep into .agents/skills/rigor-regression-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-regression-sweep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rigortype/rigor --skill rigor-regression-sweep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rigortype/rigor rigor-regression-sweep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/rigor-regression-sweep .cursor/skills/rigor-regression-sweep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rigor-regression-sweep" agent skill from https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweep into .cursor/skills/rigor-regression-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-regression-sweep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rigortype/rigor.git --path .claude/skills/rigor-regression-sweep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rigortype/rigor --skill rigor-regression-sweep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rigortype/rigor rigor-regression-sweep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/rigor-regression-sweep .gemini/skills/rigor-regression-sweep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rigor-regression-sweep" agent skill from https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweep into .gemini/skills/rigor-regression-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-regression-sweep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rigortype/rigor rigor-regression-sweepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rigortype/rigor --skill rigor-regression-sweep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/rigor-regression-sweep .github/skills/rigor-regression-sweep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rigor-regression-sweep" agent skill from https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweep into .github/skills/rigor-regression-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-regression-sweep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rigortype/rigor --skill rigor-regression-sweep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rigortype/rigor rigor-regression-sweep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/rigor-regression-sweep .opencode/skills/rigor-regression-sweep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rigor-regression-sweep" agent skill from https://github.com/rigortype/rigor/tree/master/.claude/skills/rigor-regression-sweep into .opencode/skills/rigor-regression-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-regression-sweep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rigor-regression-sweepMeasure Rigor's baseline drift across the tagged history of a real OSS Ruby project.
Rigor Regression Sweep is an agent skill from rigortype/rigor. Measure Rigor's baseline drift across the tagged history of a real OSS Ruby project. Use when validating diagnostic realism over a release line or growing the survey corpus; not for a single version check or ordinary project onboarding.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/sweep.sh`).
It sits in Development. It works with Ruby. The repository describes itself as: Inference-first static analysis for Ruby. The licence is MPL-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 57a67cf. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell and Ruby), which the agent can run.
Shell commands in SKILL.md call:
gitnixbashmakebundlemiseFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rigor Regression Sweep loads about 2.9k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 1,415 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from rigortype/rigor at commit 57a67cf, republished under its MPL-2.0 licence (© rigortype). 1,415 words, ~2,899 tokens.
.claude/skills/rigor-regression-sweep/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.A contributor workflow for measuring how Rigor's diagnostics
behave over a real project's development flow. Pick an OSS Ruby
project, baseline it at one version, then run rigor check against
every later tag with that baseline + config frozen. The
per-tag surfaced diagnostic count is the "error increase" a team
adopting Rigor in acknowledge mode would have seen.
It validates two things at once: the baseline mechanism
(ADR-22) and the realism of the rigor-project-init acknowledge-
mode environment — and grows an empirical corpus under
docs/notes/.
First worked run: docs/notes/20260521-mastodon-v4.5-regression-sweep.md
(Mastodon, 16 tags v4.5.0-beta.1 → v4.5.10).
Trigger when asked to "sweep Rigor across versions of X", "check how the error count grows over a release line", "validate the baseline against real churn", or to add a project to the regression corpus.
Do NOT use for: a single-version check of one project (just run
rigor check); authoring a plugin (rigor-plugin-author); the
22-library single-snapshot survey style of
docs/notes/20260519-oss-library-survey.md
(that is breadth; this is depth-over-time for one project).
Choose a real OSS Ruby project with git tags.
The sampling decision is the single most important one — and it governs what the sweep can prove.
Released tags are a post-spec-gate population. A mature project's CI catches obvious errors before merge, and genuine bugs are fixed before a tag is cut. So a sweep over released tags — whether a patch series or a feature-spanning minor/major range — measures:
It does not measure Rigor's bug-detection power.
surfaced = 0 over released tags is the expected result for a
healthy project, not a Rigor weakness: the bugs Rigor would catch
are the same class the project's specs already caught and removed
before the tag existed. (Confirmed by the Mastodon v4.5.x run —
flat at 0 across 16 tags.)
To actually test bug-detection, sample where unfixed bugs still exist — finer than release tags:
main between two releases (or a window of it);Pick the sampling to match the question:
| Question | Sample |
|---|---|
| Does maintenance churn cause false regressions? | released tags (this is the easy, default run) |
| Does new released code add standing diagnostics? | feature-spanning released-tag range |
| Does Rigor catch real bugs? | per-commit / PR-head / bug-introducing commits |
List the chosen revisions in chronological order (betas / RCs included — they are part of the dev flow). Record the sampling choice and its consequence in the survey note.
The later phases say "tag" for brevity, but every step works on any
checkout-able revision — git checkout and the scripts' TAGS
list accept commit SHAs just as well as tag names.
Clone into the survey area, not the rigor repo:
cd ~/repo/ruby/rigor-survey
git clone --filter=blob:none https://github.com/<org>/<name>.git <name>--filter=blob:none (blobless partial clone) avoids fetching all
historical blobs up front; each tag checkout fetches what it needs.
cd ~/repo/ruby/rigor-survey/<name>
for t in <tag-list>; do
git rev-parse -q --verify "refs/tags/$t" >/dev/null \
&& echo "OK $t" || echo "MISS $t"
doneDrop or substitute any missing tag before sweeping; note omissions.
Write .rigor.dist.yml into the target's root (untracked there,
so git checkout between tags never disturbs it). Approximate what
rigor-project-init would generate for the project's stack, then
freeze it — identical config across every tag is what makes the
surfaced-count delta attributable to the project's code.
# Frozen — held identical across every tag in the sweep.
paths: [app, lib] # the project's source roots
exclude: [vendor, tmp]
severity_profile: lenient # acknowledge-mode default for a large project
plugins: [rigor-activesupport-core-ext]
cache:
path: /abs/path/to/rigor-survey/_<name>-sweep/cacheRules that keep the sweep clean:
_<name>-sweep/ directory. cache.path is set absolute for the
same reason. Then git checkout <tag> only ever changes the
project's own files.rigortype; activate
them with plugins: in the frozen config and record which were
and were not active.cd ~/repo/ruby/rigor-survey/<name> && git checkout -q -f <first-tag>Generate the baseline (run from the rigor repo so the Nix flake
resolves; cd into the target inside the command):
nix develop --command \
bash -c 'cd ~/repo/ruby/rigor-survey/<name> && \
BUNDLE_GEMFILE=<rigor>/Gemfile bundle exec <rigor>/exe/rigor \
baseline generate --output=<rigor>/../rigor-survey/_<name>-sweep/baseline.yml'Record the bucket / diagnostic count it reports — that is the sweep's zero point.
Use scripts/sweep.sh — set RIGOR, TARGET,
SWEEP, and TAGS at the top, then:
nix develop --command \
bash .claude/skills/rigor-regression-sweep/scripts/sweep.shIt checks out each tag (git checkout -q -f), runs
rigor check --baseline=… --no-stats --format json, and saves
reports/<tag>.json (stdout) + reports/<tag>.err (stderr — carries
the "N diagnostic(s) silenced by baseline" line). Long sweeps:
run it backgrounded.
Use scripts/tabulate.rb (set the same paths
TAGS):nix develop --command ruby \
.claude/skills/rigor-regression-sweep/scripts/tabulate.rbPer tag it prints raw / silenced / surfaced and the severity +
rule breakdown. raw = surfaced + silenced. surfaced is the
headline metric — diagnostics beyond the frozen baseline envelope,
i.e. the error increase a team would have seen on that tag.
Read the curve, then write a docs/notes/<date>-<project>-…-regression-sweep.md
survey note (mirror the Mastodon one). Cover:
git diff --stat <first> <last> -- 'app/**/*.rb' 'lib/**/*.rb'. A flat curve is
only meaningful if real files changed; report the changed-file
count so surfaced = 0 cannot be mistaken for "nothing moved".(file, rule, count).
A renamed file with a baselined diagnostic shows as the old
bucket going :cleared and a new (file, rule) surfacing —
a surfaced > 0 that is a churn artefact, not a regression.
When surfaced jumps, diff the tag and rule out renames before
calling it a regression.--no-cache --no-baseline and confirm raw matches the swept value — proves
the shared cache masked nothing.surfaced at
every tag — including the baseline tag itself — is the
signature of rule-less diagnostics: parse errors and
internal-analyzer errors carry no rule, so Baseline never
buckets them and they surface forever. The usual source is a
Rails generator .rb template (an ERB file with a .rb
extension — <%= … %> fails to parse). Confirm by reading the
rule-less rows; the fix is config-side — exclude: the
generator-template directory — not a baseline concern. (Seen in
the Redmine sweep: 22 parse errors from one lib/generators/.../templates/migration.rb.)spec/.nix develop resolves the flake from the current directory. The
rigor flake is in the rigor repo, the target is elsewhere — so do
not cd into the target before nix develop. Run nix develop --command bash -c 'cd <target> && …' from the rigor repo,
and pass BUNDLE_GEMFILE=<rigor>/Gemfile so bundle exec <rigor>/exe/rigor runs with rigor's gem environment while the target
is the working directory (diagnostic paths then resolve
target-relative, keeping baseline keys stable across tags).
exe/rigor unshifts its
own tree's lib/, so $worktree/exe/rigor measures that worktree's engine —
but plugins/ still resolves from the main repo, so a worktree "before" run
silently loads the modified plugin and the diff comes out empty. It presents
as a passing gate. For a plugin change swap the directory instead:
git checkout origin/master -- plugins/rigor-<name> (plus rm any file the
change adds), run the before side, then
git checkout HEAD -- plugins/rigor-<name>. Verify with rigor plugins,
which prints each manifest's version.make verify gates only lib + plugins — the external corpus still
exposes false positives from receivers Rigor mistypes. Never widen a union /
nilable-receiver diagnostic (or promote any default) on a clean make verify
alone; run this sweep, or at minimum a before/after corpus diff, first.dump_type-via-check is the ground truth — single-file dump_type
probes are wrong for cross-file symbols. Analyze the whole directory.--depth 1 clone collapses every
commit to one author/date, and a vendored directory inflates grep counts.mise.toml needs mise trust first; git stash push -- <tracked files> (an untracked pathspec errors and stashes nothing); never run
two rigor processes against one target — cache-lock contention corrupts the
run.© rigortype, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in .claude/skills/rigor-regression-sweep of rigortype/rigor.
Open the folder on GitHubat commit 57a67cf
Rigor Regression Sweep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rigor Regression Sweep this skillrigortype/rigor | 106 | — | ~2.9k | Automated safety check: Pass | MPL-2.0 | |
| Gumroad Prod Consoleantiwork/gumroad | 9.8k | — | ~2.9k | Automated safety check: Notes | MIT | |
| Fastlane Pull Request Reviewfastlane/fastlane | 42k | — | ~550 | Automated safety check: Pass | MIT | |
| Dependency UpdaterAsvarox/allkaraoke | 261 | 4 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Wise APIlineofflight/frankfurter | 2k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Write RbsDataDog/dd-trace-rb | 417 | — | ~805 | Automated safety check: Pass | Custom licence |
antiwork/gumroad
Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.
fastlane/fastlane
Reviews a fastlane pull request against its linked issue and the project guides, separating blocking from non-blocking findings and handling vulnerabilities privately.
Asvarox/allkaraoke
Smart dependency management for any language. An agent skill from Asvarox/allkaraoke.
lineofflight/frankfurter
A skill your agent uses when querying Wise for exchange rates (real-time or historical), validating Frankfurter rates against Wise mid-market, debugging rate discrepancies, or when the user mentions…
DataDog/dd-trace-rb
A skill your agent uses when writing, reviewing, or modifying RBS type signatures (sig//.rbs, vendor/rbs//.rbs, or inline : annotations) or running Steep – e.g.
ruby-git/ruby-git
Addresses unresolved pull request review threads and suppressed (low-confidence) Copilot review comments on the current branch, folds each fix into the…
rigortype/rigor
Adjudicate a rigor unused report safely before proposing dead-code removal.
rigortype/rigor
Reduce an existing .rigor-baseline.yml rule by rule by triaging sites, fixing or intentionally suppressing them, and regenerating the baseline.
rigortype/rigor
Validate that a project's Rigor configuration, plugins, paths, and baseline are actually healthy.
rigortype/rigor
Author a new Rigor plugin, choosing plugins/ for production support or examples/ for a contract walkthrough.
rigortype/rigor
Author a Rigor plugin in an adopting project or standalone rigor- gem for a DSL, framework, or metaprogramming pattern.
rigortype/rigor
Audit an existing Rigor plugin against the current authoring contract and produce a prioritized upgrade path.
Works with
Categories
Measure Rigor's baseline drift across the tagged history of a real OSS Ruby project. Rigor Regression Sweep is an agent skill from rigortype/rigor. Measure Rigor's baseline drift across the tagged history of a real OSS Ruby project.
Rigor Regression Sweep fits situations like: validating diagnostic realism over a release line; growing the survey corpus; not for a single version check; ordinary project onboarding.
Run `npx skills add rigortype/rigor --skill rigor-regression-sweep -a claude-code`. Or copy the skill folder (.claude/skills/rigor-regression-sweep in rigortype/rigor) into .claude/skills/rigor-regression-sweep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rigortype/rigor --skill rigor-regression-sweep -a codex`. Or copy the skill folder (.claude/skills/rigor-regression-sweep in rigortype/rigor) into .agents/skills/rigor-regression-sweep in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rigortype/rigor --skill rigor-regression-sweep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rigor-regression-sweep, .gemini/skills/rigor-regression-sweep, .github/skills/rigor-regression-sweep and .opencode/skills/rigor-regression-sweep in your project.
Going by SKILL.md and its folder, Rigor Regression Sweep needs a shell and Ruby for the scripts in its folder and the command-line tools its instructions call (git, nix, bash, make, bundle and mise). Our summary lists: A Bash shell.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Rigor Regression Sweep is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rigor Regression Sweep: Gumroad Prod Console (antiwork/gumroad, 9.8k stars), Fastlane Pull Request Review (fastlane/fastlane, 42k stars), Dependency Updater (Asvarox/allkaraoke, 261 stars) and Wise API (lineofflight/frankfurter, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rigortype (a GitHub organization) maintains it in rigortype/rigor, which has 106 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on October 8, 2026.
Source: rigortype/rigor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.