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/The-Artificer-of-Ciphers-LLC/skills-from-the-artificernpx agentmods add skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/ci-preflightWrote 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/the-artificer-of-ciphers-llc/skills-from-the-artificer/ci-preflight)<a href="https://agentmods.dev/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/ci-preflight"><img src="https://agentmods.dev/badge/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/ci-preflight/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/the-artificer-of-ciphers-llc/skills-from-the-artificer/ci-preflight"><img src="https://agentmods.dev/badge/skills/the-artificer-of-ciphers-llc/skills-from-the-artificer/ci-preflight.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.00040 | $0.01687 |
| Opus 5.5 | $0.00016 | $0.00675 |
| Sonnet 5.5 | $0.00008 | $0.00337 |
| Haiku 4.5 | $0.00004 | $0.00169 |
Grade A, and why
ci-preflight 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 1mo 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 — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CI Preflight
A green CI is not a reward for guessing correctly. It's the outcome of a local gate that already ran.
The three CI-whiplash anti-patterns
This skill exists because these three failures happen repeatedly and all have the same root cause: pushing before checking.
Anti-pattern 1: Missing registration surfaces
What happens: A new shipped file (hook, agent, command, module) passes unit tests but fails integration tests because it wasn't added to one of several whitelists/registries/inventories the repo maintains.
Why it's hard: These surfaces are spread across multiple files with no obvious connection — you find one and miss two others.
Rule: Before pushing any new file that ships to users, run a completeness search.
# Find every place "existing-hook.js" is referenced in the repo
grep -r "gsd-existing-hook" . --include="*.js" --include="*.cjs" --include="*.md" --include="*.json" -l
Use an existing sibling file as the probe: if gsd-existing-hook.js appears in N files, your new hook must appear in the same N files. Missing even one fails CI.
In this repo, adding a new hook requires updating all of:
hooks/managed-hooks-registry.cjs—MANAGED_HOOKSarrayscripts/build-hooks.js—HOOKS_TO_COPYarraybin/install.js— registration block withfs.existsSyncguardget-shit-done/bin/lib/installer-migration-report.cjs—BUNDLED_GSD_HOOK_FILESSetdocs/INVENTORY.md— headline count + table rowdocs/INVENTORY-MANIFEST.json— runnode scripts/gen-inventory-manifest.cjs --write
The pattern generalises: every repo with drift-guard tests has its own set of registration surfaces. Find them before you write the first line.
Anti-pattern 2: No local test run before pushing
What happens: Tests that would have caught the problem run in CI but not locally. Each failure costs a full CI round-trip (5–15 minutes) instead of a 30-second local run.
Rule: Run the repo's full test command before every push. Not a subset — the full suite.
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.
- 1mo ago First seen · 130 lines · 40 tokens per session scan A 62338e08b8a8
ci-preflight is a skill published in the GitHub repository The-Artificer-of-Ciphers-LLC/skills-from-the-artificer (6 stars, last pushed yesterday), licensed MIT. It adds 40 tokens to every session and 1,687 once invoked, about $0.0002 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
schedule-recipe
Turn 'run this every Friday at 4pm' into a working, copy-paste schedule on the user's actual runner. Use when asked to schedule a recurring AI task, set up a routine or cron job for a skill, automate a weekly report, or wire a skill into n8n or GitHub Actions. Produces the exact setup for the chosen runner plus the…
android-dev
Production-grade Android app development guide covering native (Kotlin/Java), cross-platform (Flutter, RN, KMM), and hybrid architectures.
datarobot-app-framework-cicd
Guidance for setting up CI/CD pipelines for DataRobot application templates using GitLab, GitHub Actions, and Pulumi for infrastructure as code. Use when setting up CI/CD pipelines, configuring deployments, or managing infrastructure for DataRobot application templates.
supply-chain
Use when assessing dependency and build-pipeline risk. Covers dependency vetting, lockfiles, SBOMs, provenance and signing, pinning CI actions, and responding to a compromised package. Trigger on "is this package safe to add", "npm audit shows vulnerabilities", "pin our github actions", "a dependency was compromised".…
ci-cd
Use when building or fixing a delivery pipeline. Covers pipeline structure, caching, test parallelization, deployment strategies, secrets, and making the pipeline fast enough that people do not route around it. Trigger on "our ci takes 40 minutes", "flaky pipeline keeps failing", "set up github actions to deploy". Do…
mobile-release
Use when preparing a mobile app for release. Covers versioning, signing, staged rollout, crash monitoring, store review requirements, and rollback when an update goes wrong. Trigger on "ready to submit to the app store", "app got rejected in review", "crash rate spiked after the update", "set up a staged rollout". Do…