Agent skill

Rigor Ask

by rigortype in rigortype/rigor

Answer a question about Rigor from version-matched bundled docs and tool output.

MPL-2.0Auto-check passedDevelopment

Install Rigor Ask

skills CLI
$ npx skills add rigortype/rigor --skill rigor-ask -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rigortype/rigor rigor-ask --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rigortype/rigor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/rigor-ask .claude/skills/rigor-ask && rm -rf skills-src

Use ~/.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/

Facts

Skill name
rigor-ask
GitHub stars
106
Token cost
~2.9k tokens
SKILL.md length
1,496 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MPL-2.0

At a glance

Answer a question about Rigor from version-matched bundled docs and tool output.

  • The user asks why a diagnostic fired
  • SKILL.md covers Prefer the live map over this…, The toolbox, Where the answer lives and Answer from the page, name the…, plus 3 more sections
  • Calls npx
  • How a type/config/flag works

What it does

Rigor Ask is an agent skill from rigortype/rigor. Answer a question about Rigor from version-matched bundled docs and tool output. Use when the user asks why a diagnostic fired, how a type/config/flag works, or how Rigor compares with another tool; not when they ask you to set up, fix, or reduce something.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. The repository describes itself as: Inference-first static analysis for Ruby. The licence is MPL-2.0.

When your agent uses it

  • The user asks why a diagnostic fired
  • How a type/config/flag works
  • How Rigor compares with another tool
  • Not when they ask you to set up

Example prompts

  • “/rigor-ask”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 57a67cf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • rigor.typedduck.fail

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rigor Ask loads about 2.9k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 1,496 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~67
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from rigortype/rigor at commit 57a67cf, republished under its MPL-2.0 licence (© rigortype). 1,496 words, ~2,880 tokens.

