Skip to content

Claude Code plugin ​

Manually pasting the writetighter commands into a skill works, but it leaves the agent to work out the workflow on its own. The WriteTighter plugin packages a tighten skill that knows the two-command model, the verification rules, and how to fall back to subagent delegation when revise is unconfigured.

This is not a separate implementation. The skill invokes the same writetighter lint / revise / prompt CLI documented in the CLI reference. WriteTighter never edits files — the skill instructs your agent to apply the findings it can verify.

Prerequisites ​

  • Install WriteTighter and make sure writetighter is on your PATH.

    bash
    curl -fsSL https://writetighter.douggo.com/install.sh | bash
  • For native contextual revision, run the setup wizard once so revise has an endpoint:

    bash
    writetighter config

    Without a configured endpoint, the skill falls back to subagent delegation — see below.

  • Install a Claude Code CLI version that supports plugins.

Confirm the binary is reachable before installing the plugin:

bash
writetighter --help

Setup ​

  1. Register the marketplace from GitHub:

    bash
    claude plugin marketplace add sdougbrown/writetighter

    No local checkout is required; Claude Code fetches the manifest and plugin files from the repository's default branch.

  2. Install WriteTighter from the registered marketplace:

    bash
    claude plugin install writetighter@writetighter
  3. Start a new Claude Code session. Plugin skills load when a session starts, so an already-open session will not pick up the integration.

Installing from a local checkout or branch ​

If you are working against a fork or an unmerged branch, register the marketplace from an absolute path instead:

bash
claude plugin marketplace add /absolute/path/to/writetighter

Or pin a branch on GitHub directly, without cloning:

bash
claude plugin marketplace add sdougbrown/writetighter@branch-name

Pass the repository root, not the marketplace/ subdirectory — .claude-plugin/marketplace.json lives at the root and the plugin source resolves relative to that.

What the skill does ​

The bundled tighten skill runs your drafted prose through both commands before you ship:

  • writetighter lint --kind <kind> --format json — deterministic rule findings.
  • writetighter revise --kind <kind> — contextual rewrites and clarification questions.

It then applies only the changes it can verify (a replacement must preserve every command, path, identifier, and number), re-lints, and surfaces any clarification question it cannot answer instead of guessing.

When revise is not configured ​

If you skip model setup, revise exits with code 3. The skill does not block — it falls back to subagent delegation: it runs writetighter prompt --kind <kind> --format json to get the revision rubric, then spawns a Claude Code subagent (via the Agent tool, typically a cheaper model) that returns the same revisions[] JSON shape. The verification rules still apply to the subagent's output. Full details ship inside the plugin at skills/tighten/references/host-claude.md.

Verification ​

bash
claude plugin list
claude plugin details writetighter@writetighter

In a new session, asking Claude to "tighten this" or "run writetighter on this PR description" should trigger the skill.

Troubleshooting ​

Claude Code cannot find the binary ​

The skill runs writetighter by command name. Make sure the directory containing the binary is on the PATH inherited by Claude Code, then start a new session.

Claude Code cannot find the marketplace ​

For a local checkout, pass the absolute path to the repository root, not the marketplace/ subdirectory. For the GitHub form, confirm the manifest has landed on the branch you are targeting; owner/repo resolves against the default branch only.

The skill is installed but does not trigger ​

Start a new Claude Code session after installation. Skills are not added retroactively to an existing session.

See also ​