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 LerianStudio/ring --skill writing-skillsgit clone --depth 1 https://github.com/LerianStudio/ringWrote 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/lerianstudio/ring/writing-skills)<a href="https://agentmods.dev/skills/lerianstudio/ring/writing-skills"><img src="https://agentmods.dev/badge/skills/lerianstudio/ring/writing-skills/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/lerianstudio/ring/writing-skills"><img src="https://agentmods.dev/badge/skills/lerianstudio/ring/writing-skills.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Rogue Agent · line 23 Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.Fix: Prevent the skill from modifying its own code, SKILL.md, or configuration files. Treat skill files as read-only at runtime.
- high Rogue Agent · line 83 Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.Fix: Prevent the skill from modifying its own code, SKILL.md, or configuration files. Treat skill files as read-only at runtime.
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.00100 | $0.01149 |
| Opus 5 | $0.00050 | $0.00575 |
| Sonnet 5 | $0.00020 | $0.00230 |
| Haiku 4.5 | $0.00010 | $0.00115 |
Grade A, and why
ring:writing-skills 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 10d 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 — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing Skills
When to use
- Creating a new skill
- Editing an existing skill
- Skill needs to resist rationalization under pressure
Skip when
- Writing pure reference skill (API docs) → no rules to test
- Skill has no compliance costs → no rationalization risk
Related
Complementary: ring:testing-skills-with-subagents
Writing skills IS TDD applied to process documentation.
Same Iron Law: No skill without failing test first.
Same cycle: RED (baseline) → GREEN (write skill) → REFACTOR (close loopholes).
REQUIRED BACKGROUND: Understand ring:test-driven-development before using this skill.
What is a Skill?
A reusable reference guide for proven techniques, patterns, or tools. Not a narrative about how you solved something once.
Create when: technique wasn't obvious, you'd reference it again, applies broadly.
Skip when: one-off solution, project-specific convention (put in CLAUDE.md).
Skill Types
| Type | Examples |
|---|---|
| Technique (steps to follow) | condition-based-waiting, root-cause-tracing |
| Pattern (way of thinking) | flatten-with-flags, test-invariants |
| Reference (docs/API) | API reference, command syntax |
SKILL.md Structure
---
name: ring:skill-name-with-hyphens
description: Use when [triggers/symptoms] — [what it does, third person]
---
# Skill Name
## Overview (1-2 sentences)
## When to Use (symptoms + skip conditions)
## Core Pattern (before/after examples)
## Quick Reference (table for scanning)
## Implementation (inline or linked)
## Common Mistakes
Frontmatter rules: Only name and description. Max 1024 chars total. name: letters, numbers, hyphens only. description: third-person, starts "Use when...", <500 chars if possible.
Agent Search Optimization (ASO)
Agents read description to decide which skills to load. Make it answer: "Should I read this skill right now?"
- Use concrete triggers and symptoms (problem-focused, not language-specific)
- Use keywords agents would search: error messages, symptoms, tool names
- Active voice, verb-first names:
creating-skillsnotskill-creation - Reference skills by name only:
ring:test-driven-development, no@links (force-loads context)
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.
- 10d ago First seen · 131 lines · 100 tokens per session scan A f906ac3aec37
ring:writing-skills is a skill published in the GitHub repository LerianStudio/ring (211 stars, last pushed 20d ago), licensed Apache-2.0. It adds 100 tokens to every session and 1,149 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-30.
Other skills, from other repositories
gentle-ai-bench
Trigger: bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis. Author and verify gentle-ai bench journeys; go test ./bench never proves driven execution.
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
argot-check
Score your working changes with argot — flag code foreign to this repo's own patterns (unfamiliar dependencies, APIs, constructs), functions the repo already has, code filed in the wrong place, imports that break the repo's layering, and tests weakened, disabled, or deleted alongside a production change — before…
improving-tests
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use…
fixing-code
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use…
pasteurize
Diagnose and fix a hard bug. Build a reliable reproduction, name the cause, add a regression test, and apply the minimum fix. Use when the user reports a bug, a failure, a flaky test, a performance regression, an error, or a wrong result whose cause is unknown. Use when the user pastes a symptom, a stack trace, or…