Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

golang-documentation

Golangプロジェクト向けの包括的なドキュメントガイドで、godocコメント、README、CONTRIBUTING、CHANGELOG、Go Playground、Exampleテスト、APIドキュメント、llms.txtを網羅しています。ドキュメントコメントの作成・レビュー、コード例の追加、ドキュメントサイトの構築、ドキュメントのベストプラクティス検討の際に使用してください。ライブラリとアプリケーション/CLIの両方に対応しています。

description の原文を見る

Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example tests, API docs, and llms.txt. Use when writing or reviewing doc comments, documentation, adding code examples, setting up doc sites, or discussing documentation best practices. Triggers for both libraries and applications/CLIs.

SKILL.md 本文

ペルソナ: あなたは Go のテクニカルライターであり API デザイナーです。ドキュメントを一流の成果物として扱い、正確で例で示され、このコードベースを初めて見る読者を想定して書きます。

モード:

  • 作成モード — ドキュメント(doc コメント、README、CONTRIBUTING、CHANGELOG、llms.txt)の作成または欠落部分の埋め込み。ステップ 2 のチェックリストを順に進めるか、サブエージェントを使用してパッケージ/ファイル間で並列化します。
  • レビューモード — 既存のドキュメントを完全性、正確性、スタイルについて監査します。最大 5 つの並列サブエージェントを使用します。ドキュメント層ごとに 1 つ(doc コメント、README、CONTRIBUTING、CHANGELOG、ライブラリ固有の追加機能)。

コミュニティデフォルト。 samber/cc-skills-golang@golang-documentation スキルを明示的に置き換える企業スキルが優先されます。

Go ドキュメント

人間と AI エージェント両者に対応するドキュメントを作成します。優れたドキュメントはコードを発見可能、理解可能、保守可能にします。

クロスリファレンス

doc コメントの命名規則については samber/cc-skills-golang@golang-naming スキルを参照してください。Example テスト関数については samber/cc-skills-golang@golang-testing スキルを参照してください。ドキュメントファイルの配置については samber/cc-skills-golang@golang-project-layout スキルを参照してください。

ステップ 1: プロジェクトタイプの判定

ドキュメント作成前に、プロジェクトタイプを判定します — 必要なドキュメントが変わります:

ライブラリmain パッケージなし、他のプロジェクトにインポートされることを想定:

  • godoc コメント、ExampleXxx 関数、Playground デモ、pkg.go.dev レンダリングに焦点を当てます
  • ライブラリドキュメントを参照してください

アプリケーション/CLImain パッケージ、cmd/ ディレクトリを持ち、バイナリまたは Docker イメージを生成:

  • インストール手順、CLI ヘルプテキスト、設定ドキュメントに焦点を当てます
  • アプリケーションドキュメントを参照してください

両方が適用: 関数コメント、README、CONTRIBUTING、CHANGELOG。

アーキテクチャドキュメント: 複雑なプロジェクトの場合、docs/ ディレクトリと設計説明書を使用します。

ステップ 2: ドキュメントチェックリスト

すべての Go プロジェクトに必要な項目(優先順):

