Skip to main content

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)

Source distribution for skillsaw-typos 0.1.0
File Size Uploaded
skillsaw_typos-0.1.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skillsaw-typos 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page