Download SKILL.mdSave it as .claude/skills/rigor-ask/SKILL.md (or your agent's skills folder).
name
rigor-ask
description
Answer a question about Rigor from version-matched bundled docs and tool output. Use when the user asks why a diagnostic fired, how a type/config/flag works, or how Rigor compares with another tool; not when they ask you to set up, fix, or reduce something.
license
MPL-2.0
metadata.version
0.2.0
metadata.homepage
https://github.com/rigortype/rigor

Ask Rigor anything

Someone has a question about Rigor. It might be about a diagnostic, the type model, a flag, how Rigor stacks up against another type checker, whether Rigor can handle their framework, how to type a method — or just "what is this, and should I use it?" Whatever it is, answer from the source, not from memory.

Two things make that easy, and you have both offline:

  • Rigor's own docs ship inside the gem. rigor docs serves the full handbook and manual, always matching the user's installed version, no network. This is the authoritative copy: a rule's exact firing condition, a flag's spelling, a config default — all drift release to release, and rigor docs is the copy that shipped with this install, so an answer drawn from it cannot disagree with the binary they run.
  • Rigor can read the user's actual code. When the question is about their program — "why is this flagged?", "what type does Rigor see here?", "how well-typed is my project?" — rigor check / annotate / type-of / triage / coverage answer from what Rigor inferred. A concrete inferred type beats any abstract explanation.

This is the user's shortcut: they only ever need to remember three skills — rigor-next-steps ("what should we do next?"), rigor-ask ("answer this about Rigor"), and rigor-type-oracle ("before you write a type, ask Rigor"). They ask in plain language; you turn it into the right lookup or analysis so they never have to remember the command.

Prefer the live map over this skill's tables

The doc-page names and command flags below are a snapshot; Rigor's pages and CLI move release to release, and a vendored copy of this skill (e.g. added via npx skills) lags further still. Treat the tables as orientation, then confirm against the installed Rigor, which is always current:

sh
rigor docs --list              # the live doc map — what pages exist in THIS version
rigor --help                   # the live command + flag list
rigor skill --full rigor-ask   # the current version of this skill itself

Cite a page, flag, or rule id only after you have seen it in this install — rigor docs, rigor --help, rigor explain, or the gem's own files (see "If the docs don't cover it"). If rigor is not installed, you can still answer high-level "what is Rigor?" questions from the web https://rigor.typedduck.fail/llms.txt, but for anything version-specific install it first (see rigor-next-steps).

The toolbox

Everything here is read-only and needs no network.

Reading the docs
CommandUse
rigor docsThe offline doc index (llms.txt) — the map. Start here when you don't know which page.
rigor docs --list [manual|handbook]List every bundled page with its path (optionally one category).
rigor docs <name>Print a page. <name> is a category-qualified path (handbook/03-narrowing), a prefixed basename (03-narrowing), or a unique short name (narrowing). Pages that exist in both trees (e.g. plugins) must be qualified — manual/07-plugins vs handbook/09-plugins.
rigor explain <rule>The catalogue entry for a diagnostic id (rigor explain call.undefined-method) — what it means, why it fires, how to address it.
Grounding the answer in the user's code
CommandUse
rigor check <path>Run the analysis. Scope it to a file or directory for a quick answer — don't analyse the whole project just to settle one question. --format json exposes structured fields (receiver_type, method_name, evidence_tier, …).
rigor annotate <file>Reprint the file with the inferred type of each line in the margin — what Rigor actually sees.
rigor type-of <file>:<line>:<col>The inferred type at one position.
rigor triageCluster the project's diagnostics by rule / receiver / method — for "what's the shape of my errors?".
rigor coverage [--protection]Type / type-protection coverage — for "how well-typed is this?" and "where are the holes?".
rigor pluginsWhich plugins are installed and enabled here — the honest answer to "does Rigor support <gem/framework>?".
rigor sig-gen <path>Generate RBS for code — for "how do I type this?". Offer it and show the result — generated RBS is derived; hand-written RBS is a guess until rigor check agrees (see rigor-type-oracle).

Where the answer lives

Classify the question, then go to the page(s) — and, for anything about their code, the command(s) — that own it. When unsure where a page is, rigor docs (the index) or rigor docs --list handbook routes you.

The question is about…Go to
A specific diagnostic — "why is this flagged?", "what does this error mean?", "is this a false positive?"rigor explain <rule>, then rigor docs diagnostics. If it's their code, also rigor annotate <file> / rigor type-of to see the inferred types the rule fired on.
The type model / a concept — narrowing, refinements, tuple & hash shapes, Dynamic, RBS interop, lightweight HKTThe handbook: rigor docs --list handbook, then the chapter — handbook/03-narrowing, 04-tuples-and-shapes, 07-rbs-and-extended, 12-lightweight-hkt, …
Operating Rigor — a config key, CLI flag, baseline, plugins, CI, cachingThe manual: rigor docs configuration, cli-reference, baseline, manual/07-plugins, ci, caching, troubleshooting.
How Rigor compares to another tool — Sorbet, Steep, RBS, TypeScript, mypy, PHPStan, TypeProf, Go, Rust, Java/C#The chapter/appendix written for exactly that: handbook/10-sorbet, appendix-steep, appendix-typescript, appendix-mypy, appendix-phpstan, appendix-typeprof, appendix-rust, appendix-go, appendix-java-csharp (rigor docs --list handbook shows them all).
Whether Rigor can do X — generics, Rails, RSpec, a specific gem, concurrencyThe handbook for the language feature; for framework/gem support, rigor plugins (what's actually available in this install) plus the per-plugin page rigor docs rigor-<gem> (e.g. rigor docs rigor-sidekiq) and the catalogue rigor docs --list manual.
Writing a type / RBS — "how do I type this?", an annotation, a signatureHandbook 07-rbs-and-extended + 11-sig-gen; manual rbs-extended-annotations. Then offer rigor sig-gen <path> to generate it (preferred over hand-RBS) and show the output.
What Rigor is / why use it / is it right for meHandbook 01-getting-started for the pitch, handbook/02-everyday-types for a quick mental model of the type zoo. Ground "is it right for my project" in a scoped rigor check / rigor coverage so they see Rigor on their real code.
Show full SKILL.md (572 more words)Show less

Answer from the page, name the page

Quote or paraphrase the relevant passage and say which page you drew from (e.g. "per rigor docs handbook/03-narrowing …"), so the user can re-read it with the same command. Prefer the doc's own wording over a remembered approximation. When you ran a command against their code, show the relevant line of output — a concrete inferred type is more convincing than prose, and it proves the answer rather than asserting it.

When the question is really "do X for me"

Some questions are a task in disguise: "how do I get Rigor into CI?", "how do I shrink this baseline?", "how do I set Rigor up here?" The useful reply is short: orient the user — what the thing is, the one decision that actually matters, the rough shape of it — then hand the doing to the skill built for it. Resist pasting the full procedure inline (the entire CI workflow YAML, the whole baseline-reduction loop): that skill owns the steps, keeps them correct, and updates as the tool moves, so duplicating them here only bloats the answer and drifts out of date. The line is explaining the thing (yours) versus wiring it in (the setup skill's).

A good hand-off is two or three sentences of orientation plus the pointer:

  • setup / "what next?" → rigor-next-steps (it probes the project and routes)
  • CI → rigor-ci-setup · editor → rigor-editor-setup · MCP agent → rigor-mcp-setup
  • baseline reduction → rigor-baseline-reduce · coverage holes → rigor-protection-uplift
  • a missing gem/DSL → rigor-plugin-author · monkey-patch clusters → rigor-monkeypatch-resolve
  • about to write a type (RBS, #:, a Sorbet sig, a YARD tag, a doc sentence) → rigor-type-oracle

When in doubt, give less and point — it respects the user's "three skills to remember" promise and keeps each answer to the part only rigor-ask can give.

If the docs don't cover it

The bundled set is the drive-Rigor corpus (manual + handbook). The normative type specification, the internal spec, and the ADRs are contributor-facing and stay web-only — they are not in rigor docs; if a question genuinely needs them, say so and point at https://rigor.typedduck.fail/llms.txt rather than guessing.

But before you defer, remember Rigor installs from RubyGems with its full source — the per-plugin pages under the gem's docs/manual/plugins/, the analyzer and plugin code under lib/. For a detail no doc page spells out (a plugin's exact rule, a default baked into the code), reading the bundled file directly is a perfectly good way to ground the answer, and beats a guess. The rule that never bends: never invent a flag, rule id, config key, behaviour, or command output — read the page, read the source, or run the command, and quote only output you actually saw. A confident wrong answer about a type checker is worse than "let me check."

Examples

A diagnostic on their code — "Why is Rigor flagging s.lenght?"

sh
rigor explain call.undefined-method   # what the rule means and why it fires
rigor annotate demo.rb                # the inferred type of `s` on that line

Answer from both: Rigor inferred a concrete String receiver for s, and String has no lenght (a typo for length) — grounded in what annotate showed, not in a guess.

A comparison — "How is Rigor different from Sorbet?"

sh
rigor docs handbook/10-sorbet         # the chapter written for this

Answer from the chapter's framing (RBS-superset, gradual Dynamic, inference-first) rather than a remembered summary, and name it so they can read on.

A capability — "Does Rigor understand our Sidekiq workers?"

sh
rigor plugins                          # is rigor-sidekiq enabled in THIS project?
rigor docs rigor-sidekiq               # the per-plugin page: what it teaches Rigor

Answer from what's actually installed, plus — if useful — a scoped rigor check app/workers so they see Rigor on their real workers.

Authoring — "How do I type this method?"

sh
rigor sig-gen path/to/file.rb          # generate the RBS, show it
rigor docs handbook/07-rbs-and-extended

Generate it, show the signature, and explain it from the handbook — preferring sig-gen's output over hand-written RBS.

© 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

Files

Just SKILL.md in skills/rigor-ask of rigortype/rigor.

Open the folder on GitHubat commit 57a67cf

Compare with similar skills

Rigor Ask 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.

Rigor Ask compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rigor Ask this skillrigortype/rigor106—~2.9kAutomated safety check: PassMPL-2.0
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • 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.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    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.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    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.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    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.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from rigortype/rigor

All 36 skills in this repo
  • Rigor Regression Sweep

    rigortype/rigor

    Measure Rigor's baseline drift across the tagged history of a real OSS Ruby project.

    106 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Adjudicate a rigor unused report safely before proposing dead-code removal.

    106 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Rigor Baseline Reduce

    rigortype/rigor

    Reduce an existing .rigor-baseline.yml rule by rule by triaging sites, fixing or intentionally suppressing them, and regenerating the baseline.

    106 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Rigor Doctor

    rigortype/rigor

    Validate that a project's Rigor configuration, plugins, paths, and baseline are actually healthy.

    106 GitHub stars~767 tokensUpdated today
    Auto-check passed
  • Rigor Plugin Author

    rigortype/rigor

    Author a new Rigor plugin, choosing plugins/ for production support or examples/ for a contract walkthrough.

    106 GitHub stars~3.3k tokensUpdated today
    Auto-check: notes
  • Rigor Plugin Author

    rigortype/rigor

    Author a Rigor plugin in an adopting project or standalone rigor- gem for a DSL, framework, or metaprogramming pattern.

    106 GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Categories

Questions about Rigor Ask

What does Rigor Ask do?

Answer a question about Rigor from version-matched bundled docs and tool output. Rigor Ask is an agent skill from rigortype/rigor. Answer a question about Rigor from version-matched bundled docs and tool output.

When should I use Rigor Ask?

Rigor Ask fits situations like: the user asks why a diagnostic fired; how a type/config/flag works; how Rigor compares with another tool; not when they ask you to set up.

How do I install Rigor Ask in Claude Code?

Run `npx skills add rigortype/rigor --skill rigor-ask -a claude-code`. Or copy the skill folder (skills/rigor-ask in rigortype/rigor) into .claude/skills/rigor-ask in your project. Claude Code loads it when a task matches its description.

How do I install Rigor Ask in Codex?

Run `npx skills add rigortype/rigor --skill rigor-ask -a codex`. Or copy the skill folder (skills/rigor-ask in rigortype/rigor) into .agents/skills/rigor-ask in your project. Codex loads it when a task matches its description.

Can I use Rigor Ask in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rigortype/rigor --skill rigor-ask -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-ask, .gemini/skills/rigor-ask, .github/skills/rigor-ask and .opencode/skills/rigor-ask in your project.

What does Rigor Ask need to run?

Going by SKILL.md and its folder, Rigor Ask needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Rigor Ask access the network?

SKILL.md names 1 domain. As links in the text: rigor.typedduck.fail. This is read from the text; nothing was executed.

Is Rigor Ask safe to install?

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.

What licence does Rigor Ask use?

Rigor Ask 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.

How many tokens does Rigor Ask use?

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.

What are the alternatives to Rigor Ask?

Skills that share tags, products or a category with Rigor Ask: 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.

Who maintains Rigor Ask?

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.