項目必須ライブラリアプリケーション
エクスポートされた関数の Doc コメントYesYesYes
パッケージコメント(// Package foo...)— 必須YesYesYes
README.mdYesYesYes
LICENSEYesYesYes
始めましょう / インストールYesYesYes
動作するコード例YesYesYes
CONTRIBUTING.mdRecommendedYesYes
CHANGELOG.md または GitHub ReleasesRecommendedYesYes
Example テスト関数(ExampleXxxRecommendedYesNo
Go Playground デモRecommendedYesNo
API ドキュメント(OpenAPI など)If applicableMaybeMaybe
ドキュメント Web サイトLarge projectsMaybeMaybe
llms.txtRecommendedYesYes

プライベートプロジェクトの場合、ドキュメント Web サイト、llms.txt、Go Playground デモが不要な場合があります。

ドキュメント作業の並列化

多くのパッケージがある大規模コードベースをドキュメント化する場合、最大 5 つの並列サブエージェント(Agent ツール経由)を独立したタスクに割り当てます:

  • 各サブエージェントに異なるパッケージセットの doc コメントを確認・修正するよう割り当てます
  • 複数のパッケージに対して ExampleXxx テスト関数を同時に生成します
  • プロジェクトドキュメントを並列生成します:ファイルごとに 1 つのサブエージェント(README、CONTRIBUTING、CHANGELOG、llms.txt)

ステップ 3: 関数とメソッドの Doc コメント

すべてのエクスポートされた関数とメソッドは doc コメントを持つ必要があります。複雑な内部関数も文書化してください。テスト関数はスキップしてください。

コメントは関数名と動詞句で始まります。なぜいつに焦点を当て、コードが既に示しているもの繰り返さないでください。コードが何が起こるかを示します — コメントは、なぜそれが存在するのか、いつ使用するのか、どのような制約が適用されるのか、何が間違える可能性があるのかを説明すべきです。パラメータ、戻り値、エラーケース、使用例を含めます:

// CalculateDiscount computes the final price after applying tiered discounts.
// Discounts are applied progressively based on order quantity: each tier unlocks
// additional percentage reduction. Returns an error if the quantity is invalid or
// if the base price would result in a negative value after discount application.
//
// Parameters:
//   - basePrice: The original price before any discounts (must be non-negative)
//   - quantity: The number of units ordered (must be positive)
//   - tiers: A slice of discount tiers sorted by minimum quantity threshold
//
// Returns the final discounted price rounded to 2 decimal places.
// Returns ErrInvalidPrice if basePrice is negative.
// Returns ErrInvalidQuantity if quantity is zero or negative.
//
// Play: https://go.dev/play/p/abc123XYZ
//
// Example:
//
//	tiers := []DiscountTier{
//	    {MinQuantity: 10, PercentOff: 5},
//	    {MinQuantity: 50, PercentOff: 15},
//	    {MinQuantity: 100, PercentOff: 25},
//	}
//	finalPrice, err := CalculateDiscount(100.00, 75, tiers)
//	if err != nil {
//	    log.Fatalf("Discount calculation failed: %v", err)
//	}
//	log.Printf("Ordered 75 units at $100 each: final price = $%.2f", finalPrice)
func CalculateDiscount(basePrice float64, quantity int, tiers []DiscountTier) (float64, error) {
    // implementation
}

完全なコメント形式、非推奨マーカー、インターフェースドキュメント、ファイルレベルコメントについては、Code Comments を参照してください — パッケージ、関数、インターフェースをドキュメント化する方法、および Deprecated: マーカーと BUG: ノートを使用する場合。

ステップ 4: README 構造

README はこの正確なセクション順序に従うべきです。templates/README.md からテンプレートをコピーします:

  1. タイトル# heading としてのプロジェクト名
  2. バッジ — shields.io ピクトグラム(Go バージョン、ライセンス、CI、カバレッジ、Go Report Card...)
  3. 概要 — プロジェクトが何をするのかを説明する 1-2 文
  4. デモ — コードスニペット、GIF、スクリーンショット、またはプロジェクトの動作を示すビデオ
  5. 始めましょう — インストール + 最小限の動作例
  6. 機能 / 仕様 — 詳細な機能リストまたは仕様(非常に長いセクション)
  7. 貢献 — CONTRIBUTING.md へのリンクまたは非常に短い場合はインライン
  8. 貢献者 — 貢献者に感謝(バッジまたはリスト)
  9. ライセンス — ライセンス名 + リンク

Go プロジェクト用の一般的なバッジ:

[![Go Version](https://img.shields.io/github/go-mod/go-version/{owner}/{repo})](https://go.dev/) [![License](https://img.shields.io/github/license/{owner}/{repo})](./LICENSE) [![Build Status](https://img.shields.io/github/actions/workflow/status/{owner}/{repo}/test.yml?branch=main)](https://github.com/{owner}/{repo}/actions) [![Coverage](https://img.shields.io/codecov/c/github/{owner}/{repo})](https://codecov.io/gh/{owner}/{repo}) [![Go Report Card](https://goreportcard.com/badge/github.com/{owner}/{repo})](https://goreportcard.com/report/github.com/{owner}/{repo}) [![Go Reference](https://pkg.go.dev/badge/github.com/{owner}/{repo}.svg)](https://pkg.go.dev/github.com/{owner}/{repo})

完全な README ガイダンスとアプリケーション固有のセクションについては、Project Docs を参照してください。

ステップ 5: CONTRIBUTING とチェンジログ

CONTRIBUTING.md — 貢献者が 10 分以内に始められるようにサポートします。含める内容:前提条件、クローン、ビルド、テスト、PR プロセス。セットアップに 10 分以上かかる場合は、プロセスを改善する必要があります:Makefile、docker-compose、またはdevcontainer を追加して簡素化します。Project Docs を参照してください。

チェンジログKeep a Changelog 形式または GitHub Releases を使用してチェンジログを追跡します。templates/CHANGELOG.md からテンプレートをコピーします。Project Docs を参照してください。

ステップ 6: ライブラリ固有のドキュメント

Go ライブラリの場合、基本機能に加えて以下を追加します:

  • Go Playground デモ — 実行可能なデモを作成し、// Play: https://go.dev/play/p/xxx を使用して doc コメント内にリンクします。利用可能な場合は go-playground MCP ツールを使用して Playground URL を作成・共有します。
  • Example テスト関数_test.go ファイルに func ExampleXxx() を作成します。これらは go test で検証される実行可能なドキュメントです。
  • 豊富なコード例 — doc コメントに複数の例を含めて、一般的な使用例を示します。
  • godoc — doc コメントは pkg.go.dev にレンダリングされます。go doc をローカルでプレビューに使用します。
  • ドキュメント Web サイト — 大規模なライブラリの場合、Docusaurus または MkDocs Material を検討してください(セクション:Getting Started、Tutorial、How-to Guides、Reference、Explanation)。
  • 登録して発見可能性を向上 — Context7、DeepWiki、OpenDeep、zRead に追加します。プライベートライブラリの場合も含めます。

詳細については ライブラリドキュメント を参照してください。

ステップ 7: アプリケーション固有のドキュメント

Go アプリケーション/CLI の場合:

  • インストール方法 — プリビルドバイナリ(GoReleaser)、go install、Docker イメージ、Homebrew...
  • CLI ヘルプテキスト--help を包括的にします。これはプライマリドキュメントです
  • 設定ドキュメント — すべての環境変数、設定ファイル、CLI フラグをドキュメント化します

詳細については アプリケーションドキュメント を参照してください。

ステップ 8: API ドキュメント

プロジェクトが API を公開する場合:

API スタイル形式ツール
REST/HTTPOpenAPI 3.xswaggo/swag(アノテーションから自動生成)
Event-drivenAsyncAPI手動またはコード生成
gRPCProtobufbuf, grpc-gateway

可能な場合、コードアノテーションからの自動生成を優先します。詳細については アプリケーションドキュメント を参照してください。

ステップ 9: AI フレンドリーなドキュメント

プロジェクトを AI エージェントで使用できるようにします:

  • llms.txt — リポジトリのルートに llms.txt ファイルを追加します。templates/llms.txt からテンプレートをコピーします。このファイルは LLM にプロジェクトの構造化概要を提供します。
  • 構造化形式 — OpenAPI、AsyncAPI、または protobuf を機械読み取り可能 API ドキュメント用に使用します。
  • 一貫した doc コメント — よく構造化された godoc コメントは AI ツールで容易に解析できます。
  • 明確性 — 明確でよく構造化されたドキュメントは AI エージェントがプロジェクトを迅速に理解するのに役立ちます。

ステップ 10: 配布ドキュメント

ユーザーがプロジェクトを取得する方法をドキュメント化します:

ライブラリ:

go get github.com/{owner}/{repo}

アプリケーション:

# Pre-built binary
curl -sSL https://github.com/{owner}/{repo}/releases/latest/download/{repo}-$(uname -s)-$(uname -m) -o /usr/local/bin/{repo}

# From source
go install github.com/{owner}/{repo}@latest

# Docker
docker pull {registry}/{owner}/{repo}:latest

Dockerfile のベストプラクティスと Homebrew tap セットアップについては Project Docs を参照してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
samber
リポジトリ
samber/cc-skills-golang
ライセンス
MIT
最終更新
不明

Source: https://github.com/samber/cc-skills-golang / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: samber · samber/cc-skills-golang · ライセンス: MIT