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 jaredlangleycc/nightshift-os --skill free-first-checkergit clone --depth 1 https://github.com/jaredlangleycc/nightshift-osWrote 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/jaredlangleycc/nightshift-os/free-first-checker)<a href="https://agentmods.dev/skills/jaredlangleycc/nightshift-os/free-first-checker"><img src="https://agentmods.dev/badge/skills/jaredlangleycc/nightshift-os/free-first-checker/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/jaredlangleycc/nightshift-os/free-first-checker"><img src="https://agentmods.dev/badge/skills/jaredlangleycc/nightshift-os/free-first-checker.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.00104 | $0.03188 |
| Opus 5 | $0.00052 | $0.01594 |
| Sonnet 5 | $0.00021 | $0.00638 |
| Haiku 4.5 | $0.00010 | $0.00319 |
Grade A, and why
free-first-checker 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 — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Free-First Checker
The boring-stack ladder rule: free tier first. Climb only when the rung below breaks. Free-first-checker is the rung-break verifier.
Working-parent solopreneurs lose more to stack creep than to bad strategy. A $30/mo subscription does not feel like a problem. Eight of them is $240/mo, which is more than most early-stage businesses can sustain. This skill keeps the climb honest.
When this skill triggers
Fire whenever:
- Any other skill is about to recommend a paid tool (CRM, email tool, scheduler, design tool, analytics, SaaS subscription)
- The user asks "should I buy X" or "should I subscribe to Y"
- The user proposes upgrading a free tier to a paid tier
- The user asks about a tool they already pay for but want to switch from
business-coachis about to suggest a contractor or agencyrisk-gaugeflags a move that requires paid spendboring-stackrecommends climbing to a higher rung
Do not fire when:
- The user is buying a one-off tangible business asset (laptop, microphone, ring light) that has no recurring cost
- The user is paying for something explicitly required by law (state filing fees, business license, insurance)
- The paid path has already been validated in a previous free-first-check log entry within the last 90 days
The free-first attempt log
Maintain a log at decisions/free-first-attempts.md in the user's project. Each entry documents:
## YYYY-MM-DD: <function or problem>
**Free path tried:** <specific tool or method, free tier scope>
**Duration:** <how long the user gave it, minimum 2 weeks>
**Outcome:** <what worked, what did not>
**Specific break point:** <the exact limitation that made the free path inadequate>
**Climb decision:** <paid tool chosen, monthly cost, why this specific climb>
**Next review:** <30 days out, to verify the climb was worth it>
If no log entry exists for the function in question, the paid recommendation is blocked until one is created.
The check sequence
When fired, run this sequence.
What ships with it
3 files 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.
- 9d ago First seen · 270 lines · 104 tokens per session scan A cead439f8681
free-first-checker is a skill published in the GitHub repository jaredlangleycc/nightshift-os (3 stars, last pushed 1mo ago), licensed MIT. It adds 104 tokens to every session and 3,188 once invoked, about $0.0005 per session on Opus 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
engagement-inbox-manager
Use when the user asks to "triage our comments, DMs, and mentions", "draft replies to this thread", "can we repost this fan post", or "set up inbox SLAs and an escalation path"; produces a ranked triage queue with register detection (sincere / ironic / performative / parasocial, sentiment-inversion table included …
release-notes
Generate and publish concise, evidence-based notes in the body of the latest existing GitHub Release. Use only when the user explicitly invokes $release-notes or explicitly asks to update the latest existing GitHub Release body. Do not invoke for general release planning, changelog, tag, or version tasks.
add-teams
Adds Microsoft Teams connector to a Power Apps code app. Use when sending Teams messages, posting to channels, or integrating with Teams chat.
sys-configure
Configure Claude Octopus — redirects to /octo:setup interactive wizard.
recipe-front-review
Reviews completed frontend implementation for governing-source compliance, scope economy, repository quality, and security, then applies user-approved React corrections.
find-journalists
Build, refine, dedupe, and enrich small fit-checked journalist lists for newsjack campaigns. Uses the newsjack CLI (preferred) or the medialyst MCP for news search and journalist enrichment, and falls back to a best-effort local mode with no verified contacts; the agent owns how returned data is organized.