feat: one writing contract for Claude Code and Codex

Replaces public-comms.md and code-comments.md (749 words, ~25 rules,
almost all prohibitions, no examples) with a single writing.md that
leads with worked examples.

The rule is selection, not compression: keep output short by cutting
whole ideas that don't change what the reader does next, then write what
survives as plain sentences. Not by dropping articles or writing
fragments, which Anthropic's Fable 5 guide calls out as the wrong lever.
Prompt style leaks into output style, so the file is written in the
voice it asks for.

Drops the BLUF ask-line rule entirely: everyone on a PR already knows
who reviews and who merges, and read literally it produced openers like
"Ask: reviewers please merge".

Links the contract to ~/.agents/AGENTS.md, which Codex had nothing in at
all, and to the nix module for the NixOS machine.
This commit is contained in:
naps62
2026-08-01 13:06:38 +00:00
parent 17677c18df
commit a1f95a1161
9 changed files with 197 additions and 101 deletions
+5 -1
View File
@@ -13,6 +13,7 @@ CODEX_SKILLS="$HOME/.agents/skills"
CLAUDE_CMDS="$HOME/.claude/commands" # commands are Claude-only; Codex ignores
CLAUDE_HOOKS="$HOME/.claude/hooks" # hooks are Claude-only
CLAUDE_HOME="$HOME/.claude" # CLAUDE.md fragments, pulled in via @name.md
AGENTS_HOME="$HOME/.agents" # Codex global config root
# Per-FILE links, never a whole-dir link: ~/.claude/hooks and ~/.claude itself hold
# machine-local files this repo does not own, and a dir symlink would hide them.
@@ -32,7 +33,7 @@ link() { # link <src> <dst>
echo "linked $dst -> $src"
}
mkdir -p "$CLAUDE_SKILLS" "$CODEX_SKILLS" "$CLAUDE_CMDS" "$CLAUDE_HOOKS"
mkdir -p "$CLAUDE_SKILLS" "$CODEX_SKILLS" "$CLAUDE_CMDS" "$CLAUDE_HOOKS" "$AGENTS_HOME"
for d in "$REPO"/skills/*/; do
name="$(basename "$d")"
@@ -55,5 +56,8 @@ for f in "$REPO"/claude-md/*.md; do
link "$f" "$CLAUDE_HOME/$(basename "$f")"
done
# Codex reads ~/.agents/AGENTS.md; it has no @import, so the contract is the file.
link "$REPO/claude-md/writing.md" "$AGENTS_HOME/AGENTS.md"
echo "done."
echo "hooks still need wiring in ~/.claude/settings.json — see hooks/README.md"