Skip to main content

Install the Claude Code skill

Outcome. Your project contains a skill file that teaches a coding agent how Mailwoman is set up, so it stops guessing at the parts that are easy to get wrong.

The two things agents reliably get wrong here are the same two things people get wrong: they debug a parseaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. failure that doctor would have explained in one line, and they treat the raw confidence score as calibrated. The skill front-loads both.

Prerequisites​

  • mailwoman 8.7.0 or later installed, globally or in the project.
  • A project that reads .claude/skills/. Claude Code does. The file is plain Markdown with YAML frontmatter, so another agent runner can read it too.

1. Install it​

Run this from the project root:

npx mailwoman skill install
✓ mailwoman skill: installed at /tmp/mw-skill-aVjb/.claude/skills/mailwoman
PASS (1/1 checks)

One file lands:

find . -type f
./.claude/skills/mailwoman/SKILL.md

Commit it. It is 112 lines of Markdown and it belongs in the repository, next to the other things that tell a contributor how this project works.

2. Put it somewhere else, if you need to​

--dest writes to a different root and leaves the working directory untouched:

npx mailwoman skill install --dest ../shared-agent-config
✓ mailwoman skill: installed at /tmp/mw-skill-dest-iV0v/.claude/skills/mailwoman
PASS (1/1 checks)

3. Re-run it after an upgrade​

The command is a clean-slate reinstall rather than a merge. It removes the destination skill directory and copies the shipped one in, so a file that an older release shipped and a newer one dropped does not linger:

npx mailwoman skill install
✓ mailwoman skill: installed at /tmp/mw-skill-aVjb/.claude/skills/mailwoman
PASS (1/1 checks)

Exit code 0, same as the first run. Re-run it whenever you upgrade mailwoman.

4. Know what it teaches​

Five sections, and each one exists because it is a place agents go wrong:

  • Run doctor first. What the seven checks are, that exit code 0 means the two core checks passed, and that a red mark on a data layerlayerOne transformer block — attention plus a feed-forward network, with normalization and residual connections — applied to every position. Stacking layers lets the model build up richer representations; Mailwoman's encoder has 6. is a reported gap with a fix: line rather than a failure.
  • Parseaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates.. The CLI form and the library form, the tree shape, and a pointer to the ComponentTag type in @mailwoman/codex/component for the tag vocabularyvocabularyThe fixed set of tokens a tokenizer can produce. Mailwoman's SentencePiece vocabulary is tens of thousands of subword pieces, with byte fallback for anything outside it.. It points at the shipped type rather than at a documentation URL, because the skill installs into projects that may be offline.
  • Geocode. mailwoman data pull candidate as the whole setup — the file lands where every entry point looks — plus the measured case for keeping that default unchanged, and the one trap in the override.
  • File a bug. The five things a report needs, covered on Report a parsing bug.
  • Install this skill in a new project. An agent that has read it once can set up the next project.

The skill also states a correction that applies to your own code: confidence is the modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.''s raw scorelogitA raw, unnormalized per-label score the model outputs before softmax. Priors and biases are added in logit space, then softmax turns logits into probabilities. and is not calibrated by default. Wire createCalibrator from @mailwoman/core/decoder before routing on it. Tune confidence thresholds is the long version.

Verify​

Read the frontmatter back. The description is what a client matches against to decide whether to load the skill, so check for an empty or truncated file:

head -4 .claude/skills/mailwoman/SKILL.md
---
name: mailwoman
description: Use when a project has installed mailwoman (or is deciding whether to) and you need to parse, geocode, or validate postal addresses — diagnosing a broken install, wiring the CLI or the library, setting up the gazetteer, or filing a precise bug report.
---

Limits​

  • The skill is not the MCP server. It teaches an agent how to use Mailwoman from the shell and from code. It gives the agent no tools. If you want the agent to parseaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. and geocode directly, add the MCP server as well — they compose, and neither replaces the other.
  • It is a snapshot of the shipped release. The skill file is copied out of the installed package, so it describes the version you have. Re-run the installer after an upgrade.
  • No mechanism keeps a project's copy current. There is no check that fails when the committed skill drifts from the installed package. Re-running the installer is the whole mechanism.