コンテンツにスキップ
X

Level 3 実践: /blog コマンドでブログ記事を量産する

概念・仕組みを先に理解したい方は Level 3 の概念ガイド を参照してください。

Level 2 でスキルセクションが完成しました。次はブログ機能を追加します。記事を書くたびに「MDX ファイルを作って、frontmatter を書いて…」という手作業をなくすため、/blog タイトル の一言で記事の雛形を生成するカスタムコマンドを作ります。

対象読者: MCP 連携を設定済みで、繰り返し作業をコマンド化したい方。

学習時間の目安: 読了 10分 + 実践 30分


Level 2 で .claude/settings.json(GitHub MCP)と src/components/Skills.tsx が完成しました。

.claude/commands/blog.md を作成します:

# ブログ記事生成

`$ARGUMENTS` をタイトルとして、`src/content/posts/` に MDX ファイルを生成してください。

## ファイル名のルール

タイトルを kebab-case に変換してファイル名にする。
例: "TypeScript の型推論" → `typescript-type-inference.mdx`

## frontmatter の形式

```mdx
---
title: "$ARGUMENTS"
description: "記事の内容を 1〜2 文で要約"
publishedAt: "今日の日付(YYYY-MM-DD)"
tags: ["関連タグ1", "関連タグ2"]
---
```

## 記事の構成

1. **導入** — なぜこのトピックを学ぶのか・誰向けか・読了時間(3〜4 文)
2. **基本概念** — 初心者向けの説明(具体例を含める)
3. **コード例** — 動作するサンプルコードを最低 1 つ含める
4. **実践的なユースケース** — 実際の開発でどう使うか
5. **まとめ** — 要点を箇条書きで 3〜5 点

## 制約

- です・ます体で書く
- コードブロックには言語を指定する(\`\`\`typescript など)
- 初心者が読んでも理解できる説明を心がける
/blog TypeScript の型推論を初心者向けに解説

生成された src/content/posts/typescript-type-inference.mdx

---
title: "TypeScript の型推論を初心者向けに解説"
description: "TypeScript が自動で型を推測する仕組みを、具体的なコード例を交えながら初心者向けに解説します。"
publishedAt: "2026-03-29"
tags: ["TypeScript", "入門", "型システム"]
---

TypeScript を使い始めると「型を毎回書くのが面倒」と感じることがあります。実は TypeScript には**型推論**という機能があり、多くの場面で型を明示しなくても自動で推測してくれます。

**対象読者**: TypeScript を使い始めたばかりの方。

**読了時間**: 約 10 分

## 型推論とは

TypeScript は変数に代入された値から、自動で型を推測します。

```typescript
// 型を書かなくても TypeScript が推測する
const name = "田中"   // string と推測される
const age = 25        // number と推測される
const isActive = true // boolean と推測される

// 間違った代入はエラーになる
// name = 123  // Error: Type 'number' is not assignable to type 'string'


もう一本生成します:

/blog Next.js App Router 入門


`src/content/posts/nextjs-app-router-intro.mdx` が生成されます。

## コードレビューコマンドも追加する

`.claude/commands/review.md`:

```markdown
# コードレビュー

現在の変更差分(git diff)を確認し、以下の観点でレビューしてください:

1. TypeScript の型安全性(any の使用・型定義の漏れ)
2. React のベストプラクティス(不要な再レンダリング・useEffect の依存配列)
3. アクセシビリティ(alt 属性・aria ラベル)

問題を「重要度(高/中/低): 説明」の形式で列挙してください。
問題がなければ「✅ レビュー完了: 問題なし」と返してください。
  • .claude/commands/blog.md — ブログ記事生成コマンド
  • .claude/commands/review.md — コードレビューコマンド
  • src/content/posts/typescript-type-inference.mdx
  • src/content/posts/nextjs-app-router-intro.mdx

ブログ記事を量産できるようになりました。ただ記事ごとに文体がバラバラになる問題があります。次はメモリを設計して品質を統一します。

Level 4 実践: 文体ルールをメモリに書いて品質を統一する