Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Onboard a project to Rigor from scratch by detecting the stack, selecting plugins and an adoption mode, and writing the initial config and baseline or strict gate.
$ npx skills add rigortype/rigor --skill rigor-project-init -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rigortype/rigor rigor-project-init --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/skills/rigor-project-init .claude/skills/rigor-project-init && 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-project-init" agent skill from https://github.com/rigortype/rigor/tree/master/skills/rigor-project-init into .claude/skills/rigor-project-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-project-init", 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/skills/rigor-project-initType 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-project-init -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rigortype/rigor rigor-project-init --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/skills/rigor-project-init .agents/skills/rigor-project-init && 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-project-init" agent skill from https://github.com/rigortype/rigor/tree/master/skills/rigor-project-init into .agents/skills/rigor-project-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-project-init", 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-project-init -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rigortype/rigor rigor-project-init --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/skills/rigor-project-init .cursor/skills/rigor-project-init && 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-project-init" agent skill from https://github.com/rigortype/rigor/tree/master/skills/rigor-project-init into .cursor/skills/rigor-project-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-project-init", 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 skills/rigor-project-init--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-project-init -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rigortype/rigor rigor-project-init --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/skills/rigor-project-init .gemini/skills/rigor-project-init && 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-project-init" agent skill from https://github.com/rigortype/rigor/tree/master/skills/rigor-project-init into .gemini/skills/rigor-project-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-project-init", 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-project-initInstalls 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-project-init -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/skills/rigor-project-init .github/skills/rigor-project-init && 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-project-init" agent skill from https://github.com/rigortype/rigor/tree/master/skills/rigor-project-init into .github/skills/rigor-project-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-project-init", 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-project-init -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-project-init --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/skills/rigor-project-init .opencode/skills/rigor-project-init && 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-project-init" agent skill from https://github.com/rigortype/rigor/tree/master/skills/rigor-project-init into .opencode/skills/rigor-project-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rigor-project-init", 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-project-initOnboard a project to Rigor from scratch by detecting the stack, selecting plugins and an adoption mode, and writing the initial config and baseline or strict gate.
Rigor Project Init is an agent skill from rigortype/rigor. Onboard a project to Rigor from scratch by detecting the stack, selecting plugins and an adoption mode, and writing the initial config and baseline or strict gate. Use for first-time Rigor setup; not for an existing baseline or plugin authoring.
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/01-detect.md`, `references/02-configure.md` and `references/03-baseline-and-bugs.md`).
It sits in Development. The repository describes itself as: Inference-first static analysis for Ruby. The licence is MPL-2.0.
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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From 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 Project Init loads about 4.5k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 2,357 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); files beside SKILL.md are not scanned.
The full file from rigortype/rigor at commit 57a67cf, republished under its MPL-2.0 licence (© rigortype). 2,357 words, ~4,506 tokens.
.claude/skills/rigor-project-init/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.End-to-end onboarding for a project that has never run Rigor. The
output is a committed .rigor.dist.yml, an explicit adoption mode,
and — if the project chooses it — a .rigor-baseline.yml snapshot.
This skill is for users adopting Rigor on their own project. It
uses the published rigor executable, installed standalone — Rigor
is a tool, not a library, so it does not go in the project's
Gemfile. For the install channels (mise recommended) see the
manual's Installing Rigor chapter — rigor docs manual/01-installation
once any rigor is on PATH, or (pre-install)
https://github.com/rigortype/rigor/blob/master/docs/manual/01-installation.md. This skill
references only public CLI flags and config keys — the same surface
rigor --help documents.
This skill's step detail lives in its references/ files, and its exact
commands, flags, and config keys drift between Rigor releases — so follow
the copy that ships with the installed Rigor rather than any vendored
or frozen copy of this file. Get the complete current procedure (body + all
references, inline) in one call:
rigor skill --full rigor-project-initIf you already loaded this skill via rigor skill you have the current
copy — just proceed. If rigor is not on PATH, this task needs it: run
rigor-next-steps to install Rigor first, then come back.
Trigger when the user says "set up Rigor here", "configure rigor for
this app", "add type checking", or runs rigor check in a project
that has no .rigor.yml / .rigor.dist.yml.
Do NOT trigger for:
rigor-baseline-reduce skill.rigor-plugin-author skill. (This
skill points at plugin authoring as an escalation in Phase 8;
it does not do it.).rigor.yml; no onboarding pipeline needed.All rigor-* plugins ship bundled inside the rigortype gem.
No separate installation is needed. Listing a plugin under
plugins: in .rigor.dist.yml is sufficient to activate it.
The project's Gemfile is untouched by this workflow.
See references/02-configure.md
§ "No separate installation needed" for detail.
A mature Ruby codebase routinely reports hundreds to thousands of
diagnostics the first time rigor check runs. Most are not fresh
bugs: some are real-but-empirically-safe (T | nil that production
always initialises), some are project style, a minority are genuine
latent bugs. Forcing every site to zero before adoption blocks
adoption entirely.
So before writing any config, present the user with two modes and let them choose. The mode drives the severity profile, whether a baseline is generated, and how Phase 8 frames the leftover diagnostics.
| Acknowledge mode (baseline adoption) | Strict mode (no compromise) | |
|---|---|---|
| Goal | Adopt Rigor now; make sure ordinary coding does not increase the diagnostic count. | Drive the project to zero outstanding diagnostics and keep it there. |
| Today's diagnostics | Snapshotted into .rigor-baseline.yml; suppressed as long as the count does not grow. | All surfaced; every one is fixed or consciously suppressed. |
| Hard-to-fix diagnostics | Left in the baseline. The project trusts its test / spec suite to cover runtime correctness for those sites — the static `T | nil` reading is worst-case-sound, the suite proves the worst case is not hit. |
severity_profile | lenient (or balanced for a small project). | strict. |
| Best for | Every project by default — mature or brand-new, large or small. | Users fluent in both type theory and RBS who opt in and will resolve Rigor's inference gaps themselves. |
| New diagnostics later | Surface immediately — anything beyond the baseline envelope is a regression. | Surface immediately — there is no envelope; every diagnostic is live. |
Both modes give the same core guarantee: a change that introduces a new diagnostic is caught. They differ only in what happens to the diagnostics that exist today. Acknowledge mode parenthesises them behind a baseline and leans on the test suite; strict mode refuses to parenthesise anything.
Recommend acknowledge mode for every project, including new and
small ones. Rigor's inference still has gaps, so even a fresh
project meets diagnostics on correct code. Under strict mode each one
needs a sig/ fix, an RBS workaround, or a reasoned
# rigor:disable — work that takes type theory and RBS. Without that
knowledge, users rewrite correct code for the tool or scatter
suppressions. Acknowledge mode keeps the same regression guard with an
exit: a new diagnostic still fails the check, and once it is confirmed
as an inference gap, the baseline can absorb it (report the false
positive upstream). rigor baseline regenerate rewrites the baseline
from every live diagnostic, so run it only when a whole-project
rigor check (no path arguments) shows nothing but confirmed false
positives; otherwise it silences a real
bug alongside them.
Present strict mode as an opt-in for users who know type theory and
RBS, want the zero-diagnostic gate, and accept resolving inference
gaps themselves — never as the recommendation, and never because the
project is new, small, or a library. If the user picks it, tell them
how to move to acknowledge mode later: optionally relax
severity_profile, re-run triage, then run Phase 7 (generate a
baseline and wire baseline:). The profile change comes first because
it changes which rules fire.
For a large first run (more than ~100 errors), acknowledge mode also
suggests severity_profile: lenient; see Phase 4.
Note the ordering: the error count that feeds the severity_profile
choice in Phase 4 is only measured in
Phase 6's triage run. Any profile written in Phase 4 is therefore
provisional — Phase 6 revisits it against the measured count (see
references/02-configure.md
§ "Severity profile").
This skill has several ask-the-user points (the mode choice, the RBS collection install, the final gitignore-and-commit confirmation). A delegation is the user asking, before the run, for the onboarding to proceed without these questions ("set it up, don't ask me"). An ordinary request to set Rigor up is not one: ask as usual. Under a delegation those points resolve without blocking:
rbs collection install, the .gitignore addition) are covered by the delegation —
act, and note each self-answer in your report.| Phase | What | Reference |
|---|---|---|
| 1 | Detect the project shape (Gemfile / Gemfile.lock walk). | references/01-detect.md |
| 2 | Present the two adoption modes; record the user's choice. | (this file — § "The central decision") |
| 3 | Select the plugin set matching the detected stack. | references/01-detect.md |
| 4 | Write .rigor.dist.yml — severity profile follows the mode. Verify activation with rigor plugins. | references/02-configure.md |
| 5 | Generate initial RBS sigs; uplift attr_reader precision with --params=observed. | references/04-sig-uplift.md |
| 6 | Run rigor triage --format json to diagnose the diagnostic stream. | references/03-baseline-and-bugs.md |
| 6a | Pre-baseline cleanup — apply quick fixes that triage diagnosed (pre_eval: for monkey-patch hints, rbs collection install if still needed). Re-run triage; repeat until the count is stable. | references/03-baseline-and-bugs.md § "Phase 6a" |
| 7 | Acknowledge mode only — generate the baseline and wire baseline:. | references/03-baseline-and-bugs.md |
| 8 | Surface likely real bugs; distinguish sig quality FPs from real bugs; offer escalation paths. | references/03-baseline-and-bugs.md |
| 8a | Install the agent type-contract into AGENTS.md / CLAUDE.md, so an AI contributor sources types from Rigor instead of guessing them. | references/06-agent-contract.md |
| 9 | Confirm the generated files with the user — what each is, and whether to commit it. | (this file — § "Final step") |
Load each reference when you reach its phase. Phases run in order;
the only branch is Phase 7 (acknowledge mode runs it, strict mode
skips it). Phase 5 is also optional if the project already has a
committed sig/ directory.
| Module | Read | Covers |
|---|---|---|
| 1 | references/01-detect.md | Phases 1 + 3. Gemfile / Gemfile.lock walk → framework family. The plugin-recommendation table (Rails / dry-rb / Sinatra / RSpec / plain Ruby). RBS-collection presence check. |
| 2 | references/02-configure.md | Phase 4. Severity-profile choice tied to the mode. The .rigor.dist.yml template and every key it uses. The .rigor.dist.yml vs .rigor.yml convention. |
| 3 | references/04-sig-uplift.md | Phase 5. rigor sig-gen --write baseline. rigor sig-gen --params=observed --write attr_reader precision uplift. Handling residual untyped methods. Committing sig/. |
| 4 | references/03-baseline-and-bugs.md | Phases 6–8. rigor triage as the diagnosis layer. Phase 6a pre-baseline cleanup loop (pre_eval: for monkey-patch hints, rbs collection install). rigor baseline generate + wiring baseline:. Surfacing likely real bugs; sig quality FP recognition (Struct call.wrong-arity, -> bot return-type-mismatch, regex-capture $1 FPs). The two escalation paths — write a project plugin, or open a Rigor issue. |
| 5 | references/06-agent-contract.md | Phase 8a. The one paragraph the project's AGENTS.md / CLAUDE.md keeps so every agent session sources types from Rigor rather than guessing them. Where to append it, when to create the file, and what never to overwrite. |
| — (optional) | references/05-jit-performance.md | Operational, not a phase. Run speed via a Ruby JIT: Rigor auto-enables YJIT for long runs (~5 s break-even), how to detect JIT support in your install, the override env vars, and why YJIT beats ZJIT for Rigor on Ruby 4.0. Read only when a large project's rigor check wall time matters. |
Some diagnostic clusters are neither a quick fix nor honest baseline material. Two of them have a dedicated answer this skill hands off to:
define_method factory, method_missing accessor, or class_eval
heredoc generator that Rigor cannot follow produces a cluster of
call.undefined-method (or unresolved-toplevel). First decide
whether pre_eval: can fix it — it resolves only methods written
as literal def / def self. in a project file. When the methods
are generated dynamically (computed define_method names,
method_missing, a class_eval <<~RUBY … def #{name} … RUBY
template), pre_eval: walks the file and finds no literal method to
register, so the cluster survives. That residue is the signal that
the durable fix is a project-private Rigor plugin which teaches
Rigor the DSL's shape. This is the recommended next step, and
Rigor does not ship per-application plugins for it — a Redmine
app's Setting.define_setting accessors, an in-house
acts_as_*, etc. are the project's plugin to own (ADR-16 §
Audience: application-specific homegrown DSLs are out of scope for
the bundled substrate). Surface it and offer to launch the
rigor-plugin-author skill (see § "Next step" below).rbs collection install first; if that gem genuinely needs Rigor
support, open an issue on the Rigor project asking for it:
https://github.com/rigortype/rigor/issues.Neither is a Phase 8 obligation — they are options to offer the
user when the triage report points at one of these causes. The
project-DSL handoff is detailed in
references/03-baseline-and-bugs.md
§ "Escalation path A".
Onboarding's job ends at a committed config + (acknowledge mode) a
baseline. But if Phase 6a/8 found a dynamically-generated project
DSL that pre_eval: could not resolve (a define_method factory,
method_missing, or a class_eval heredoc generator), the onboarding
is not complete until the user knows the durable fix — a
project-owned Rigor plugin, which Rigor does not bundle per app.
Before the final file-confirmation step, when such a cluster exists:
name it and its generator, say plainly that the fix is a project plugin
(not a baseline entry), and offer to launch the rigor-plugin-author
skill — on the user's confirmation, invoke it (Skill tool). The full
detection-and-handoff recipe is
references/03-baseline-and-bugs.md
§ "Escalation path A". The offer is not automatic — the user may
baseline the cluster now and author the plugin later — but never leave
a generated-DSL cluster in the baseline without naming its real fix.
Onboarding scatters new files across the project root. Before finishing, present the user with a short message that names each file the workflow produced, says what it is, and recommends whether to commit it — so the team shares one consistent setup rather than each developer reinventing it. Do not silently leave the files for the user to discover.
Run git status --short first; only describe files that actually
exist (e.g. sig/ exists only if Phase 5 ran; .rigor-baseline.yml
only in acknowledge mode). For each, give the commit recommendation:
| File | What it is | Commit? |
|---|---|---|
.rigor.dist.yml | The shared project config (Phase 4) — target_ruby, paths:, test_paths:, plugins:, severity_profile:, and the baseline: pointer. The single source of truth every contributor's rigor check reads. | Yes — it is the shared config; sharing it is the whole point. |
.rigor-baseline.yml | Acknowledge mode only (Phase 7) — the snapshot of today's known diagnostics. Doubles as a record of project state; without it each developer's baseline diverges and the regression guard means different things per machine. | Yes — commit it; it documents project state and pins the regression envelope. |
sig/ | RBS skeletons from rigor sig-gen (Phase 5), if that phase ran. A first-class project artefact — it sharpens inference for everyone. | Yes — commit it (see references/04-sig-uplift.md § "Commit the sig/ directory"). |
.rigor/ (contains cache/) | The per-file analysis cache rigor check writes to speed up re-runs. Regenerable and machine-local. | No — add .rigor/ to .gitignore. |
.rigor.yml | Optional per-developer local override (not written by this skill). Takes precedence over .rigor.dist.yml; used to opt out locally (e.g. run without the baseline). | No — gitignore it if a developer creates one. |
rbs_collection.lock.yaml | Not a Rigor artefact — but if Phase 1 ran rbs collection install, the install may have regenerated this pre-existing project file (e.g. the stdlib gem list for the resolved Ruby). | Yes, but flag it separately: it is a change to an existing project file, not part of the Rigor file set. |
AGENTS.md / CLAUDE.md | The agent type-contract section added in Phase 8a — "a type you did not obtain from Rigor is a guess". Created only if neither file existed; otherwise this is an appended section in a pre-existing file. | Yes — commit it; the point is that every contributor's agent reads the same rule. Flag an appended section separately, as with rbs_collection.lock.yaml. |
Recommend the two concrete actions and ask before doing them
(both touch the user's repo): (1) add .rigor/ — and .rigor.yml
if present — to .gitignore; (2) commit .rigor.dist.yml,
.rigor-baseline.yml, sig/, and the Phase 8a AGENTS.md /
CLAUDE.md section as the shared Rigor setup. Per the git-safety
default, do not commit on the user's behalf until they confirm.
© 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 6 other files (references) in skills/rigor-project-init of rigortype/rigor.
Open the folder on GitHubat commit 57a67cf
Rigor Project Init 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 Project Init this skillrigortype/rigor | 106 | — | ~4.5k | Automated safety check: Pass | MPL-2.0 | |
| Vercel Composition Patternssupabase/supabase | 111k | 59 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
rigortype/rigor
Measure Rigor's baseline drift across the tagged history of a real OSS Ruby project.
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.
Categories
Onboard a project to Rigor from scratch by detecting the stack, selecting plugins and an adoption mode, and writing the initial config and baseline or strict gate. Rigor Project Init is an agent skill from rigortype/rigor. Onboard a project to Rigor from scratch by detecting the stack, selecting plugins and an adoption mode, and writing the initial config and baseline or strict gate.
Rigor Project Init fits situations like: first-time Rigor setup; not for an existing baseline; plugin authoring.
Run `npx skills add rigortype/rigor --skill rigor-project-init -a claude-code`. Or copy the skill folder (skills/rigor-project-init in rigortype/rigor) into .claude/skills/rigor-project-init in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rigortype/rigor --skill rigor-project-init -a codex`. Or copy the skill folder (skills/rigor-project-init in rigortype/rigor) into .agents/skills/rigor-project-init 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-project-init -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-project-init, .gemini/skills/rigor-project-init, .github/skills/rigor-project-init and .opencode/skills/rigor-project-init in your project.
Going by SKILL.md and its folder, Rigor Project Init needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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. Review the folder before installing.
Rigor Project Init is published under the MPL-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Rigor Project Init: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k 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.