implement-issue について
implement-issue は、Gitee Issue を起点に開発を進める開発者向けのスキルです。要件分析から実装、PR 作成、Issue の更新までを一連の手順にまとめます。
主な機能
- 01Issue 詳細とコメントの取得
- 02要件と範囲の分析
- 03コード変更の支援
- 04Issue への進捗投稿
- 05PR の作成と関連付け
活用シーン
- 01Gitee Issue から開発を開始
- 02着手前に担当状況と議論を確認
- 03実装を提出して Issue と関連付け
MCP 対応
Gitee MCP ツールで Issue の取得、PR とコメントの作成、Issue ステータスの更新を行います。コーディングエージェントがソースを読み書きするため、ローカルリポジトリも必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oschina/ gitee-agent-skills --skill implement-issueインストール後、Claude Code で/implement-issueを入力して読み込まれたか確認します。
詳細
注:ローカルに
mcporterがインストールされている場合は、MCP ツールを直接呼び出すのではなく、mcporterを使用して MCP ツールを呼び出してください。mcporterCLI は、より便利なインターフェースと優れたエラー処理を提供します。
Gitee MCP を使って Issue を実装する
Gitee Issue を起点に、要件分析 → コーディング → PR の作成 → Issue へのリンクまで、開発ループ全体を完了します。
前提条件
- Gitee MCP Server が設定されていること(ツール:
get_repo_issue_detail、list_repo_issues、create_pull、create_comment(resource_type: issue)、update_issue) - ユーザーがリポジトリのオーナー、リポジトリ名、Issue 番号を指定すること(または一覧から選択すること)
- ローカルリポジトリのパス:このスキルは、対象 Issue のリポジトリをローカルにチェックアウトした状態で実行する必要があります。または、ユーザーがリポジトリのクローン先のローカルパスを指定する必要があります。コーディングエージェントがソースファイルを読み取り、変更するために必要です。
手順
ステップ 1:Issue の詳細を取得する
get_repo_issue_detail を使用して、Issue の全情報を取得します。
- タイトルと説明全文
- ラベル(feature/bug/enhancement など)
- 優先度とマイルストーン
- 既存のコメント(議論の文脈を把握するため)
また、list_comments(resource_type: issue)を使用してコメントを確認し、以下を確認します。
- 既存の技術設計に関する議論
- 関連する背景情報
- 他の人がすでに取り組んでいるかどうか
ステップ 2:要件を分析する
Issue の内容に基づいて、要件分析を作成します。
## Requirements Analysis: [Issue title]
**Type**: [Feature / Bug Fix / Performance / Other]
**Goal**:
[One sentence describing what needs to be implemented]
**Scope** (estimated):
- [Modules / files likely involved]
- [APIs / database tables likely involved]
**Implementation Plan**:
1. [Step 1]
2. [Step 2]
3. [Step 3]
**Potential Risks**:
- [Things to watch out for]
**Acceptance Criteria**:
- [ ] [Criterion 1]
- [ ] [Criterion 2]
ステップ 3:実装を支援する
要件分析に基づき、以下の方法でユーザーを支援します。
- 具体的なコード実装のアプローチを提示する
- 主要なロジックのコード例を示す
- 変更が必要なファイルを指摘する
ユーザーがすでにコーディングを完了している場合は、次のステップに進みます。
ステップ 4:Issue に進捗を記録する
create_comment(resource_type: issue)を使用して、Issue に進捗を投稿します。
Starting work on this issue. Expected changes:
- [Main change 1]
Implementation approach:
[Brief summary]
これにより、ほかのコントリビューターに状況を知らせ、作業の重複を防ぎます。
ステップ 5:関連付けられた PR を作成する
create_pull を使用して PR を作成します。PR の説明には、以下を含めてください。
- 変更の概要
- 実装アプローチの概要
- テストに関するメモ
closes #[issue number](マージ時に関連する Issue を自動的にクローズするため)
ステップ 6:Issue を更新する
PR の作成後、次の操作を行います。
create_comment(resource_type: issue)を使用して、PR のリンクを Issue に投稿する- Issue のステータスを更新する必要がある場合は、
update_issueを使用して変更する
コメントのテンプレート:
PR #[PR number] has been created to address this issue.
Please review: [PR link]
注意事項
- 作業を始める前に、Issue がほかの人に割り当てられていないことを確認してください(担当者を確認)
- 重要な設計上の判断については、コーディングを始める前に Issue のコメントで議論し、合意を得てください
- PR の説明に
closes #N構文を記載すると、PR のマージ時に Issue が自動的にクローズされます