writing:scan · git:20260615.1ec44ee · 2026-06-15 · sha256 c81a65e497b61577
writing:scan git:20260615.1ec44eeA
Immutable. This exact content is served forever at /api/v1/blob/c81a65e497b61577.
---
name: writing:scan
description: >-
Audit existing repository prose for AI writing tropes. Use when scanning a
directory or set of files (READMEs, docs, skill files, proposals) for slop
already committed, rather than rewriting one input. Reports every match with
file, line, and column.
argument-hint: <path-or-glob>
user-invocable: true
allowed-tools:
- Bash
- Read
---
# Scan
Report AI writing tropes already present in repository prose. This audits text in place. To transform a single input instead, use `writing:rewrite`.
## Input
`$ARGUMENTS` must include an explicit path: a directory or a glob. There is no implicit whole-repo scan.
```bash
bun ${CLAUDE_SKILL_DIR}/scripts/scan.ts "docs/**/*.md"
bun ${CLAUDE_SKILL_DIR}/scripts/scan.ts path/to/directory
```
Run with `--help` for all flags. The scanner walks the path, keeps prose files (`.md`, `.markdown`, `.txt`, `.mdx`, `.rst`, `.adoc`), and skips `node_modules`, `.git`, wordlists, and memory/plan paths.
## Output
Each violation prints as `path:line:col: category: message`. A summary table follows on stderr with counts per category and the noisiest files. The script exits non-zero when any violation is found, so it composes in CI or pre-commit checks.
Pass `--no-summary` to suppress the table when piping the per-line output elsewhere.
## Acting on results
The scan is report-only. To fix a flagged file, open it and run `writing:rewrite` on the offending passages, or edit directly using the reported positions. Bulk auto-fixing is not part of this skill.
The detection engine is shared with the `tropes` hook and the `writing:rewrite` skill, which runs this script in `--input` mode for a single file, inline text, or stdin (`detection/scan.ts` over `detection/tropes.ts`), so a clean scan matches what the hook allows on new edits.