Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sandeepmvl/rails-skills --skill 56-ci-cd-gitlab-railsgit clone --depth 1 https://github.com/sandeepmvl/rails-skillsWrote 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.
[](https://agentmods.dev/skills/sandeepmvl/rails-skills/56-ci-cd-gitlab-rails)<a href="https://agentmods.dev/skills/sandeepmvl/rails-skills/56-ci-cd-gitlab-rails"><img src="https://agentmods.dev/badge/skills/sandeepmvl/rails-skills/56-ci-cd-gitlab-rails/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.
<a href="https://agentmods.dev/skills/sandeepmvl/rails-skills/56-ci-cd-gitlab-rails"><img src="https://agentmods.dev/badge/skills/sandeepmvl/rails-skills/56-ci-cd-gitlab-rails.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00120 | $0.02290 |
| Opus 5 | $0.00060 | $0.01145 |
| Sonnet 5 | $0.00024 | $0.00458 |
| Haiku 4.5 | $0.00012 | $0.00229 |
Grade A, and why
ci-cd-gitlab-rails scanned grade A with 1 finding 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 12d 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.
Asks for rootlowPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
- mkdir -p ~/.ssh && chmod 700 ~/.ssh Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
How it starts
The opening of the file, as written. The whole thing — 287 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GitLab CI for Rails
The same principles as GitHub Actions, different YAML. If you're on GitLab, use the platform's native CI rather than mixing in Jenkins / GitHub Actions. Auto DevOps is tempting but opinionated — overrides are common.
The opinion
One
.gitlab-ci.ymlper repo, stages in order (build → test → security → deploy). Usecachefor gems / yarn. Useservicesfor Postgres + Redis. Useparallel: Nfor RSpec sharding. Deploy via Kamal in adeploystage gated on protectedmainbranch + manual approval for production. Use OIDC (GitLab CI ID Token) for cloud auth — never static keys in CI variables.
Pattern 1: Top-level structure
# .gitlab-ci.yml
default:
image: ruby:3.3
before_script:
- apt-get update -qq && apt-get install -y nodejs yarn
cache:
key:
files: [Gemfile.lock, yarn.lock]
paths:
- vendor/bundle
- node_modules
stages:
- build
- test
- security
- deploy
variables:
POSTGRES_HOST_AUTH_METHOD: trust
DATABASE_URL: postgres://postgres@postgres:5432/myapp_test
REDIS_URL: redis://redis:6379/1
BUNDLE_PATH: vendor/bundle
RAILS_ENV: test
cache.key.files hashes the lockfiles → cache hit only when deps actually match.
Pattern 2: Test stage
test:
stage: test
parallel: 4 # GitLab runs 4 parallel jobs
services:
- postgres:16
- redis:7
script:
- bundle install --jobs 4
- bin/rails db:prepare
- bundle exec rspec --tag ~slow
artifacts:
when: always
paths:
- tmp/screenshots/
- coverage/
reports:
junit: tmp/rspec-junit.xml
parallel: 4 sets $CI_NODE_TOTAL=4 and $CI_NODE_INDEX=1..4 for sharding. Pair with knapsack_pro or flatware.
artifacts.reports.junit populates GitLab's MR test report UI.
Pattern 3: Linting + security in parallel
rubocop:
stage: test
script:
- bundle install --jobs 4
- bundle exec rubocop --parallel
brakeman:
stage: security
script:
- bundle install --jobs 4
- bundle exec brakeman -q --no-pager --no-progress --color
allow_failure: false
bundle_audit:
stage: security
script:
- bundle install --jobs 4
- bundle exec bundle-audit check --update
allow_failure: false
sast:
stage: security
include:
- template: Security/SAST.gitlab-ci.yml
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 12d ago First seen · 287 lines · 120 tokens per session scan A c06c3f22f7cd
ci-cd-gitlab-rails is a skill published in the GitHub repository sandeepmvl/rails-skills (21 stars, last pushed 3mo ago), licensed MIT. It adds 120 tokens to every session and 2,290 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
Verification & Quality Assurance
Comprehensive truth scoring, code quality verification, and automatic rollback system with 0.95 accuracy threshold for ensuring high-quality agent outputs and codebase reliability.
ci
Configure Ginkgo for continuous integration — the recommended CLI flag set and the rationale for each flag (-r -p --randomize-all --randomize-suites --fail-on-pending --fail-on-empty --keep-going --cover --race --trace --json-report --timeout --poll-progress-after/-interval), invoking via go run to pin the CLI to…
migrate-vstest-to-mtp
Use this skill before answering, planning, or editing whenever .NET tests or CI are switching from VSTest to Microsoft.Testing.Platform (MTP), or an MTP migration behaves differently. Triggers include "switch from VSTest"; MSTest/NUnit/xUnit MTP enablement; OutputType=Exe only for test projects in…
playwright-ci
Production-ready CI/CD configurations for Playwright — GitHub Actions, GitLab CI, CircleCI, Azure DevOps, Jenkins, Docker, parallel sharding, reporting, code coverage, and global setup/teardown.
ci-maintenance-workflow
CI and GitHub Actions maintenance workflows — fix a failing test from a CI URL, fix a failing smoke test, add @pytest.mark.slow markers to slow tests, or review a PR against agent-checkable standards. Use when user asks to fix a failing test, fix a smoke test, mark slow tests, or review a PR. Trigger when the user…
playwright-testing
E2E testing with Playwright - Page Objects, cross-browser, CI/CD.