GitHub - obra/the-elements-of-style: William Strunk Jr.'s Elements of Style (1918) in markdown format for AI agents

GitHub

2 min read Original article ↗

William Strunk Jr.'s The Elements of Style (1918), packaged as a plugin for coding agents.

Purpose

This plugin hands your agent Strunk's guidance whenever it writes documentation, commit messages, error text, or any other prose a human will read.

What's Inside

  • Skill: writing-clearly-and-concisely — when and how to apply Strunk's rules
  • Reference: the complete 1918 text, roughly 12,000 tokens

The reference covers:

  1. Elementary Rules of Usage — seven rules of grammar and punctuation
  2. Elementary Principles of Composition — eleven rules for clear, forceful writing
  3. Words and Expressions Commonly Misused — an alphabetical guide to usage pitfalls

Usage

Your agent invokes writing-clearly-and-concisely when it writes prose. The skill lists every rule at a glance, warns that the reference costs about 12,000 tokens, and suggests handing a draft to a subagent when context runs short. It opens the full reference only while writing or editing.

Installing

Harness Install
Claude Code see docs/install/claude-code.md
Cursor see docs/install/cursor.md
Codex see docs/install/codex.md
Devin CLI see docs/install/devin.md
Kimi Code see docs/install/kimi.md
Gemini CLI see docs/install/gemini.md
OpenCode see docs/install/opencode.md
Pi see docs/install/pi.md
Hermes Agent see docs/install/hermes.md
Agent Plugins 1.0 clients see docs/install/agent-plugins-1.0.md
Factory Droid / Grok / Copilot (marketplace descriptor) see docs/install/agents-marketplace.md

Every supported harness reads the skill from skills/; the per-harness manifests differ only in where they point.

Development

everyharness generates every harness manifest, bootstrap hook, and install doc from one file: everyharness.yaml. Edit that file and the skill, then regenerate:

npx everyharness generate

Never edit a generated file by hand — everyharness validate fails on drift, and the next generate overwrites your change. Generated files carry a GENERATED by everyharness header, and .everyharness/manifest.json lists them all.

Source

The text is public domain. The 1918 edition came from Project Gutenberg, converted to markdown.