ruby_llm: Skill for Claude Code

.claude/skills/contributing/SKILL.md

contributing is a skill for Claude Code from crmne/ruby_llm. It costs 65 tokens per session (1,866 once invoked), scanned A, original, MIT.

A contribution guide for working on RubyLLM, including setup, tests, new providers or chat options, Rails integration, and documentation. RubyLLM is a Ruby library for working with language-model services.

In plain words
What is it for?
It is for fixing bugs, adding features or providers, changing documentation, running unit and live-recorded tests, and checking code quality before committing.
Why use it?
It gives contributors the repository’s required development loop and architecture checks, reducing the chance that changes pass local tests but fail project standards.

Skill for Claude Code

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

This is crmne/ruby_llm's own configuration. It tells Claude Code how to work on ruby_llm 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 ruby_llm configures →

About the project

crmne/ruby_llm is a Ruby framework that provides one interface for building AI chats, agents, tools, retrieval-augmented generation, and multimodal workflows across multiple model providers. Ruby and Rails developers use it to add AI features without rewriting application code for each provider. The catalogue contains instructions and a skill for working with the framework.

crmne/ruby_llm · 4,488 stars · on GitHub · rubyllm.com

Reuse

Borrowing it

Nothing to install: this file belongs to crmne/ruby_llm. 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/crmne/ruby_llm/main/.claude/skills/contributing/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/crmne/ruby_llm

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 contributing

README.md
[![agentmods](https://agentmods.dev/badge/skills/crmne/ruby_llm/contributing/github.svg)](https://agentmods.dev/skills/crmne/ruby_llm/contributing)
Your own site
<a href="https://agentmods.dev/skills/crmne/ruby_llm/contributing"><img src="https://agentmods.dev/badge/skills/crmne/ruby_llm/contributing/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 contributing

Your own site · 80×15
<a href="https://agentmods.dev/skills/crmne/ruby_llm/contributing"><img src="https://agentmods.dev/badge/skills/crmne/ruby_llm/contributing.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,866 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. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Data Exfiltration · line 54
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
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.01866
Opus 5.5 $0.00026 $0.00746
Sonnet 5.5 $0.00013 $0.00373
Haiku 4.5 $0.00006 $0.00187

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

Security

Grade A, and why

contributing 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 8d 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.

.claude/skills/contributing/SKILL.md · 108 lines

How it starts

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

Contributing to RubyLLM

Read AGENTS.md at the repo root first: it has the ground rules, the command table, and the architecture constraints that archspec check enforces. This skill adds the step-by-step recipes.

Choose the layer

The public API covers conversations (Chat, Message, Tool, Agent, structured output, streaming, and loop control) and individual operations (paint, animate, speak, transcribe, ocr, moderate, embed, rerank, judge, tokenize, and research). Both connect to services through providers and protocols: providers supply endpoints, authentication, catalogs, and protocol selection; protocols implement formats and their dialects.

Model resolution, configuration, accounting, instrumentation, batches, and provider resources support the framework as a whole. Keep independent operations independent of Chat. Rails integration adds Active Record, Active Storage, Hotwire, jobs, and generators around the same Ruby API; it does not define a second conversation API.

The fast loop

bundle exec rspec --tag ~live          # unit tests only, no keys, seconds not minutes
bundle exec rspec spec/ruby_llm/chat_spec.rb:42   # one example
overcommit --run                       # what the commit hook will run

Run the fast loop while developing. Run overcommit --run before declaring anything done: it runs RuboCop (auto-correct), Flay (duplication), archspec (architecture), and the unit suite, and the commit fails if any of them do.

Working with cassettes

Specs tagged :live replay recorded provider traffic from spec/fixtures/vcr_cassettes. The cassette name derives from the example's full description, so renaming an example orphans its cassette.

To re-record after changing request shapes:

rake vcr:record[openai]            # deletes that provider's cassettes, reruns the suite
rake vcr:record[openai,anthropic]  # several providers
rake vcr:record[all]               # everything (long, needs many keys)

Read the full file on GitHub · 108 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. 8d ago Changed b2e9c1130637
  2. 24d ago Changed 66a847b0fde4
  3. 27d ago Changed · +1 lines def964aee9f1
  4. 1mo ago Changed e58851eda1f1
  5. 1mo ago Changed · +15 lines · +5 tokens per session ae26bd2205ed
  6. 2mo ago First seen · 92 lines · 60 tokens per session scan A 145fc2bc2fda

Subscribe to this mod's changes

contributing is a skill published in the GitHub repository crmne/ruby_llm (4,488 stars, last pushed yesterday), licensed MIT. It adds 65 tokens to every session and 1,866 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-08-30.