← ClaudeAtlas

publish-articlelisted

quality-gate PASS済みの対象稿1本について、Zennのfrontmatter・preview・予約またはDev.toのdry-run・予約、公開索引、push確認を扱うproject-local公開skill。Use when — 対象となるZenn稿またはEN稿自身のglobal quality-gate PASSと著者GOの後。NOT for — 翻訳生成、prose review、security/quality判定、note/Substack投稿。
shimo4228/zenn-content · ★ 3 · AI & Automation · score 76
Install: claude install-skill shimo4228/zenn-content
# Publish Article Skill このskillは公開操作だけを持つ。文章品質とpublic-safetyはglobal `quality-gate`、Zenn形式は `zenn-format`、channel値は `.claude/rules/publishing-channels.md` が正本。 ## Usage ```text /publish-article articles/<slug>.md /publish-article articles-en/<slug>.md ``` 引数なしなら `published: false` のZenn原稿を列挙する。 ## Preconditions - 引数で指定した対象稿自身のglobal `quality-gate`がPASS - 著者が最終タイトルと本文を通読済み - 著者が公開GOを出している 不足していれば公開操作を始めず、欠けた証跡を返す。 最初に対象pathをchannel contractの1行へ解決する。JP稿のPASSをEN稿へ流用しない。 ## Zenn / Dev.to publish flow ### 1. Validate target ```bash npm run evidence -- articles/<slug>.md --online # 構造・書式・実在・一致 + 外部URLの生死 npm run validate ``` `deviations`が1件でもあれば公開操作を始めない。`grandfathered`は検査導入前の既公開分なので blockしない。目視で数え直さず、scriptの出力をそのまま扱う。 Zenn稿のtitle、emoji、type、topics、slug、`published_at`は`zenn-format`とchannel contractに従う。 EN稿は`devto-translator` self-check済みであることを確認する。 ### 2. Preview or dry-run ```bash npm run preview ``` Zenn稿は`http://localhost:8000`でコードblock、画像、message/details、内部linkを確認する。 EN稿は実POSTせずdry-runする。 ```bash cd scripts && uv run python devto_crosspost.py post <slug> --dry-run ``` ### 3. Schedule the resolved target 通常はfrontmatterを次の形にする。 ```yaml published: true published_at: 2026-04-15 09:00 ``` format、rate-limit、cadenceは`.claude/rules/publishing-channels.md`が正本。これはZenn channelだけに行う。 Dev.to channelではdry-runを著者へ提示して日時を確認してから予約する。 ```bash cd scripts && uv run python devto_crosspost.py schedule <slug> --at "2026-07-07 22:00 Asia/Tokyo" ``` 即時投稿は著者が明示した場合だけ`post <slug