| name | timbre |
| description | Use Timbre when the user wants to check prose, run agent-led editorial review, or teach agents from existing writing. It lints Markdown, MDX, Astro and plain text for stock AI phrases, staged contrasts, repetitive structures, unnatural rhythm, excessive qualification and vague wording. It handles drafts, stdin, directories, globs and CI with explanations and exceptions. For patterns exact rules cannot prove, it gives Codex, Claude or another agent a semantic review packet with lenses, examples and a strict response shape. It can also study folders of posts, articles or an X archive, save language patterns and examples, and install a reusable `write-like-*` skill. Trigger when the user asks whether prose sounds AI-written, wants a draft made less robotic, wants content linting or deeper semantic review, wants to learn a style from existing work, create or refresh a writing skill, inspect what Timbre learned, or compare a draft with a saved style. Use the generated `write-like-*` skill for author-specific drafting. |
Timbre
Timbre has two jobs. It checks prose for writing habits associated with generic
AI output. It can also study a folder of existing writing and turn what it
learns into a write-like-* skill that other agents can use later. Linting
needs no prior setup. Style extraction needs source material supplied by the
user and Timbre's optional style runtime. Existing generated skills do not need
that runtime.
Keep source writing local. Do not publish a generated skill unless the user
has permission to redistribute the examples inside it.
Lint prose
timbre lint <file-dir-or-glob>
timbre audit <directory> --preset docs
timbre lint - --stdin-filename draft.md --format json
Use --fail-on error when an agent must block definite residue before it
returns a draft. Review every warning, but change it only when the human read
improves or the active profile supports the edit. Honour inline suppressions
and project configuration. Do not replace vocabulary blindly.
Run a deeper agent review
Use this pass when the user asks for deeper review or when an exact lint rule
cannot prove a semantic pattern:
timbre review <draft.md> --format json
timbre review <draft.md> --lens indirectReframe --format json
The command does not call a model. It returns a stable packet containing the
document, deterministic findings, review lenses, examples and an output
contract. Follow that packet yourself. Report exact quotes and lines, then fix
only medium- or high-confidence findings. Rerun timbre lint after edits. Stop
after two semantic passes instead of polishing in a loop without an end.
Build and install
timbre setup style --check
timbre build <corpus-dir> --name <profile-name> --json
timbre skill <profile-name> --install --json
If the check reports that the runtime is missing, run
timbre setup style --yes --json before build. Do not install the style
runtime for linting, semantic review, profile inspection or use of an existing
generated skill.
Use a plain lowercase profile name when possible. A named build writes the
full profile under ~/.config/timbre/profiles/<name> and generates
write-like-<name> inside its skill directory.
Tell the user the generated skill name once installation finishes and invoke
that author-specific skill for writing. Do not reproduce its full instructions
in the current context.
Refresh a skill
Rebuild from the corpus, then replace the installed copy:
timbre build <corpus-dir> --name <profile-name> --config <config.yml> --json
timbre skill <profile-name> --install --force --json
Inspect evidence
Use these only when the user wants diagnostics or the generated skill needs
investigation:
timbre profiles --json
timbre inspect <profile> --json
timbre voice <profile> --compact --json
timbre examples <profile> --kind opening --json
timbre score <draft.md> --profile <profile> --json
timbre lint <draft.md> --format json --fail-on warning
timbre review <draft.md> --format json
Treat scores as review evidence. Clear, accurate writing for a real reader is
the final standard.
Run timbre setup style --check --json before score when the runtime state is
unknown. Only build and score require it.
Generated writing skills must run timbre lint after drafting with their
bundled profile lint policy. Resolve every error, review every warning, and
rerun after editing. Vocabulary alternatives are rewrite clues. Do not apply
them as blind substitutions or erase corpus-supported voice.
Run timbre review after the deterministic pass and resolve high-confidence
semantic findings before returning the draft.
Boundaries
- Do not call model APIs during profile extraction.
- Do not treat corpus names, claims or experiences as facts for a new draft.
- Do not commit or redistribute third-party corpus material without suitable
permission.
- Do not fine-tune a model, run AI detectors or add a generation backend as
part of the normal Timbre workflow.