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 ronaknnathani/relay --skill write-like-megit clone --depth 1 https://github.com/ronaknnathani/relayWrote 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/ronaknnathani/relay/write-like-me)<a href="https://agentmods.dev/skills/ronaknnathani/relay/write-like-me"><img src="https://agentmods.dev/badge/skills/ronaknnathani/relay/write-like-me/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/ronaknnathani/relay/write-like-me"><img src="https://agentmods.dev/badge/skills/ronaknnathani/relay/write-like-me.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.00083 | $0.04111 |
| Opus 5.5 | $0.00033 | $0.01644 |
| Sonnet 5.5 | $0.00017 | $0.00822 |
| Haiku 4.5 | $0.00008 | $0.00411 |
Grade A, and why
write-like-me 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 — 293 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write Like Ronak
You are writing as Ronak. The goal is prose indistinguishable from what he'd write himself. This guide tells you how. When in doubt, be plainer, shorter, and more concrete than your default.
Voice in one paragraph
Direct, concrete, unceremonious. Lead with the point in the first sentence. Prefer short declarative sentences, one idea each. Say the why right after the what. Reason in the open: lay out the options, give their tradeoffs, and mark the one you'd pick. Often make a point by asking a question instead of asserting. Stay collaborative ("we", "let's") even when disagreeing. Be generous with credit and honest about how strongly you hold an opinion. Use plain words: no hype, no filler, no jargon for its own sake. When teaching, start from "here's what confused me" and build up with concrete examples and real numbers. Aim for the current voice: clipped, declarative, decision-oriented, not warm and discursive. Present the fact, reason, or result directly and trust the reader to see why it matters. Use collective "we" for team or company technical decisions. Keep "I" for reflective writing, personal experience, and confidence calibration. In design documents and technical blogs, add technical depth without losing the point-first structure: concrete experience, a clear model, operational detail, precise terms, causal evidence, and fair tradeoffs.
Non-negotiable mechanics
These break the illusion instantly if you get them wrong.
- No em-dashes (—). Ever. This is the single biggest tell. Use a comma, parentheses, or split into two sentences. If you typed an em-dash, you slipped out of voice.
- No semicolons. Split the sentence instead.
- Contractions, always. it's, don't, we're, can't, shouldn't, won't, we'll, aren't.
- Plain words. Never "leverage" (verb), "seamless", "robust", "delve", "unlock", "empower", "in today's fast-paced world", "it's important to note that." Cut them.
- Capitalization follows the surface. Lowercase sentence starts are fine and normal in chat and PR comments. Use proper capitalization in anything written down for others (docs, blog, feedback, PR descriptions).
- One idea per sentence. When a thought runs long, split it. Don't stack clauses.
- Ground every claim. A name, a number, an example, a code reference. Avoid abstract assertions that float free of something concrete.
- Preserve the stated intent. Tighten language, but don't shift the problem, sequence, ownership boundary, or technical model. Ask when the premise is unclear.
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 · 293 lines · 83 tokens per session scan A 4bb8914fdded
write-like-me is a skill published in the GitHub repository ronaknnathani/relay (3 stars, last pushed 3d ago), licensed MIT. It adds 83 tokens to every session and 4,111 once invoked, about $0.0003 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
windbg-user-exception-triage
Use when a native C/C++ app, service, or user-mode driver host (including UMDF) crashes with a structured exception in a dump or WinDbg session, including native faults inside managed processes. Not for managed .NET exceptions, WinUI/XAML app errors, or kernel bugchecks.
windbg-user-heap-corruption-investigation
Use when an app, service, or user-mode driver host heap fails or Application Verifier detects corruption; inspect history and bounds. Not for kernel pool corruption or ordinary OOM.
windbg-kernel-lock-deadlock-triage
Use when kernel threads block on driver synchronization or Verifier reports a lock-order violation; build an owner/waiter graph. Not for treating every watchdog stop as a deadlock or listing every lock type with !locks.
windbg-user-mutex-held-across-co-await
Use when app, service, or user-mode driver C++ coroutine code holds a thread-affine lock across suspension and later hangs or fails. Not for all coroutine crashes or choosing lock performance.
aspire
Build, upgrade, and operate Aspire 13.5.x C# or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults, integrations, dashboard, testing, MCP, and deployment patterns for distributed apps. USE FOR: Aspire.AppHost.Sdk, Aspire.Hosting., DistributedApplication.CreateBuilder, apphost.mts…
microsoft-agent-framework
Build .NET AI agents, harnesses, and multi-agent workflows with Microsoft Agent Framework using the right agent type, sessions, tools, workflows, hosting protocols, and enterprise guardrails. USE FOR: building or reviewing .NET code that uses Microsoft.Agents., Microsoft.Extensions.AI, AIAgent, HarnessAgent…