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 lukas-grigis/ralphctl --skill ralphctl-security-and-hardeninggit clone --depth 1 https://github.com/lukas-grigis/ralphctlWrote 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/lukas-grigis/ralphctl/ralphctl-security-and-hardening)<a href="https://agentmods.dev/skills/lukas-grigis/ralphctl/ralphctl-security-and-hardening"><img src="https://agentmods.dev/badge/skills/lukas-grigis/ralphctl/ralphctl-security-and-hardening/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/lukas-grigis/ralphctl/ralphctl-security-and-hardening"><img src="https://agentmods.dev/badge/skills/lukas-grigis/ralphctl/ralphctl-security-and-hardening.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.00116 | $0.03617 |
| Opus 5.5 | $0.00046 | $0.01447 |
| Sonnet 5.5 | $0.00023 | $0.00723 |
| Haiku 4.5 | $0.00012 | $0.00362 |
Grade A, and why
ralphctl-security-and-hardening 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 4d 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 — 260 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security and Hardening
Adapted from addyosmani/agent-skills — "Security and Hardening" (MIT). Adapted for ralphctl's harness contract.
Treat every external input as hostile, every secret as sacred, and every authorization check as mandatory. Security is not a phase — it is a constraint on every line that touches untrusted data, credentials, or an external system. The concrete controls differ by stack (a web service, a CLI, a library, a data pipeline); the principles below do not. Apply the ones that match what the code actually does and skip the ones for surfaces it does not have.
When this applies
- Plan — map the trust boundaries a ticket touches and turn abuse cases into verification criteria. A task that changes authentication, stores a new class of sensitive data, adds an external integration, or loosens an access rule should say so explicitly in its steps, so the implementing session is authorised to make that change rather than having to stop and escalate it.
- Execute — when writing code, apply the tiers below as you go. When reviewing a change (the evaluator), use them as the security lens: a reachable vulnerability blocks completion, and a sensitive change the task never asked for is a finding even when the code itself is sound.
- Create PR — name the security-relevant parts of the change (a new trust boundary, an auth or permission change, a new dependency, secret or personal-data handling) so the human reviewer knows where to look.
Threat model first
Controls bolted on without a threat model are guesses. Before hardening — or before judging someone else's hardening — spend a few minutes thinking like an attacker:
- Map the trust boundaries. Where does untrusted data enter? Network requests, form fields, uploaded files, webhooks, third-party APIs, message queues, CLI arguments, config files, and LLM output — plus local values that only look internal because the OS handed them to you: another process's command line or environment, filenames on a shared volume, a path inside a job payload. Trust follows who wrote a value, not which channel delivered it.
- Name the assets. What is worth stealing or breaking? Credentials, personal data, payment data, privileged actions, the integrity of files on disk.
- Run STRIDE over each boundary — a quick lens, not a ceremony:
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.
- 4d ago First seen · 260 lines · 116 tokens per session scan A 360cbf39ca00
ralphctl-security-and-hardening is a skill published in the GitHub repository lukas-grigis/ralphctl (24 stars, last pushed today), licensed MIT. It adds 116 tokens to every session and 3,617 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-10-13.
Other skills, from other repositories
save-learning
Saves user instructions as persistent learnings for future sessions. Use when the user says 'remember this', 'always do X', 'from now on', 'never do Y', or gives any instruction they want persisted across sessions. Proactively suggest when the user states a preference, convention, or rule they clearly want followed in…
review
Review local code changes for bugs, regressions, missing tests, and pragmatic improvements. Use when the user asks to review the current changes from git status, or to review a specific backlog task by id such as task-65 or TASK-65. Also trigger when the user says things like "review", "review current changes", "check…
web-access
A method for handling difficult web tasks across search, page fetching, and a real browser. It covers sites that need login sessions, dynamic pages, anti-bot handling, or exploration before their structure is understood.
skill-creator
A skill for creating or improving reusable instructions for an agent. It covers capturing the intended workflow, writing a draft, testing it, and refining its trigger description.
repo
Repository operating rules for verified Mythos edits.
ce-work
Execute a plan or concrete work prompt end-to-end. Use when implementing from docs/plans, a spec path, or a clear build request; use ce-debug for open-ended bugs.