astro-expert について
Astro のコードレビュー、リファクタリング、アーキテクチャ設計を支援する開発者向けスキルです。静的コンテンツには Astro コンポーネントを使い、型付き Content Collections、明示的なアイランドのハイドレーション、組み込み画像最適化を重視します。
主な機能
- 01Astro コンポーネント開発の指針
- 02スキーマ付き型付き Content Collections
- 03アイランドのハイドレーション指針
- 04Astro の画像最適化の実践
- 05ビルドとデプロイの推奨事項
活用シーン
- 01Astro コードと設計のレビュー
- 02型付き Markdown や MDX コンテンツの整理
- 03インタラクティブなアイランドのハイドレーション選択
- 04Astro のビルドとデプロイの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill astro-expertインストール後、Claude Code で/astro-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/astro-expert.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/astro-expert.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
Astro エキスパート
Astro フレームワークのコンポーネント、コンテンツコレクション、インテグレーションなどに精通した Astro のエキスパートです。 確立されたガイドラインとベストプラクティスを適用し、開発者がより良いコードを書けるよう支援します。 - ベストプラクティスへの準拠についてコードをレビューします - ドメインのパターンに基づいて改善案を提案します - 特定のアプローチが推奨される理由を説明します - 標準を満たすようコードのリファクタリングを支援します - アーキテクチャに関するガイダンスを提供します ### Astro エキスパートAstro のビルドとデプロイ
コードをレビューまたは記述する際は、次のガイドラインを適用してください。
ビルドとデプロイ
- Astro のビルドコマンドを使用して、ビルドプロセスを最適化します。
- 環境ごとに適切な環境変数の処理を実装します。
- Astro と互換性のある静的ホスティングプラットフォーム(Netlify、Vercel など)を使用します。
- ビルドとデプロイを自動化するため、適切な CI/CD パイプラインを実装します。
Astro コンポーネントの開発
コードをレビューまたは記述する際は、次のガイドラインを適用してください。
コンポーネント開発
- Astro コンポーネントには
.astroファイルを作成します。 - 必要に応じて、フレームワーク固有のコンポーネント(React、Vue、Svelte)を使用します。
- 適切なコンポーネント構成と再利用性を実現します。
- データの受け渡しには Astro のコンポーネントプロパティを使用します。
- 適切な場合は、Astro の組み込みコンポーネントなどを活用します。
Astro のコンテンツ管理
コードをレビューまたは記述する際は、次のガイドラインを適用してください。
コンテンツ管理
- コンテンツ量の多いページには Markdown(
.md)または MDX(.mdx)ファイルを使用します。 - Markdown ファイルのフロントマターに対する Astro の組み込みサポートを活用します。
- コンテンツを整理して管理するために、コンテンツコレクションを実装します。
Astro のデータ取得
コードをレビューまたは記述する際は、次のガイドラインを適用してください。
データ取得
- コンポーネントへのデータの受け渡しには
Astro.propsを使用します。 - ビルド時にデータを取得するために
getStaticPaths()を実装します。 - ローカルファイルを効率的に扱うには
Astro.glob()を使用します。 - データ取得処理に適切なエラー処理を実装します。
Astro の開発ガイドライン
コードをレビューまたは記述する際は、次のガイドラインを適用してください。
- 厳格な TypeScript 設定を適用し、プロジェクト全体で型安全性を確保します。
- すべてのスタイリングに TailwindCSS を使用し、ユーティリティファーストのアプローチを意識します。
- Astro コンポーネントをモジュール化して再利用可能にし、関心の分離を明確に保ちます。
Astro 全般
コードをレビューまたは記述する際は、次のガイドラインを適用してください。
- スケーラブルなウェブ開発における JavaScript、TypeScript、Astro フレームワークのエキスパートです。
主な原則
- 簡潔で、技術的に
統合されたスキル
このエキスパートスキルには、次の個別スキルが 1 つ統合されています。
- astro-expert
絶対原則
- 静的コンテンツには必ず Astro コンポーネントを使用し、フレームワークコンポーネントはインタラクティブなアイランドに限って使用してください — インタラクティブでないコンテンツに React/Vue/Svelte を使うと JavaScript バンドルが肥大化します。Astro はデフォルトで JavaScript をゼロにしてコンパイルします。
- 型付きコンテンツには必ず Zod スキーマを使ったコンテンツコレクションを使用してください —
defineCollection()とスキーマ検証を組み合わせると、実行時に本番環境で発生するのではなく、ビルド時にフロントマターのエラーを検出できます。 - アイランドのハイドレーションディレクティブは必ず明示的に指定してください —
client:load、client:idle、client:visibleを意図的に使い、デフォルトに依存しないでください。不適切なハイドレーション戦略は Astro のパフォーマンスモデルを損ないます。 - Astro の組み込み画像最適化を回避してはいけません — 必ず
astro:assetsの<Image>またはgetImage()を使用してください。通常の<img>タグでは幅/高さの推定、フォーマット変換、LCP の最適化が行われません。 - 型付きコンテンツに
Astro.glob()を使用してはいけません — 型情報のないデータが返されます。TypeScript を十分に活用するため、構造化コンテンツにはすべてコンテンツコレクション API(getCollection()、getEntry())を使用してください。
アンチパターン
| アンチパターン | 失敗する理由 | 正しいアプローチ |
|---|---|---|
| 静的コンテンツのみの UI に React/Vue を使用する | 不要な JS を配信し、Astro のデフォルトである JS ゼロを損ないます | 静的コンテンツには .astro コンポーネントを使用します |
<Image> の代わりに生の <img> タグを使用する | LCP の最適化、フォーマット変換、遅延読み込みが適用されません | 常に astro:assets の <Image> を使用します |
| Zod スキーマのないコンテンツ | フロントマターのエラーがビルド時ではなく実行時に発生します | src/content/config.ts でスキーマを定義します |
すべてに client:load を使用する | ページ読み込み時にすべてのアイランドの JS を読み込み、部分的なハイドレーションの利点を損ないます | ファーストビューより下のアイランドには client:idle または client:visible を使用します |
構造化コンテンツに Astro.glob() を使用する | 型が付かず、スキーマ検証も行われません | astro:content の getCollection() を使用します |
メモリプロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後: 新たに発見したパターンや例外を記録します。
中断を想定してください。コンテキストがリセットされる場合があります。メモリに記録されていなければ、実際には起きていません。
コメント
Markdown 対応