Avoid AI Writing
conorbronsdon/avoid-ai-writing
Audit and rewrite content to remove AI writing patterns ("AI-isms").
Apply a voice profile to transform content. An agent skill from jmagly/aiwg.
$ npx skills add jmagly/aiwg --skill voice-apply -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jmagly/aiwg voice-apply --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/jmagly/aiwg.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agentic/code/plugins/voice/skills/voice-apply .claude/skills/voice-apply && 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 "voice-apply" agent skill from https://github.com/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-apply into .claude/skills/voice-apply/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-apply", 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/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-applyType 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 jmagly/aiwg --skill voice-apply -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jmagly/aiwg voice-apply --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jmagly/aiwg.git skills-src && mkdir -p .agents/skills && cp -r skills-src/agentic/code/plugins/voice/skills/voice-apply .agents/skills/voice-apply && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "voice-apply" agent skill from https://github.com/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-apply into .agents/skills/voice-apply/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-apply", 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 jmagly/aiwg --skill voice-apply -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jmagly/aiwg voice-apply --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jmagly/aiwg.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/agentic/code/plugins/voice/skills/voice-apply .cursor/skills/voice-apply && 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 "voice-apply" agent skill from https://github.com/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-apply into .cursor/skills/voice-apply/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-apply", 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/jmagly/aiwg.git --path agentic/code/plugins/voice/skills/voice-apply--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 jmagly/aiwg --skill voice-apply -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jmagly/aiwg voice-apply --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jmagly/aiwg.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/agentic/code/plugins/voice/skills/voice-apply .gemini/skills/voice-apply && 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 "voice-apply" agent skill from https://github.com/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-apply into .gemini/skills/voice-apply/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-apply", 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 jmagly/aiwg voice-applyInstalls 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 jmagly/aiwg --skill voice-apply -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jmagly/aiwg.git skills-src && mkdir -p .github/skills && cp -r skills-src/agentic/code/plugins/voice/skills/voice-apply .github/skills/voice-apply && 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 "voice-apply" agent skill from https://github.com/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-apply into .github/skills/voice-apply/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-apply", 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 jmagly/aiwg --skill voice-apply -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jmagly/aiwg voice-apply --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jmagly/aiwg.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/agentic/code/plugins/voice/skills/voice-apply .opencode/skills/voice-apply && 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 "voice-apply" agent skill from https://github.com/jmagly/aiwg/tree/main/agentic/code/plugins/voice/skills/voice-apply into .opencode/skills/voice-apply/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-apply", 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.
voice-applyApply a voice profile to transform content. An agent skill from jmagly/aiwg.
Voice Apply is an agent skill from jmagly/aiwg. Apply a voice profile to transform content. Use when the user asks to write in a specific voice, match a tone, or sound like a particular voice profile.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/voice-dimensions.md` and `scripts/voice_loader.py`).
It sits in Writing & Content, covering Brand voice and tone. The repository describes itself as: Cognitive architecture for AI-augmented software development. Specialized agents, structured workflows, and multi-platform deployment. Claude Code · Codex · Copilot · Cursor ·… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dda238f. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom 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.
Voice Apply loads about 2.3k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 41 tokens; SKILL.md has 787 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); the scripts in this folder are not scanned.
The full file from jmagly/aiwg at commit dda238f, republished under its MIT licence (© jmagly). 787 words, ~2,301 tokens.
.claude/skills/voice-apply/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use author-controlled writing workflows for the
actual aiwg writing plan and aiwg writing proofread commands, channel APIs,
bounded revision, explicit learning, scoped MCP resources and separate receipts.
Planning creates a structured artifact; proofreading applies exact listed
author-authorized corrections without a model or voice rewrite. A selected mode
is not an applied transformation. Unsupported consumers use explicit instruction
exports; never claim every provider response is intercepted. Keep original text
and unresolved review decisions recoverable. Publication controls remain with
the user's existing workflow.
For model-driven voice transformation, use the packaged criticism/correction flow and output impact guide. The selected development lane uses one Astra draw and at most one correction with the primary session as reviewer. Neutral analytical packets are required; private author provenance stays outside generator and corrector context. Preserve the original unless a hash-bound review accepts both fidelity and cadence. This does not change deterministic proofread-only behavior or qualify all channels.
For author-controlled writing, prepare a structured writing brief before generating prose. Record reader task, supported propositions, limitations, intended action and approved author notes. Missing first-person experiences or design rationale are editorial gaps; do not invent them. Keep evidence strength independent of voice. Proofread-only applies selected authorized correction IDs to the original source; other operations expose explicit permissions and lineage for downstream execution.
Run fidelity checks after every final structure/presentation pass. Uncertain paraphrases require review. Preserve the original on configured fallback and report attempted versus retained changes outside product prose. Automated literal guards are not semantic proof.
Transform content to match a specified voice profile. This skill loads voice profiles and applies their characteristics (tone, vocabulary, structure, perspective) to new or existing content.
Evidence constraints are recorded in the natural voice ownership ADR and versioned ledger. Treat phrase highlights as contextual editorial suggestions, never authorship probabilities. Preserve supplied facts, uncertainty and author intent; an assertive tone does not strengthen evidence. Author notes were already part of the cited post-editing study. Neither topic-matched examples nor a fixed example count is established as a universally best choice. The ledger is an evidence contract, not a claim that the planned natural voice pipeline has been qualified.
| Natural Language | Action |
|---|---|
| "Write this in technical voice" | Apply technical-authority profile |
| "Make it more casual" | Apply casual-conversational or calibrate toward casual |
| "This needs to sound executive" | Apply executive-brief profile |
| "Explain like I'm a beginner" | Apply friendly-explainer profile |
| "Use the [profile-name] voice" | Load and apply named profile |
| "Transform this to match [example]" | Analyze example, apply derived voice |
Skill checks these locations (in order):
.aiwg/voices/~/.config/aiwg/voices/voice-framework/voices/templates/| Profile | Description | Best For |
|---|---|---|
technical-authority | Direct, precise, confident | Docs, architecture, engineering |
friendly-explainer | Approachable, encouraging | Tutorials, onboarding, education |
executive-brief | Concise, outcome-focused | Business cases, stakeholder comms |
casual-conversational | Relaxed, personal | Blog posts, social, newsletters |
# Load from YAML
profile = load_voice_profile("technical-authority")Tone Calibration:
Vocabulary Transformation:
prefer/avoid guidanceStructure Adjustment:
Perspective Shift:
Check these properties only when supported by the source; never invent them to satisfy a profile:
User: "Write release notes in technical-authority voice"
Process:
1. Load technical-authority.yaml
2. Generate release notes with:
- Precise technical terminology
- Specific version numbers
- Direct, confident statements
- Tradeoff acknowledgments where relevantUser: "Make this documentation more friendly for beginners"
Input: "The API endpoint accepts a JSON payload containing the requisite parameters..."
Process:
1. Load friendly-explainer.yaml
2. Analyze: formal, technical, passive
3. Transform to: casual, accessible, active
Output: "To use this endpoint, send it some JSON with the info it needs..."User: "This is too formal, dial it back 30%"
Process:
1. Identify current formality (~0.8)
2. Calculate target (0.8 - 0.3 = 0.5)
3. Adjust vocabulary and structure for medium formalityCombine multiple profiles:
User: "Write this with 70% technical-authority and 30% friendly-explainer"
Process:
1. Load both profiles
2. Weighted merge:
- tone.formality: 0.7 * 0.7 + 0.3 * 0.3 = 0.58
- tone.warmth: 0.7 * 0.3 + 0.3 * 0.8 = 0.45
- etc.
3. Apply merged profileLoad and validate voice profiles:
python scripts/voice_loader.py --profile technical-authorityAnalyze content against voice profile:
python scripts/voice_analyzer.py --content input.md --profile technical-authorityWorks with:
/voice-apply command for explicit invocation/voice-create command for generating new profilesWhen reporting voice application:
Voice Applied: technical-authority
Transformations:
- Formality: 0.4 → 0.7 (increased)
- Evidence strength: unchanged; original qualifications retained
- Vocabulary: 12 replacements
- Structure: reordered supported clauses within approved edit scope
Authenticity Check:
✓ Acknowledges tradeoffs
✓ Uses specific numbers
✓ References constraints© jmagly, 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 2 other files (scripts, references) in agentic/code/plugins/voice/skills/voice-apply of jmagly/aiwg.
Open the folder on GitHubat commit dda238f
Voice Apply 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 |
|---|---|---|---|---|---|---|
| Voice Apply this skilljmagly/aiwg | 220 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Avoid AI Writingconorbronsdon/avoid-ai-writing | 4.9k | 3 repos | ~8.1k | Automated safety check: Pass | MIT | |
| Khazix WeChat Article WriterKKKKhazix/khazix-skills | 21k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| BrandOhh-889/skyroc | 795 | 13 repos | ~733 | Automated safety check: Pass | MIT | |
| Writing Guidelinesvercel-labs/agent-skills | 32k | 7 repos | ~309 | Automated safety check: Pass | None | |
| Unslop AI Writing Cleanuptheclaymethod/unslop | 512 | — | ~1.7k | Automated safety check: Pass | MIT |
conorbronsdon/avoid-ai-writing
Audit and rewrite content to remove AI writing patterns ("AI-isms").
KKKKhazix/khazix-skills
Writes long-form WeChat official account articles in the personal style of the Khazix account, from briefs, links, PDFs or rough notes, with a topic quality check.
Ohh-889/skyroc
Brand voice, visual identity, messaging frameworks, asset management, brand consistency.
vercel-labs/agent-skills
Review docs/prose for Writing Guidelines compliance. An agent skill from vercel-labs/agent-skills.
theclaymethod/unslop
Removes AI writing tells from prose through an audit-first flow, routing to a two-pass rewrite, a report-only cleanup, voice teaching or mimicry depending on the sub-command used.
luongnv89/claude-howto
Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, public-facing content, or when…
jmagly/aiwg
Review editorial phrase patterns and suggest contextual alternatives; legacy name does not imply authorship detection.
jmagly/aiwg
Run mutation testing to validate test quality beyond code coverage.
jmagly/aiwg
Configure TDD enforcement via pre-commit hooks and CI coverage gates.
jmagly/aiwg
Detect and use llms.txt files for LLM-optimized documentation.
jmagly/aiwg
Detect project type, AIWG framework state, team configuration, and active work to summarize status and recommend next actions
jmagly/aiwg
Manage artifact metadata, versioning, ownership, and review history across the SDLC lifecycle
Categories
Apply a voice profile to transform content. An agent skill from jmagly/aiwg. Voice Apply is an agent skill from jmagly/aiwg. Apply a voice profile to transform content.
Voice Apply fits situations like: the user asks to write in a specific voice; sound like a particular voice profile.
Run `npx skills add jmagly/aiwg --skill voice-apply -a claude-code`. Or copy the skill folder (agentic/code/plugins/voice/skills/voice-apply in jmagly/aiwg) into .claude/skills/voice-apply in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jmagly/aiwg --skill voice-apply -a codex`. Or copy the skill folder (agentic/code/plugins/voice/skills/voice-apply in jmagly/aiwg) into .agents/skills/voice-apply 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 jmagly/aiwg --skill voice-apply -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/voice-apply, .gemini/skills/voice-apply, .github/skills/voice-apply and .opencode/skills/voice-apply in your project.
Going by SKILL.md and its folder, Voice Apply needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Voice Apply 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.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 497 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Voice Apply: Avoid AI Writing (conorbronsdon/avoid-ai-writing, 4.9k stars), Khazix WeChat Article Writer (KKKKhazix/khazix-skills, 21k stars), Brand (Ohh-889/skyroc, 795 stars) and Writing Guidelines (vercel-labs/agent-skills, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jmagly (a GitHub user) maintains it in jmagly/aiwg, which has 220 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 5, 2026.
Source: jmagly/aiwg on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.