skillsaw-typos
A skillsaw plugin that flags misspellings in agentic instruction prose using the codespell known-typo dictionary.
Installation
pip install skillsaw-typos
Once installed alongside skillsaw, the typo rule runs automatically — no
configuration required.
What it checks
The typo rule walks every content block in the lint tree (CLAUDE.md, AGENTS.md,
skills, agents, prompts, etc.), reads prose with code fences stripped so
identifiers are never flagged, and checks each word against codespell's 64,000+
known misspellings.
Fails
- All handlers should recieve validated input from the middleware.
- Keep test files and source code in seperate directories.
⚠ WARNING (typo) [CLAUDE.md:5]: Misspelling: 'recieve' → 'receive'
⚠ WARNING (typo) [CLAUDE.md:6]: Misspelling: 'seperate' → 'separate'
Passes
- All handlers should receive validated input from the middleware.
- Keep test files and source code in separate directories.
Words inside fenced code blocks are never flagged.
Autofix
skillsaw fix --rule typo
When codespell's dictionary has exactly one correction, the fix is applied
automatically (SAFE). When there are multiple candidates, the fix uses the
first suggestion and is marked SUGGEST — applied only with
skillsaw fix --suggest.
Fixes preserve the original word's casing (lowercase, Title Case, UPPER CASE).
Accepting existing typos
To accept all currently-flagged words (e.g. when adopting the plugin on an existing repo), run:
skillsaw typos accept
This writes the flagged words to .skillsaw-typos-ignore in the repo root.
The rule reads this file automatically and skips any listed words. The file
is one word per line and supports # comments — commit it to version control.
Running accept again is a no-op when no new violations exist.
Configuration
In .skillsaw.yaml:
rules:
typo:
enabled: true # true | false | auto
severity: warning # error | warning | info
ignore-words: # words to accept (e.g. project jargon)
- frobnicator
- kubectl
extra-dictionaries: # additional dictionary files (codespell format)
- .skillsaw/extra-typos.txt
.skillsaw-typos-ignore
A file in the repo root listing words to skip, one per line. Generated by
skillsaw typos accept or maintained manually. Lines starting with # are
comments. This is the primary way to suppress false positives.
ignore-words
Additional words to skip, specified inline in .skillsaw.yaml. Useful for
small lists that don't warrant a separate file.
extra-dictionaries
Paths to additional dictionary files in codespell format (word->correction).
Each file is loaded on top of the built-in dictionary.
Disabling
Per-rule:
rules:
typo:
enabled: false
Entire plugin:
plugins:
disable:
- typos
Or for a single run:
skillsaw lint --no-plugins
Metadata
Release files for skillsaw-typos 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skillsaw_typos-0.1.0.tar.gz | 9.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skillsaw_typos-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 kB
Release files / skillsaw_typos-0.1.0.tar.gz
| Download URL | skillsaw_typos-0.1.0.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f86b8cfd2673ea5a16c66d27b69d29ed03b1de419201da65da95b34105d98746
|
|
BLAKE2b-256 checksum How to use checksums |
91a06c6b2a7f199487143e7d911568bae635bcb44388c7ccc080958d9994cb5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency logRelease files / skillsaw_typos-0.1.0-py3-none-any.whl
| Download URL | skillsaw_typos-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b514c3b93b0c43e45125089457d1fbdd781cc28f018d3f1a2ad6dc683a474222
|
|
BLAKE2b-256 checksum How to use checksums |
daab1ea1e0b1a26a8fa78745653337e47f33d7fa7f91a08dd1a3d5e5593bcb6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency log