zero-skills
このスキルは、ユーザーが「go-zero APIを作成する」「go-zeroでRESTサービスを構築する」「goctlでコード生成を行う」「go-zeroにミドルウェアを追加する」「gRPCサービスを実装する」「サービスディスカバリーをセットアップする」「サーキットブレーカーまたはレート制限を追加する」「go-zeroデータベースモデルを使用する」「go-zeroエラーをトラブルシューティングする」、または.apiファイル、.protoファイル、github.com/zeromicro/go-zeroを含むgo.modでgo-zeroマイクロサービスを扱う場合に使用してください。
description の原文を見る
This skill should be used when the user asks to "create a go-zero API", "build a REST service with go-zero", "generate code with goctl", "add middleware to go-zero", "implement a gRPC service", "set up service discovery", "add circuit breaker or rate limiting", "use go-zero database model", "troubleshoot go-zero errors", or is working with go-zero microservices, .api files, .proto files, or a go.mod containing github.com/zeromicro/go-zero.
SKILL.md 本文
AIエージェント向けgo-zeroスキル
このスキルは、開発者がプロダクション対応のサービスを構築するのを支援するAIエージェント向けに最適化された、包括的なgo-zeroマイクロサービスフレームワークの知識を提供します。REST API、RPCサービス、データベース操作、レジリエンスパターン、トラブルシューティングをカバーしています。
🎯 このスキルを使用する場合
go-zeroを使用する場合は、このスキルを起動してください:
- サービスの作成: REST API、gRPCサービス、またはマイクロサービスアーキテクチャ
- データベース統合: SQL、MongoDB、Redis、または接続プーリング
- プロダクション強化: サーキットブレーカー、レート制限、またはエラーハンドリング
- デバッグ: エラーの理解、設定の修正、または問題の解決
- 学習: go-zeroのパターンとベストプラクティスの理解
📚 知識構造
このスキルは、go-zeroの知識を焦点を絞ったモジュールに整理します。一度にすべてを読むのではなく、必要に応じて特定のガイドをロードしてください:
クイックスタートガイド
リンク: go-zero公式ドキュメント 含まれる内容: インストール、最初のAPIサービス、基本コマンド、ハローワールドの例(公式ドキュメントを参照)
パターンガイド(詳細リファレンス)
1. REST APIパターン
ファイル: references/rest-api-patterns.md
ロードする場合: HTTPエンドポイントの作成、CRUD操作の実装、ミドルウェアの追加
含まれる内容:
- ハンドラ → ロジック → コンテキストの3層アーキテクチャ
- 適切なタイプでのリクエスト/レスポンスハンドリング
- ミドルウェア(認証、ロギング、メトリクス、CORS)
httpx.Error()とhttpx.OkJson()を使用したエラーハンドリング- ✅ 正しいパターン vs ❌ 正しくないパターンの完全なCRUDの例
2. RPCサービスパターン
ファイル: references/rpc-patterns.md
ロードする場合: gRPCサービスの構築、サービス間通信
含まれる内容:
- プロトコルバッファの定義とコード生成
- etcd/consul/kubernetesを使用したサービスディスカバリー
- ロードバランシング戦略
- クライアント設定とインターセプター
- RPCコンテキストでのエラーハンドリング
3. データベースパターン
ファイル: references/database-patterns.md
ロードする場合: データ永続化、キャッシング、または複雑なクエリの実装
含まれる内容:
- sqlxを使用したSQL操作(CRUD、トランザクション、バッチ挿入)
- MongoDB統合パターン
- Redisキャッシング戦略とキャッシュアサイドパターン
goctl modelを使用したモデル生成- 接続プーリングとパフォーマンスチューニング
4. レジリエンスパターン
ファイル: references/resilience-patterns.md
ロードする場合: プロダクション強化、障害への対応、システム負荷の管理
含まれる内容:
- サーキットブレーカー設定(Breaker)
- レート制限とAPI制限
- 負荷がかかった場合の負荷シェッディング
- タイムアウトと再試行戦略
- グレースフルシャットダウンと機能低下
5. goctlコマンドリファレンス
ファイル: references/goctl-commands.md
ロードする場合: goctlでのコード生成、新しいサービスのセットアップ、生成後のステップ
含まれる内容:
- goctlのインストールと検出
- API/RPC/モデル生成コマンドと正確なフラグ
- 生成後パイプライン(mod tidy、インポート修正、ビルド検証)
- 設定テンプレート(API、RPC、プロダクション)
- デプロイメントテンプレート(Dockerfile、Kubernetes、Docker Compose)
- ミドルウェアとエラーハンドラテンプレート
- APIスペックパターン(CRUD、JWT、混合認証)
サポートリソース
ベストプラクティス
ファイル: best-practices/overview.md
ロードする場合: プロダクションデプロイメント、コードレビュー、最適化
含まれる内容: 設定管理、ロギング、監視、セキュリティ、パフォーマンス
トラブルシューティング
ファイル: troubleshooting/common-issues.md
ロードする場合: エラーのデバッグ、設定の問題、実行時の問題
含まれる内容: 一般的なエラーメッセージ、ソリューション、設定の落とし穴、デバッグのヒント
Claude Code統合
ファイル: getting-started/claude-code-guide.md
ロードする場合: Claude CodeでのZero-Skillsの使用をセットアップ
含まれる内容: インストール、起動方法、高度な機能(サブエージェント、動的コンテキスト)
ツール統合ガイド
ファイル: getting-started/README.md
ロードする場合: Cursor、GitHub Copilot、Windsurf、またはCodexでzero-skillsをセットアップ
含まれる内容: 機能比較表、ツールごとのセットアップ手順(Claude Code、Cursor、Copilot、Windsurf、Codex)
🚀 一般的なワークフロー
これらのワークフローは、典型的なgo-zero開発タスクをガイドします:
新しいREST APIサービスの作成
ステップ:
.apiファイルでタイプとルートを使用してAPI仕様を定義- コード生成:
goctl api go -api user.api -dir . internal/logic/レイヤーでビジネスロジックを実装httpxでバリデーションとエラーハンドリングを追加- 適切なリクエスト/レスポンスハンドリングでエンドポイントをテスト
詳細ガイド: references/rest-api-patterns.md
データベース操作の実装
ステップ:
- データベーススキーマを設計してテーブルを作成
- モデル生成:
goctl model mysql datasource -url="..." -table="users" -dir="./model" internal/svc/service_context.goのServiceContextにモデルをインジェクト- ロジックレイヤーでsqlxメソッド(
Insert、FindOne、Update、Delete)を使用 ctxの伝搬で適切にトランザクションとエラーを処理
詳細ガイド: references/database-patterns.md
ミドルウェアの追加
ステップ:
internal/middleware/ディレクトリでミドルウェア関数を作成.apiファイルでミドルウェアを定義するか、プログラムで登録- 認証/認可ロジックを実装
r.Context()を通して検証済みデータを渡す- 適切なHTTPステータスコードでエラーを処理
詳細ガイド: references/rest-api-patterns.md
RPCサービスの構築
ステップ:
.protoファイルにメッセージとRPCを使用してサービスを定義- コード生成:
goctl rpc protoc user.proto --go_out=. --go-grpc_out=. --zrpc_out=. internal/logic/でサービスロジックを実装- サービスディスカバリー(etcd/consul/kubernetes)を設定
- RPCクライアントでテストしてエラーを処理
詳細ガイド: references/rpc-patterns.md
⚡ 主要原則
go-zeroコードを生成またはレビューする場合、常にこれらの原則を適用してください:
✅ 常に従う
- 3層の分離: ハンドラ(ルーティング) → ロジック(ビジネス) → モデル(データ)を明確に区別
- 構造化エラー:
fmt.Errorfの代わりに HTTPエラーにはhttpx.Error(w, err)を使用 - 設定:
conf.MustLoad(&c, *configFile)でロードし、ServiceContextを通してインジェクト - コンテキスト伝搬: トレーシングとキャンセルのため、すべてのレイヤーを通して
ctx context.Contextを渡す - タイプセーフティ:
.apiファイルでリクエスト/レスポンスタイプを定義し、goctlで生成 - goctl生成: ボイラープレートを生成するのに常に
goctlを使用し、ハンドラ/ルートを手書きしない
❌ しないこと
- ハンドラに直接ビジネスロジックを配置(3層アーキテクチャに違反)
httpxヘルパーの代わりにw.Write()またはfmt.Fprintf()で生のエラーを返す- ポート、ホスト、データベース認証情報を設定値にハードコード
- ユーザー入力の検証をスキップするか、
err != nilのチェックを忘れる - 生成されたコードを修正(代わりに
logicレイヤーを通してカスタマイズ) - ServiceContextインジェクション(密結合とテストの問題につながる)をバイパス
📖 段階的学習パス
必要に応じて、このパスに従ってください:
🟢 go-zeroが初めてですか?
-
ここから開始: go-zero公式クイックスタート go-zeroをインストール、最初のAPIを作成、基本的な概念を理解
-
データベースを追加:
references/database-patterns.mdMySQL/PostgreSQLに接続、モデルを生成、CRUDを実装
🟡 プロダクションサービスを構築していますか?
-
ベストプラクティスをレビュー:
best-practices/overview.md設定、ロギング、監視、セキュリティチェックリスト -
レジリエンスを追加:
references/resilience-patterns.mdサーキットブレーカー、レート制限、グレースフルな機能低下 -
一般的な落とし穴を確認:
troubleshooting/common-issues.md典型的な間違いを回避し、問題をデバッグする方法を知る
🔵 機能を拡張していますか?
-
Claude Codeで使用:
getting-started/claude-code-guide.mdサブエージェント、動的コンテキスト、引数渡しなどの高度な機能を学習 環境を検証するためにデモプロジェクトを実行 -
知識を検証:
examples/verify-tutorial.sh例が正しく機能しているかチェックするスクリプト
🔗 go-zero AIエコシステムとの統合
このスキルは、AIを支援するgo-zero開発のための2層エコシステムの一部です:
| ツール | 目的 | 最適なのは |
|---|---|---|
| ai-context | 簡潔なワークフロー手順(約5KB) | GitHub Copilot、Cursor、Windsurf |
| zero-skills(このリポジトリ) | 包括的な知識ベース + goctlリファレンス(約45KB) | すべてのAIツール、深い学習、リファレンス |
AIはコード生成のためターミナルで goctl を直接実行します — 別のMCPサーバーは必要ありません。完全なコマンドリファレンスについては references/goctl-commands.md を参照してください。
Claude Codeでの使用:
- go-zeroプロジェクトを操作する場合、このスキルは自動的にロードされます
- go-zeroのガイダンスについて
/zero-skillsを使用してアマノジュアルに起動します - AIはコード生成のためターミナルでgoctlコマンドを直接実行します
- 必要に応じて特定のパターンファイルを参照してください(Claudeはオンデマンドでロードします)
詳細な使用方法については getting-started/claude-code-guide.md を参照してください。
🌐 その他のリソース
- 公式ドキュメント: go-zero.dev - 最新のAPIリファレンスとガイド
- GitHub: zeromicro/go-zero - ソースコードとサンプル
- コミュニティ: メインリポジトリでのディスカッション、イシュー、コントリビューション
📝 バージョン互換性
- 目標バージョン: go-zero 1.5+
- Goバージョン: Go 1.19以降が推奨
- 更新: フレームワークの進化を反映するため、パターンは定期的に更新
- 破壊的変更: バージョン間のAPI変更については公式ドキュメントを確認
クイック起動: /zero-skills を使用するか、「go-zeroで[タスク]を実行するにはどうしたらいいですか?」と聞いてください
ヘルプが必要ですか? 詳細な例と説明については、特定のパターンガイドを参照してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- zeromicro
- ライセンス
- MIT
- 最終更新
- 2026/4/26
Source: https://github.com/zeromicro/zero-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。