Skip to content

obra/elements-of-style

v1.0.0Public Domain

Writing guidance based on William Strunk Jr.'s The Elements of Style (1918)

The Elements of Style

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

HarnessInstall
Claude Codesee docs/install/claude-code.md
Cursorsee docs/install/cursor.md
Codexsee docs/install/codex.md
Devin CLIsee docs/install/devin.md
Kimi Codesee docs/install/kimi.md
Gemini CLIsee docs/install/gemini.md
OpenCodesee docs/install/opencode.md
Pisee docs/install/pi.md
Hermes Agentsee docs/install/hermes.md
Agent Plugins 1.0 clientssee 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.