Simple English
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
Write prose that reads like a person wrote it, not a model. An agent skill from teddytennant/wizard.
$ npx skills add teddytennant/wizard --skill plain-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install teddytennant/wizard plain-writing --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/teddytennant/wizard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/registry/skills/teddytennant/plain-writing .claude/skills/plain-writing && 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 "plain-writing" agent skill from https://github.com/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writing into .claude/skills/plain-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plain-writing", 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/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writingType 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 teddytennant/wizard --skill plain-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install teddytennant/wizard plain-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/teddytennant/wizard.git skills-src && mkdir -p .agents/skills && cp -r skills-src/registry/skills/teddytennant/plain-writing .agents/skills/plain-writing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "plain-writing" agent skill from https://github.com/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writing into .agents/skills/plain-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plain-writing", 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 teddytennant/wizard --skill plain-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install teddytennant/wizard plain-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/teddytennant/wizard.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/registry/skills/teddytennant/plain-writing .cursor/skills/plain-writing && 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 "plain-writing" agent skill from https://github.com/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writing into .cursor/skills/plain-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plain-writing", 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/teddytennant/wizard.git --path registry/skills/teddytennant/plain-writing--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 teddytennant/wizard --skill plain-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install teddytennant/wizard plain-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/teddytennant/wizard.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/registry/skills/teddytennant/plain-writing .gemini/skills/plain-writing && 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 "plain-writing" agent skill from https://github.com/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writing into .gemini/skills/plain-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plain-writing", 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 teddytennant/wizard plain-writingInstalls 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 teddytennant/wizard --skill plain-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/teddytennant/wizard.git skills-src && mkdir -p .github/skills && cp -r skills-src/registry/skills/teddytennant/plain-writing .github/skills/plain-writing && 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 "plain-writing" agent skill from https://github.com/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writing into .github/skills/plain-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plain-writing", 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 teddytennant/wizard --skill plain-writing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install teddytennant/wizard plain-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/teddytennant/wizard.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/registry/skills/teddytennant/plain-writing .opencode/skills/plain-writing && 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 "plain-writing" agent skill from https://github.com/teddytennant/wizard/tree/main/registry/skills/teddytennant/plain-writing into .opencode/skills/plain-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plain-writing", 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.
plain-writingWrite prose that reads like a person wrote it, not a model. An agent skill from teddytennant/wizard.
Plain Writing is an agent skill from teddytennant/wizard. Write prose that reads like a person wrote it, not a model. Use before writing or editing any code comment, docstring, README, doc page, tool or API description, config help text, commit message, PR title or body, review reply, issue comment, changelog entry, or release note. Also use when the user says the writing sounds like AI, is slop, is too long, or asks to make it sound human.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Development, covering Technical documentation and Changelog and release notes. The repository describes itself as: The fastest agent in your terminal. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b4290bf. 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.
No URLs in SKILL.md.
From 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.
Plain Writing loads about 1.7k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 939 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 teddytennant/wizard at commit b4290bf, republished under its Apache-2.0 licence (© teddytennant). 939 words, ~1,699 tokens.
.claude/skills/plain-writing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Someone decides whether to trust the work based on the first two sentences. They also decide, in those two sentences, whether a person wrote it.
The default failure is not being wrong. It is being padded, evenly formatted, and weightless: three paragraphs where one line was needed, a bullet list that restates the thing above it, adjectives about how robust it is. That reads as machine output and people discount everything after it.
Answer three questions. If you cannot, you are not ready to write.
The line already says what it does. The comment says why, or it does not exist.
Delete: // increment i, // Constructor, # returns the result. Delete
banner blocks of ==== around a section name. Delete a comment that repeats the
function name back in a sentence.
Keep: the reason a value is 4096, the bug a workaround dodges with a link, the invariant the next person will break, the ordering that matters and looks arbitrary. Match the density and style of the file you are in.
// Retry twice. The upstream API 503s on cold start and recovers by the
// second attempt; more than that and we are papering over a real outage.TODOs carry a name or an issue, or they are noise: // TODO(#412): drop once the v1 endpoint is gone.
First line does the work: what it does, in one sentence, no restating the signature. Then only what the caller cannot see from the types: what it returns in the odd case, what it raises and when, what it mutates, units, whether it blocks.
For a tool or agent description, the reader is choosing whether to call it. Say what it is for and when to reach for it over the neighbor. Skip the paragraph on how it works internally.
As short as possible but no shorter. What it is, how to install it, how to run it. A real example beats a description of the example.
No badge rows. No feature-bullet marketing. No "Contributing" or "Acknowledgements" boilerplate unless the project actually has that process. No architecture essay in the README when the reader is trying to run the thing.
If a section exists only because READMEs usually have it, cut the section.
Commit. Imperative, present tense, specific, one logical change. Fix panic in Table when a column constraint underflows, not fix bug or [FIX] Panic Issue. Body only when the why is not obvious. Commits are permanent, so keep
them dry.
PR body. Three or four short paragraphs: what is broken and what triggers it, how to see it, what you changed and why that layer, how you verified it with the exact commands. No adjectives about how important the fix is.
Review replies. One or two sentences, then act. "Good catch, moved it to layout.rs. Pushed." Never argue past one exchange. If the maintainer says no, "Makes sense, thanks for looking" and close it.
Issue comments. Environment, minimal repro, observed output, expected output. Nothing else.
Put uncertainty at the end as a question. "I put the clamp in column_widths, but layout.rs may be the better home. Happy to move it." That reads as a person and it makes review easier.
One line per change, written for someone deciding whether to upgrade. Lead with what changed for them, not with the internal refactor that caused it. Breaking changes first, with the migration in the same line if it fits.
This PR implements a comprehensive fix to address the aforementioned overflow.
It is worth noting that the solution is robust across edge cases and should
improve reliability going forward.
**Key changes:**
- Improved overflow handling
- Enhanced test coverageTable panics on a one-column terminal when Length is wider than the area. I hit
this resizing a scratch TUI down to nothing, which is a dumb way to find it, but
the subtraction wraps before the clamp.
Moved the clamp above the subtraction. cargo test is green; added
underflow_one_column as a regression test.Run this before you hand the text over.
Subagents default to verbose technical writing and README slop. Any subagent prompt that will produce prose gets these constraints pasted in, not a pointer to them.
© teddytennant, Apache-2.0. 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 registry/skills/teddytennant/plain-writing of teddytennant/wizard.
Open the folder on GitHubat commit b4290bf
Plain Writing 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 |
|---|---|---|---|---|---|---|
| Plain Writing this skillteddytennant/wizard | 53 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Ccb GitHubSeemSeam/claude_codex_bridge | 3.6k | — | ~4.9k | Automated safety check: Pass | Custom licence | |
| Golang Documentationunxed/f4 | 244 | 3 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Simple Englishropensci/ckanr | 104 | 3 repos | ~2k | Automated safety check: Pass | MIT | |
| Opik Documentation Patternscomet-ml/opik | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
unxed/f4
Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example tests, API docs, and llms.txt.
ropensci/ckanr
Write or rewrite text in plain, layman-readable English in the spirit of ASD-STE100 Simplified Technical English: short sentences, active voice, simple tenses, one word one meaning, condition before…
comet-ml/opik
Rules for writing PR descriptions, changelog entries and feature documentation in the Opik repository, including the exact headings that CI requires.
jrswab/axe
Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.
teddytennant/wizard
Write a conventional commit subject and body from the current diff.
teddytennant/wizard
How to extend Wizard via /evolve. An agent skill from teddytennant/wizard.
teddytennant/wizard
Write a pull-request title and body from the current branch against its base.
teddytennant/wizard
Keep git history clean in public repos. An agent skill from teddytennant/wizard.
teddytennant/wizard
Baseline coding workflow. An agent skill from teddytennant/wizard.
Categories
Write prose that reads like a person wrote it, not a model. An agent skill from teddytennant/wizard. Plain Writing is an agent skill from teddytennant/wizard. Write prose that reads like a person wrote it, not a model.
Plain Writing fits situations like: the user says the writing sounds like AI; asks to make it sound human.
Run `npx skills add teddytennant/wizard --skill plain-writing -a claude-code`. Or copy the skill folder (registry/skills/teddytennant/plain-writing in teddytennant/wizard) into .claude/skills/plain-writing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add teddytennant/wizard --skill plain-writing -a codex`. Or copy the skill folder (registry/skills/teddytennant/plain-writing in teddytennant/wizard) into .agents/skills/plain-writing 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 teddytennant/wizard --skill plain-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/plain-writing, .gemini/skills/plain-writing, .github/skills/plain-writing and .opencode/skills/plain-writing in your project.
SKILL.md names no scripts, command-line tools or credentials: Plain Writing is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Plain Writing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k 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 Plain Writing: Simple English (moeru-ai/airi, 50k stars), Ccb GitHub (SeemSeam/claude_codex_bridge, 3.6k stars), Golang Documentation (unxed/f4, 244 stars) and Simple English (ropensci/ckanr, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
teddytennant (a GitHub user) maintains it in teddytennant/wizard, which has 53 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.
Source: teddytennant/wizard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.