Voice Profile
pedrohcgs/claude-code-my-workflow
Extract a written voice profile from your own prior papers, then use it to keep new drafts sounding like you.
Write or review anything an agent reads — a core rule, a profile gate, a SKILL.md description, an instruction-file line, a subagent prompt, a handoff note, a verify-phase label.
$ npx skills add PromptPartner/agentsmith --skill writing-rules -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PromptPartner/agentsmith writing-rules --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PromptPartner/agentsmith.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/writing-rules .claude/skills/writing-rules && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "writing-rules" agent skill from https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rules into .claude/skills/writing-rules/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "writing-rules", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rulesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PromptPartner/agentsmith --skill writing-rules -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PromptPartner/agentsmith writing-rules --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PromptPartner/agentsmith.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/writing-rules .agents/skills/writing-rules && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "writing-rules" agent skill from https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rules into .agents/skills/writing-rules/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "writing-rules", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PromptPartner/agentsmith --skill writing-rules -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PromptPartner/agentsmith writing-rules --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PromptPartner/agentsmith.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/writing-rules .cursor/skills/writing-rules && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "writing-rules" agent skill from https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rules into .cursor/skills/writing-rules/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "writing-rules", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PromptPartner/agentsmith.git --path skills/writing-rules--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PromptPartner/agentsmith --skill writing-rules -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PromptPartner/agentsmith writing-rules --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PromptPartner/agentsmith.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/writing-rules .gemini/skills/writing-rules && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "writing-rules" agent skill from https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rules into .gemini/skills/writing-rules/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "writing-rules", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PromptPartner/agentsmith writing-rulesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PromptPartner/agentsmith --skill writing-rules -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PromptPartner/agentsmith.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/writing-rules .github/skills/writing-rules && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "writing-rules" agent skill from https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rules into .github/skills/writing-rules/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "writing-rules", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PromptPartner/agentsmith --skill writing-rules -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PromptPartner/agentsmith writing-rules --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PromptPartner/agentsmith.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/writing-rules .opencode/skills/writing-rules && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "writing-rules" agent skill from https://github.com/PromptPartner/agentsmith/tree/master/skills/writing-rules into .opencode/skills/writing-rules/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "writing-rules", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
writing-rulesWrite or review anything an agent reads — a core rule, a profile gate, a SKILL.md description, an instruction-file line, a subagent prompt, a handoff note, a verify-phase label.
Writing Rules is an agent skill from PromptPartner/agentsmith. Write or review anything an agent reads — a core rule, a profile gate, a SKILL.md description, an instruction-file line, a subagent prompt, a handoff note, a verify-phase label. Part of the Agentsmith harness; supplies the levers that decide whether a line changes behaviour or only costs tokens — the two loads, context pointers, the ladder, completion criteria, leading words, the no-op test. Its default move is deletion, so it earns most on a draft that already exists.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `HARNESS-SURFACES.md`). Compatibility notes: Requires an Agent Skills-compatible coding agent with filesystem access.
It sits in Writing & Content, covering Brand voice and tone and Subagents. The repository describes itself as: Universal, model-agnostic operating harness for AI agents (Claude, Codex, Gemini, …) — a lean core + work-type profiles assembled by one setup script. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b293c3a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires an Agent Skills-compatible coding agent with filesystem access.
From compatibility in the SKILL.md frontmatter.
Writing Rules loads about 2.9k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 1,718 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from PromptPartner/agentsmith at commit b293c3a, republished under its MIT licence (© PromptPartner). 1,718 words, ~2,886 tokens.
.claude/skills/writing-rules/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are writing for a reader who has already read everything. Explanation is waste; precision is the whole job. Left alone, a model writing instructions for a model spends most of its words restating what it already knows — every one of those lines is a no-op: paid every turn, changing nothing.
The packaging differs (a core/ rule, a profile gate, a SKILL.md, a subagent prompt, a handoff
note) but the writing does not. The same levers make each one predictable, so the agent takes the
same process every run rather than producing the same output.
When the document is a harness surface — a core/ rule, a profile, a skill, a hook — read
HARNESS-SURFACES.md for where it goes and what it costs.
AGENTS.md is the canonical portable instruction file. Never infer the active agent from this
skill's install path: portable canonical content may be copied into a required client adapter such
as .claude/skills. Treat client-specific instruction files as generated adapters; edit their
shared core/ or profiles/ source, never an adapter copy.
Every document and every pointer spends one of two budgets. Most authoring decisions are this one trade made in different places:
description, anything sitting in context every turn whether or not it fires.Material behind a pointer escapes context load for the price of the pointer's own line. Material with no pointer at all rides entirely on cognitive load.
A context pointer is a reference held in context that names out-of-context material and encodes
when to reach it. A skill's description and an instruction-file line naming a doc are the same
object. The pointer's wording, not its target, decides how reliably the agent reaches through
it — so a must-have target behind a weak pointer is a variance bug. Sharpen the wording first;
inline the material only if sharpening fails.
A pointer does two jobs: say what the material is, and list the branches that should trigger it (a branch is a distinct case the document handles). Every word is paid every turn, so prune it harder than the body:
Documents are built from steps (ordered actions) and reference (facts consulted on demand). They mix freely: all steps, all reference, or both. The decision is how far down each piece sits:
Progressive disclosure is the move down that ladder so the top stays legible. Branching is the cleanest test: inline what every branch needs; disclose what only some branches reach. Push too little down and the top bloats; push too much and you hide what the agent actually needs.
Co-location is the within-file companion — the ladder decides how far down, co-location decides what sits beside it. Keep a concept's definition, rules and caveats under one heading so reading one part brings its neighbours. (Distinct from duplication: that repeats one meaning in two places, scattering fragments one meaning across many.)
Sprawl is the failure mode here — a document simply too long, even when every line is live and unique. Attention thins across the excess. The cure is the ladder, not tighter sentences.
Every step ends on a completion criterion — the condition that says the work is done. Two properties make it a lever, and both sharpen R5 (verify before you call it done):
The strongest criteria are both checkable and exhaustive. This is why R3 says every consumer and R2 says evidence you produced — both are demand, written into the bound.
A leading word is a compact concept already living in the model's pretraining that the agent thinks with while running the document (atomic, evidence, Chesterton's Fence, tracer bullet). Repeated as a token, never as a sentence, it accumulates a distributed definition and anchors a whole region of behaviour in the fewest tokens — because it recruits priors the model already holds. Coining your own works if you define it clearly, but a made-up word recruits nothing: you pay in definition tokens what a pretrained word gives free. Reach for an existing word first.
It anchors twice — in the body for execution (the same behaviour every time the word appears), and in a pointer for invocation (when the same word lives in your prompts, your docs and your code, the agent links them and reaches the material more reliably).
Hunt for passages begging to collapse into one token. A triad spelled out at three sites; a pointer spending a sentence to gesture at one idea:
Assume every document is carrying restatements that leading words retire. Go find them.
Negation is the failure mode beside this lever. Steering by prohibition drags the forbidden behaviour into context and makes it more available, not less — don't think of an elephant, and the elephant is all there is. The negation is a weak modifier the strongly-activated concept overruns, so the ban half-reads as an instruction. Prompt the positive: state the target behaviour so the banned one is never spoken. A prohibition earns its place only as a hard guardrail you cannot phrase positively — and even then, pair it with the positive target.
package.json scripts, config files, --help
output, the directory layout. A document restating it is a cache, and a cache earns its load
only when the lookup is expensive. Cache what the agent cannot find by looking: the unwritten
convention, the reason behind a choice, the gotcha no config confesses. Leave one-command lookups
to the environment, where they cannot go stale.Most of the value lands here, not on a blank file. Name the failure mode before you fix it — sprawl, sediment, duplication, negation, premature completion, no-op — because the vocabulary is the repair kit. Then, given a draft:
Evidence when you cannot run it. The no-op test is behavioural, so a review with no run behind it yields candidates, not verdicts (R2). The reachable offline bar: quote the line, name the failure mode, and say which surviving line already carries the meaning. A deletion you can point at a single source of truth for is evidence; one justified by "reads redundant" is a guess. Mark the guesses, and settle them by running the document.
It's working if the document got shorter as it got better; if a leading word is visibly doing work in more than one place; and if nothing is stated twice.
Say what you deleted and why, in failure-mode terms — not just what you added. If the document grew, justify the growth against the two loads.
Adapted from writing-for-agents
by Matt Pocock — MIT © 2026. Concepts and leading words are his; the harness framing and R-number
cross-references are ours. See docs/18-influences.md.
© PromptPartner, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/writing-rules of PromptPartner/agentsmith.
Open the folder on GitHubat commit b293c3a
Writing Rules next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Writing Rules this skillPromptPartner/agentsmith | 177 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Voice Profilepedrohcgs/claude-code-my-workflow | 1.7k | — | ~1.6k | Automated safety check: Notes | MIT | |
| Benchmark Translateshapeshift/web | 206 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Docs Reviewantoinecellerier/speaker-tuning-to-easyeffects | 143 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Po Translatenatsukium/dotfiles | 106 | — | ~1.4k | Automated safety check: Pass | CC0-1.0 | |
| Voice Dna Creatorbam-bam-2/solo-skills | 367 | — | ~1.1k | Automated safety check: Pass | MIT |
pedrohcgs/claude-code-my-workflow
Extract a written voice profile from your own prior papers, then use it to keep new drafts sounding like you.
shapeshift/web
Run a quality benchmark of the /translate skill by selecting stratified test keys, capturing ground truth, translating, judging with sub-agents, and compiling a regression report.
antoinecellerier/speaker-tuning-to-easyeffects
Reviews the user-facing docs — README.md and the user guides under docs/README.md "Using it" — by running them past subagent reviewers role-playing fixed personas: a first-time visitor, a user…
natsukium/dotfiles
Orchestrate English→Japanese translation of po/ja.po — classify, delegate translation/review to subagents, iterate until clean
bam-bam-2/solo-skills
Analyze writing samples to create a comprehensive voice DNA profile.
fivetaku/gptaku-plugins-codex
Assemble and run a Codex-native agent team from one plain-language request.
PromptPartner/agentsmith
Prepare, start, inspect, resume, or stop a finite local overnight coding run after a human has accepted a Wayfinder terminal spec; coordinates a declared Claude/Codex maker and independent checker…
PromptPartner/agentsmith
Grill a fuzzy, single-session repository change into shared language, recorded decisions, and a handoff-ready plan.
PromptPartner/agentsmith
Wayfind a foggy, multi-session effort into an accepted repository spec and separate implementation-ticket drafts.
PromptPartner/agentsmith
Checkpoint work for recovery — fires on "handoff", "wrap up", context pressure, a closed phase, or before a long external wait or irreversible gate.
PromptPartner/agentsmith
Check whether this project's Agentsmith harness is installed correctly and healthy — fires on "is my harness set up right?", "harness doctor", "check my harness".
PromptPartner/agentsmith
Orient a non-coder to this project's Agentsmith harness — fires on "what is this harness?", "what are my rules?", "which profile am I on?", "what do I type next?".
Categories
Write or review anything an agent reads — a core rule, a profile gate, a SKILL.md description, an instruction-file line, a subagent prompt, a handoff note, a verify-phase label. Writing Rules is an agent skill from PromptPartner/agentsmith.md description, an instruction-file line, a subagent prompt, a handoff note, a verify-phase label.
Writing Rules fits situations like: tasks that involve Brand voice and tone; tasks that involve Subagents.
Run `npx skills add PromptPartner/agentsmith --skill writing-rules -a claude-code`. Or copy the skill folder (skills/writing-rules in PromptPartner/agentsmith) into .claude/skills/writing-rules in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PromptPartner/agentsmith --skill writing-rules -a codex`. Or copy the skill folder (skills/writing-rules in PromptPartner/agentsmith) into .agents/skills/writing-rules in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PromptPartner/agentsmith --skill writing-rules -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/writing-rules, .gemini/skills/writing-rules, .github/skills/writing-rules and .opencode/skills/writing-rules in your project.
SKILL.md names no scripts, command-line tools or credentials: Writing Rules is instructions for the agent only. Compatibility (from SKILL.md): Requires an Agent Skills-compatible coding agent with filesystem access..
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Writing Rules is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Writing Rules: Voice Profile (pedrohcgs/claude-code-my-workflow, 1.7k stars), Benchmark Translate (shapeshift/web, 206 stars), Docs Review (antoinecellerier/speaker-tuning-to-easyeffects, 143 stars) and Po Translate (natsukium/dotfiles, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PromptPartner (a GitHub user) maintains it in PromptPartner/agentsmith, which has 177 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: PromptPartner/agentsmith on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.