AgentSkillsCN

create-issue

创建 GitHub 问题的能力。在确认与产品理念的一致性并进行重复项检查后,提交具有恰当结构和标签的问题。

SKILL.md
--- frontmatter
name: create-issue
description: GitHub Issue を作成するスキル。プロダクト哲学との整合性を確認し、重複チェックを行った上で、適切な構造とラベルを持つIssueを起票する。
allowed-tools: Bash(gh issue:*), Read, Glob

Issue作成スキル

このスキルは、GitHub Issue を作成するためのワークフローです。プロダクト哲学との整合性を確認し、既存のIssueやADRとの重複を防ぎ、一貫した構造のIssueを起票します。

以下のステップを必ず順番通りに実行してください。


ステップ1: Issueの内容を整理する

ユーザーから受け取った情報をもとに、以下を整理してください:

  • 何を報告・提案するのか: 問題の内容または提案する機能
  • なぜそれが必要か: 背景や動機
  • カテゴリの判断: 以下のどれに該当するか

カテゴリとラベルの対応

カテゴリラベル判断基準
バグ報告bug既存の機能が期待通りに動作しない
機能提案enhancement新しい機能の追加、または既存機能の改善
ドキュメントdocumentationドキュメントの追加・修正
質問question仕様や設計に関する議論・質問

注意: AIが作成するIssueには、上記のラベルに加えて created-by-ai ラベルを必ず付与してください。


ステップ2: プロダクト哲学との整合性を確認する

機能提案(enhancement)の場合のみ、このステップを実行してください。バグ報告やドキュメントの場合はステップ3に進んでください。

CLAUDE.md に記載された3つの判断基準を適用してください:

  1. それがなくても目的は達成できないか? → 達成できるなら、Issueを作成しない
  2. 説明なしで使い方がわかるか? → わからないなら、設計を見直す
  3. ユーザーの思考を中断させないか? → 中断させるなら、やり方を変える

また、以下の「やってはいけないこと」に該当しないか確認してください:

  • 機能の肥大化(「便利そう」という理由だけの機能追加)
  • カスタマイズ設定の追加(ユーザーに選択を強いる)
  • ワークフローの強制(特定の使い方を押し付ける)
  • 複雑な整理機能(シンプルさを損なう階層化やタグ付けの過剰導入)
  • 学習を要するUI(説明が必要なインターフェース)

哲学に反すると判断した場合: ユーザーにその旨を説明し、Issueの作成を見送るか、ADR作成スキル(/create-adr)で「実装しない」判断を記録することを提案してください。


ステップ3: 重複チェック

3-a: 既存Issueの確認

Bashツールで以下を実行し、既存のIssueと重複がないか確認してください:

bash
gh issue list --state open --limit 100

類似する内容のIssueが存在する場合は、ユーザーに報告し、以下のいずれかを提案してください:

  • 既存Issueにコメントを追加する
  • 既存Issueとは異なる観点であることを確認して新規作成する
  • 作成を見送る

3-b: ADRの確認

docs/adr/ ディレクトリ内のADRファイルを確認し、過去に検討済み・却下済みの提案と重複していないかチェックしてください。

ADRで既に却下されている内容と重複する場合は、ユーザーにその旨を報告し、該当するADRの番号と判断理由を伝えてください。


ステップ4: Issueの作成

重複がなく、プロダクト哲学との整合性が確認できたら、Issueを作成してください。

カテゴリ別のIssueテンプレート

カテゴリに応じて以下のテンプレートを使用してください。

バグ報告(bug

bash
gh issue create --title "Issueタイトル" --body "$(cat <<'EOF'
## 現象

[何が起きているかを具体的に記述]

## 再現手順

1. [手順1]
2. [手順2]
3. [手順3]

## 期待する動作

[本来どう動作すべきか]

## 実際の動作

[実際にはどう動作しているか]

## 補足

[スクリーンショット、エラーログ、環境情報など]
EOF
)" --label "bug,created-by-ai"

機能提案(enhancement

bash
gh issue create --title "Issueタイトル" --body "$(cat <<'EOF'
## 概要

[何をなぜ行うかの説明]

## 提案

[具体的な提案内容]

## プロダクト哲学との整合

[5つのコア原則のうち、どれに関連するかを記載]
- **関連する原則名**: [どう整合するかの説明]
EOF
)" --label "enhancement,created-by-ai"

ドキュメント(documentation

bash
gh issue create --title "Issueタイトル" --body "$(cat <<'EOF'
## 概要

[何をなぜ行うかの説明]

## 対象

[追加・修正対象のドキュメントやファイル]

## 内容

[具体的に何を記載・修正すべきか]
EOF
)" --label "documentation,created-by-ai"

Issueタイトルのルール

  • 日本語で記述する(既存Issueとの一貫性を保つ)
  • 簡潔かつ具体的に: 何をするか/何が問題かが一目でわかるタイトルにする
  • 動詞で始める(機能提案の場合): 例「〜を追加する」「〜を表示する」「〜を改善する」
  • 現象を記述する(バグの場合): 例「〜すると〜が起きる」「〜が表示されない」

良い例:

  • ブラウザタブにページタイトルを動的に表示する
  • サーバーを再起動するとページ内容が消える

悪い例:

  • タイトル機能 (曖昧)
  • Fix bug (内容が不明)
  • UIの改善案 (具体性がない)

ステップ5: 作成結果の報告

Issueの作成が完了したら、以下の情報をユーザーに報告してください:

  • Issue番号とURL
  • タイトル
  • 付与したラベル

補足: 複数Issueの一括作成

ユーザーから複数のIssueを一度に作成するよう依頼された場合:

  1. すべてのIssueについてステップ1〜3を先に実施する
  2. 問題がなければ、ステップ4で1つずつ順番に作成する
  3. 依存関係がある場合は、Issue本文内で相互参照する(例: #104 の完了後に着手
  4. 最後にすべての作成結果をまとめて報告する