Anti-Defensive Writing ships one file, and its pipeline diagram stops at stage one
Codex skill for removing defensive writing and strengthening prose.
At a glance
- What is it?
- A Codex skill that rewrites hedged academic prose into direct claims, delivered as a single SKILL.md. What is worth reading is where the documentation is thin: no install command, a support matrix that ends mid path, and a five stage pipeline that only draws two stages.
- Who is it for?
- Anti-Defensive Writing is worth reading as a piece of editorial design rather than as software to install, because the four pillars and the three way triage in stage one are reusable on any document that has been softened by hedging. What you cannot do from this README alone is install it.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 4 days ago.
- What is it written in?
- Mainly PowerShell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 5, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The whole install is one file, and the README never shows the command
The deployment footprint is the smallest thing in this repository, and it is stated as a tree rather than a command:
<skills-directory>/
└── anti-defensive-writing/
└── SKILL.mdOne file goes into a skills directory and nothing else does. The README is explicit about the exclusions: the installer streams SKILL.md directly, and it does not clone repository archives, nor install README files, scripts, images, test suites or auxiliary configurations. It needs no Git, no Python, no Node.js, no compiler and no package manager.
There is no command to copy for that, which is the awkward part. The repository root does carry install.sh and install.ps1, so two installers exist as files, but the README never shows either one being run, and the surrounding text describes what they do rather than how to invoke them. The same root also holds assets/, examples/, skill/, skill.json and tests/, four of which the footprint paragraph just said are not installed. That sentence is about what the installer copies rather than what the repository contains, and both readings are true, which makes it easy to misread.
The MIT licensed LICENSE sits at the root next to README.md, README.zh-CN.md and SKILL.md. There are no GitHub releases, so there is no version to pin and no changelog to read.
The supported environment table ends in the middle of a path
Support is laid out as a table with a global destination and a local destination per environment. The first row is Codex, marked Recommended, and its global destination reads `~/.agents/skills`. Its local destination is written as `.agents/s` and the README stops there. No further rows are visible, so the other supported environments are not shown at this version.
Two links in the header survive the cut and say where to look for the answer. One points at the Codex documentation on where local skills load, and one at Claude Code documentation on choosing where skills load. Both are external references rather than rows in the table, which means a reader can learn what the platforms expect while still not finding out which platforms this skill claims.
The abstract calls the project an agentic skill specification rather than a tool, and the tree at the root matches that framing: SKILL.md is the payload, skill.json sits beside it as metadata, and skill/ is there as a directory of its own without a described role. Nothing in the visible documentation says what skill/ contains or how it differs from the root file.
Two header links point nowhere, and Figure 1 is a caption with no figure
The header of the README is a row of badges. Two of them are links with no destination: one targets the bare `#` anchor and one has an empty target, so both resolve to the top of the same page. The rest point at SKILL.md, LICENSE, the two external skill documentation pages and two anchors, Quickstart and one unnamed link.
Below them sit two empty centred paragraphs, and then a caption:
Figure 1: The Anti-Defensive Writing Paradigm. Systematically removing premature apologies, redundant disclaimers, and layered hedges while rigorously anchoring empirical scope and methodological boundaries.
The caption describes a figure that is not in the file. No image tag precedes it, and the paragraph above it is the empty one, which is what an unfilled image placeholder leaves behind. An assets/ directory exists at the repository root, so the artwork may be there, but the README does not point at it. A reader looking for the paradigm in one picture finds a sentence about it and nothing to look at.
This is the pattern worth noting across the file. The strongest visual summary of the project is described but not shown, and the parts of the page that are shown, the abstract and the two tables, carry the entire argument in prose.
A five stage pipeline with two stages drawn
The rewrite pipeline is described as a formal five stage transformation, and the diagram gets through stage one:
┌────────────────────────────────────────────────────────┐\n│ Input: Defensive Academic Draft │
└───────────────────────────┬────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────┐\n│ Stage 1: Functional Diagnosis │
│ Classify defensive units: Unnecessary Disclaimer vs. │
│ Necessary Scope vs. Methodological Constraint │
└───────────────────────────┬────────────────────────────┘
│
▼
┌───The last line opens a third box and stops. Stages two through five are named in the surrounding sentence as a count, and none of them appears in the diagram.
What stage one does is the part that carries the method. It sorts every defensive unit into one of three classes: Unnecessary Disclaimer, Necessary Scope, or Methodological Constraint. That triage is the load bearing idea of the whole framework, because everything after it depends on which bucket a sentence landed in. A limitation that protects the validity of a result is not deleted, it is moved. The README does not say what the remaining four stages are, and the full rulebook they would belong to lives in SKILL.md.
Four pillars, four rule sections, one bilingual file
The framework rests on four pillars, each with a posture and an operational directive. Claim Forward Articulation leads with findings instead of a defensive preamble. Positive Scope Delimitation defines a boundary by stating what the work analyses, tests and explains. Calibrated Uncertainty replaces stacked hedges by anchoring doubt to concrete design constraints. Structural Separation of Concerns moves methodological limitations into dedicated sections so they do not dilute the abstract.
The operational text behind those four is not in the README. The README says the complete rulebook and the multilingual instructions are codified in SKILL.md, split into English Core Rules, English Extended Guidelines, Chinese Core Rules and Chinese Extended Guidelines. So one file carries the rulebook in two languages at two depths, which makes it a longer document than the README's abstract implies and explains the second README in the repository, README.zh-CN.md.
The fourth pillar is the one with a structural requirement rather than a sentence level rule. It presumes a paper with Methods, Discussion and Limitations sections, which is where a limitation is supposed to go instead of into the introduction. For an abstract, a grant proposal or a commit message there is no such place to move it to, and the README does not describe what happens then.
The comparison table's numbers are illustrations, not measurements
The comparative table sets a conventional draft beside a revision across five rhetorical dimensions: introduction and hook, scope delimitation, uncertainty calibration, metric and trade off framing, and authorial modesty. Each cell pairs a hedged sentence with a direct one, and the two columns are marked with a cross and a check.
The metric row is the one to read carefully. The draft under revision says a model achieved lower accuracy, 89 percent against 90 percent, which indicates clear performance shortcomings. The rewrite says the method reduces inference latency from 100 ms to 60 ms with 89 percent accuracy compared to 90 percent for the baseline. Those figures are the content of an example sentence, not results from anything: there is no benchmark, no dataset, no table of runs and no method section behind them, and the repository's tests/ directory is not accompanied by any published output.
That is a fair way to illustrate a rhetorical move, since the point of the pair is the reordering rather than the numbers. It is also easy to quote out of context as though the project measured anything. Nothing in the documentation claims it did, and the skill's own fourth pillar would put a limitation like that in a limitations section that the README does not have.
The rule that removes apologies has a floor the README never states
Read together, the four directives make one instruction with a caveat attached. Anti-Defensive Writing asks you to delete pre-emptive apologies, repetitive disclaimers and stacked modal hedges, and in exchange it asks you to define scope positively instead of retreating from it, so a sentence like We do not claim that our sample is representative becomes a statement of which jurisdictions and years were actually covered.
The exchange depends on something the framework does not supply: the concrete constraint the uncertainty gets anchored to. Calibrated Uncertainty tells you to tie doubt to real design constraints, which is a sound instruction only when you know the constraint. Where the underlying work is thin, the same rule reads as a licence to drop the hedge and keep the claim, and the comparison table shows exactly that shape of sentence, the difference between could potentially indicate that and the evidence indicates, without saying what the evidence was.
For a paper with Methods and Limitations sections the relocation is well defined. For a README, a bug report or a support reply there is no designated place for the limitation, and the practical question a new user has is where it should go. The README does not answer that, and SKILL.md is where the answer would have to be.
Editorial conclusion
Anti-Defensive Writing is worth reading as a piece of editorial design rather than as software to install, because the four pillars and the three way triage in stage one are reusable on any document that has been softened by hedging. What you cannot do from this README alone is install it. Pick it up by copying SKILL.md into a skills directory, since no install command is printed anywhere, and confirm where your platform expects it, because the support table ends mid path and the two external links are the only place that question is answered. Treat the comparison table as rhetoric rather than evidence, since its percentages and latencies are illustrative. And before applying Calibrated Uncertainty to your own writing, find out what the rulebook in SKILL.md says about anchoring to a constraint, because that is the step where a hedging habit either becomes honest scope or becomes an unsupported claim.
Frequently asked questions
What does the anti-defensive-writing skill actually install?
A single file. The footprint is one SKILL.md inside a directory named anti-defensive-writing inside a skills directory. The README says the installer streams that file and installs no README, scripts, images, test suites or extra configuration, and needs no Git, Python, Node.js, compiler or package manager.
Where should I put the skill so Codex can load it?
Codex is the recommended environment in the support table, with the user level destination given as ~/.agents/skills. The project level destination for that same row is written as .agents/s and the table ends there, so the full path is not shown. The header links to the Codex documentation on where local skills load.
Does anti-defensive-writing work with Claude Code?
The header links to Claude Code documentation on choosing where skills load, which points at support for that platform. The visible part of the support table shows only the Codex row, marked Recommended, before it ends mid path, so the destination for Claude Code is not given in this README.
What are the four rules the anti-defensive-writing skill is built on?
Claim Forward Articulation, Positive Scope Delimitation, Calibrated Uncertainty, and Structural Separation of Concerns. Each is given a posture and an operational directive in the README table, and the full rulebook behind them is in SKILL.md as English Core Rules, English Extended Guidelines, Chinese Core Rules and Chinese Extended Guidelines.
How does the skill rewrite a draft?
The README describes a five stage transformation pipeline. The diagram shows the input draft and stage one, Functional Diagnosis, which classifies each defensive unit as Unnecessary Disclaimer, Necessary Scope or Methodological Constraint. The diagram stops as the third box begins, so stages two to five are counted but not named or drawn.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/kiterlin-anti-defensive-writing)