zenn-formatlisted
Install: claude install-skill shimo4228/zenn-content
# Zenn Format Skill
文体と執筆プロセスはglobal `writing-ecosystem`、titleはglobal `title-reviewer`、channel値は
`.claude/rules/publishing-channels.md`、公開操作は`publish-article`が持つ。
## Frontmatter
draft template:
```markdown
---
title: "Your Article Title"
emoji: "📚"
type: "tech"
topics: ["claude", "ai", "python"]
published: false
---
## 最初の見出し
```
本文見出しはH2から始める。公開時は`published: true`と`published_at`を設定する。
| Field | Requirement |
|---|---|
| `title` | required。文字数はchannel contract |
| `emoji` | required、single emoji |
| `type` | required、`tech`または`idea`。voice分岐には使わない |
| `topics` | required、lowercase 1〜5件 |
| `published` | required、boolean |
| `published_at` | `published: true`でrequired。`YYYY-MM-DD HH:MM` JST |
## Emoji and topics
emojiは記事の主対象を示す一つを選ぶ。
| Theme | Candidates |
|---|---|
| AI / LLM | 🤖, 🧠, 💬 |
| Learning | 📚, 🎓, 📝 |
| Testing | 🔬, ✅, 🧪 |
| Development | ⚙️, 🛠️, 💻 |
| Performance | ⚡, 📊 |
| Architecture | 🏛️, 🧩, 🌐 |
topics:
- 1〜5件。具体性があるなら5件まで使う
- 主題に最も近い製品名・技術名を優先する
- `ai` / `llm`のような一般語だけで埋めない
- `https://zenn.dev/topics/<tag>`で実在と現在の使用を確認する
- 記事数の多さだけで選ばず、対象読者との一致を優先する
本文凍結とtitle選択の後、現在値と候補をdiffで提示する。topics / emojiはdistributionだけを
変え、本文・中心命題・見出しを書き換えない。最終選択は著者が行う。
## Zenn Markdown
### Code blocks
languageを必ず指定し、必要なら先頭commentでpathを示す。
````markdown
```python
# src/auth/session.py:88
def rotate_token(session: Session) -> Token:
...
```
````
### Images
```markdown

```
descriptive filenameを使い、個人pa