# Shiiman Go:check

> Go プロジェクトの品質を総合チェックする。「Go チェック」「go check」「コード品質チェック」「lint して」「テスト実行」「脆弱性スキャン」「パフォーマンス確認」「コードレビュー」「品質確認」「総合診断」などで起動。テスト・静的解析・脆弱性スキャン・ベンチマーク・コードレビューを並列実行し統合レポートを出力。

- Skill: `shiiman/shiiman-go-check` (Agent Skill)
- Install (CLI): `npx skillmds@latest add shiiman/shiiman-go-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shiiman/shiiman-go-check/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: shiiman (https://skillmd.com/u/shiiman)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/shiiman/shiiman-go-check

---


# Go Code Quality Checker

Go プロジェクトの品質を総合的にチェックします。
5つのチェックを Task サブエージェントで並列実行し、統合レポートを出力します。

## Help

`$ARGUMENTS` に `--help` が含まれる場合、以下を表示して終了:

```text
/shiiman-go:check - Go Code Quality Checker

概要:
  Go プロジェクトの品質を総合的にチェックします。

使用方法:
  /shiiman-go:check [オプション]

オプション:
  --help  このヘルプを表示
```

## ワークフロー

### 1. 事前確認

以下を確認:

- Go プロジェクト（go.mod）の存在
- タスクランナー（Makefile / Taskfile.yml）の有無
- Benchmark テスト（`func Benchmark` を含むファイル）の有無

### 2. 並列チェック実行

以下の5つのチェックを **Task ツールで並列起動** する。
**必ず1つのメッセージで全ての Task を同時に呼び出すこと。**

#### チェック 1: テスト（subagent_type: Bash）

```
go test -race -cover ./...
```

タスクランナーに test タスクがあればそちらを優先。

#### チェック 2: 静的解析（subagent_type: Bash）

```
golangci-lint run ./...
```

タスクランナーに lint タスクがあればそちらを優先。
golangci-lint がなければ `go vet ./...` にフォールバック。

#### チェック 3: 脆弱性スキャン（subagent_type: Bash）

```
govulncheck ./...
```

govulncheck がインストールされていない場合は `go install golang.org/x/vuln/cmd/govulncheck@latest` を先に実行。

#### チェック 4: ベンチマーク（subagent_type: Bash）

```
go test -bench=. -benchmem ./...
```

Benchmark テストが存在する場合のみ実行。存在しない場合はスキップ。

#### チェック 5: コードレビュー（subagent_type: general-purpose）

以下の観点で変更ファイルまたはプロジェクト全体をレビュー:

- Effective Go 準拠（命名規則、エラーハンドリング、インターフェース設計）
- Go Code Review Comments 準拠
- goroutine リーク、レースコンディション、デッドロックのリスク
- defer の適切な使用
- パフォーマンス上の懸念（不要なアロケーション、N+1 等）

### 3. 統合レポート出力

全チェック完了後、以下の形式で結果をまとめて出力:

```
## Go Check 結果

| チェック項目 | 結果 | 詳細 |
|-------------|------|------|
| テスト       | ✅/❌ | カバレッジ率、失敗テスト数 |
| 静的解析     | ✅/⚠️ | 検出された問題数と内訳 |
| 脆弱性       | ✅/⚠️ | 検出された脆弱性数 |
| ベンチマーク | ℹ️/⏭️ | 主要なベンチマーク結果 or スキップ |
| コードレビュー | ✅/⚠️ | 指摘事項数と優先度 |
```

### 4. 改善提案

問題が検出された場合、優先度順に改善提案を提示:

1. **Critical**: テスト失敗、脆弱性
2. **Warning**: lint エラー、コードレビュー指摘
3. **Info**: ベンチマーク結果、最適化提案

## 重要な注意事項

- ✅ 5つのチェックは必ず Task で並列起動する（順番に実行しない）
- ✅ タスクランナーがあればそちらを優先する
- ✅ ベンチマークテストがない場合はスキップする
- ✅ 結果は統合レポートとしてまとめて出力する
- ❌ チェック結果を1つずつ個別に報告しない

