Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/urmzd/dotfilesnpx agentmods add skills/urmzd/dotfiles/setup-ciWrote 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/urmzd/dotfiles/setup-ci)<a href="https://agentmods.dev/skills/urmzd/dotfiles/setup-ci"><img src="https://agentmods.dev/badge/skills/urmzd/dotfiles/setup-ci/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/urmzd/dotfiles/setup-ci"><img src="https://agentmods.dev/badge/skills/urmzd/dotfiles/setup-ci.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.00119 | $0.00973 |
| Opus 5.5 | $0.00048 | $0.00389 |
| Sonnet 5.5 | $0.00024 | $0.00195 |
| Haiku 4.5 | $0.00012 | $0.00097 |
Grade A, and why
setup-ci 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 9d 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.
How it starts
The opening of the file, as written. The whole thing — 141 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CI/CD Standards
Universal conventions that apply across all languages. For language-specific CI jobs, build matrices, and caching, see the corresponding scaffold-* skill.
Workflow Naming Convention
| File | Trigger | Purpose |
|---|---|---|
ci.yml |
pull_request: branches: [main] + workflow_call |
Quality gate: fmt, lint, test |
release.yml |
push: branches: [main] + workflow_dispatch |
Automated releases |
- No
build.ymlorpublish.ymlbuild and publish are jobs withinrelease.yml - Specialized workflows allowed for domain-specific needs (e.g.,
experiments.yml) - Exception: Terraform uses a single
terraform.yml(seescaffold-terraform)
Pipeline Flow
PR -> ci.yml (fmt -> lint -> test)
Push main -> release.yml:
fsrc -> ci -> sr release -> build -> publish -> teasr
sr v9+ syncs lock files (Cargo.lock, uv.lock, poetry.lock, package-lock.json) during the version bump and commits them in the release commit, so release.yml needs no separate lock sync step or [skip ci] lock commit. See sync-release for details.
Release Config
- Canonical filename:
sr.yaml(not.urmzd.sr.yml) floating_tags: truein all configstag_prefix: "v"and Angular commit pattern- See
sync-releasefor full sr.yaml reference
Concurrency
# CI workflows: cancel stale runs
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# Release workflows: never cancel mid-release
concurrency:
group: release
cancel-in-progress: false
Bot Skip
Prevent infinite loops from bot commits:
if: github.actor != 'sr[bot]'
CI Reuse Pattern
ci.yml exposes workflow_call so release.yml can gate on it:
# ci.yml
on:
pull_request:
branches: [main]
workflow_call:
# release.yml
jobs:
ci:
uses: ./.github/workflows/ci.yml
release:
needs: ci
App Token Pattern
Release workflows use a GitHub App for bot commits that can trigger further workflows:
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.
- 9d ago Changed · +2 lines 57f1bd5e6a5f
- 1mo ago First seen · 139 lines · 119 tokens per session scan A 97f88f71c7f0
setup-ci is a skill published in the GitHub repository urmzd/dotfiles (5 stars, last pushed yesterday), licensed Apache-2.0. It adds 119 tokens to every session and 973 once invoked, about $0.0005 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-31.
Other skills, from other repositories
use-codefresh
Reference for using Codefresh via the CodeFresh CLI (run from its Docker image). Use when a Codefresh CI check is failing in a recursionpharma PR, or when working with Codefresh builds.
scan-commit
Automatically scan the repository for unstaged/untracked changes, group them into logical commits using hunk-level analysis, stage and commit them following Conventional Commits.
smart-commit
Analyze staged changes and split them into multiple logical commits following Conventional Commits.
create-pr
Rebase from the latest origin/main, squash the commits from it, and then create a PR on github with intelligent commit messages based on staged changes.
pr-review
Intelligent PR code review with dynamic agent allocation based on change types. Analyzes PR changes and generates targeted review tasks.
analyze-pr
Analyze a GitHub/GitLab Pull Request by fetching its diff, reading its web description, and generating a comprehensive document. Use when the user provides a PR link and wants to understand what changes the PR introduces, or asks to review/analyze/summarize a pull request.