Skip to content

feat: add Strict Claude output style and split accessibility rules - #29

Merged
MrPointer merged 3 commits into
mainfrom
claude-output-style
Sep 6, 2026
Merged

MrPointer merged 3 commits into
mainfrom
claude-output-style

Conversation

@MrPointer

@MrPointer MrPointer commented Sep 5, 2026 •

Copy link
Copy Markdown
Owner

📝 Summary

Adds a Claude output style, Strict, managed in the dotfiles, and reworks the shared always-on accessibility guidance it depends on. Strict enforces a fixed, list-first answer shape to resist scattered, hedge-heavy prose. The accessibility section moves to style-agnostic wording with checkable limits so it holds under any style.

Key Decisions

🎯 Strict list-first output style

Adds Strict as a managed output style. Every conversational reply follows a fixed shape — brief orientation, then one consolidated block of 🔍 Findings, ⚠️ Limits, ✅ Actions, with emojis as focus anchors and the bulk of the answer at the end. A tightly bounded escape hatch allows one or two line answers without the section scaffolding.

♿ Accessibility guidance made style-agnostic

Accessibility constraints must hold regardless of the active style, so the section in .chezmoitemplates/global-ai-core-guidelines.md.tmpl (shared by Claude, Codex, and OpenCode) is reworded to be style-agnostic. Vague scanning guidance is replaced with checkable limits: a 10-line default and headings only for genuinely multi-topic answers.

🔀 Always-on ordering rule removed

Dropped the always-on "Lead with the answer or action" rule. Strict reverses response order (findings first, answer last), so an always-on lead-with-answer rule would contradict it every session. The active style now owns ordering.

📄 Conversation vs artifact scope

The list/emoji template is scoped to conversational replies only. Durable artifacts (docs, READMEs, commit messages, PR descriptions) use a distinct strict mode based on ASD-STE100 Simplified Technical English. Where dedicated instructions already define a format (such as global commit-message rules), those take precedence over the strict mode.

🔄 Before & After

Area Before After
Claude output style Not managed in the repo Strict list-first style, with conversation vs artifact scoping
Accessibility section "Accessibility And Response Style", vague scanning guidance "Accessibility", style-agnostic, checkable caps
Response ordering Always-on "Lead with the answer or action" Removed; owned by the active style

Bring the swappable output style under chezmoi management so it is
version-controlled and deployed alongside the rest of the Claude config.
The file maps to ~/.claude/output-styles/plain-and-grounded.md and is
stored owner-only via the private_ prefix.
Accessibility needs hold under every output style, so keep them in the
shared always-on guidelines rather than in the swappable style file. The
same section feeds Claude, Codex, and OpenCode, so the wording avoids the
Claude-only output-style term. Replace the vague scanning guidance with
checkable limits: a 10-line default and headings only for genuinely
multi-topic answers.
Rename the style from Plain and grounded to Strict and rebuild it around
a fixed answer template that resists the scattered, hedge-heavy prose the
old voice rules only softened.

- Open with a mandatory shape: brief orientation, then one consolidated
  block of Findings, Limits, and Actions in a fixed order, with emojis as
  focus anchors and the bulk of the answer at the end.
- Add a tightly bounded escape hatch for one or two line answers that
  keeps every anti-pattern ban in force.
- Drop the prose-first and importance-ordering sections that fought the
  template, and fold the manufactured-emphasis bans into it.
- Move the Simplified Technical English rules to the end as a distinct
  strict mode for durable artifacts.

Also remove the lead-with-answer rule from the shared always-on
guidelines. The Strict style puts findings first and the answer last, so
an always-on rule to lead with the answer would contradict it in every
session. Let the active style own ordering instead.
@MrPointer
MrPointer merged commit 02a6ace into main Sep 6, 2026
5 checks passed
@MrPointer
MrPointer deleted the claude-output-style branch September 10, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant