Zenn Textlint Workarounds
Documentszenn-textlint-workaroundsZenn Textlint Workarounds is an Agent Skill for documents published in the majiayu000/claude-skill-registry repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Use when textlint produces false positives on Zenn articles. prh hyphen loop, :::message, and --fix workarounds.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/majiayu000/claude-skill-registry/blob/HEAD/skills/quality/zenn-textlint-workarounds/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/zenn-textlint-workarounds, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Zenn記事の textlint 誤検出ワークアラウンド
Extracted: 2026-02-13 Context: Zenn記事を textlint + prh + markdownlint で lint する際の既知の誤検出と回避策
Problem 1: prh 長音記号の誤検出ループ
prh ルール サーバ => サーバー が、すでに正しい「サーバー」の中の「サーバ」部分文字列にマッチする。
textlint --fixを実行すると「サーバー」→「サーバーー」に二重化- 手動で戻しても次の
--fixで再発 - 同様のパターン:
ユーザ => ユーザーなど長音記号追加系ルール全般
Solution
「サーバー」を使わない表現に言い換える。
# NG: prh が誤検出する
自宅のMacがそのままサーバーになる。
# OK: 言い換えで回避
自宅のMacをそのまま使う。
根本対策(未実施)
prh.yml でネガティブルックアヘッドを使う:
# 現状(誤検出する)
- expected: サーバー
pattern: サーバ
# 改善案(未検証)
- expected: サーバー
pattern: サーバ(?!ー)
Problem 2: :::message と textlint の非互換
Zenn の :::message...::: 構文の閉じ ::: を textlint が「文末に句点がない」と誤検出する。
156:3 error 文末が"。"で終わっていません。 ja-technical-writing/ja-no-mixed-period
Solution
:::message の代わりに blockquote (>) を使う。
# NG: textlint が ::: を文として検出
:::message
**Tips**: ここに補足テキスト。
:::
# OK: blockquote なら textlint は問題なし
> **Tips**: ここに補足テキスト。
トレードオフ: :::message は Zenn 上で黄色い背景ボックスとして表示されるが、blockquote は灰色の引用表示になる。視覚的な差異を許容できる場合のみこの回避策を使う。
Problem 3: textlint --fix の二重適用
textlint --fix は prh ルールを機械的に適用するため、上記 Problem 1 と組み合わさると破壊的な変更が起きる。
Solution
textlint --fix実行後は必ず diff を確認する- 特に prh の auto-fix 結果は目視チェック必須
- lint-staged + husky 環境では
--fixが自動実行されないことを確認
When to Use
- Zenn 記事を書いて textlint を通す時
- pre-commit hook で textlint エラーが出てコミットできない時
- prh ルールに長音記号パターンを追加する時