Skip to content

Commit 82b1bc3

Browse files
authored
Merge pull request #5 from chippy-ao/001-redmine-skill
feat(redmine): MCP→redmine-cli移行+複数プロファイル対応
2 parents 09769b8 + 9aa12e4 commit 82b1bc3

9 files changed

Lines changed: 542 additions & 0 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
"name": "law-study",
99
"source": "./law-study",
1010
"description": "e-Gov法令APIを活用した法令勉強支援プラグイン。キーワード検索で法令を探し、AIによる要約・質問応答で学習を支援。"
11+
},
12+
{
13+
"name": "redmine",
14+
"source": "./redmine",
15+
"description": "redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。プロファイル管理で複数の Redmine サーバーを横断操作。"
1116
}
1217
]
1318
}

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33

44
# brain storming
55
docs/plans/*
6+
7+
specs/
8+
.specify/
9+
.claude/skills/speckit*/

CLAUDE.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# claude-code Development Guidelines
2+
3+
Auto-generated from all feature plans. Last updated: 2026-02-25
4+
5+
## Active Technologies
6+
7+
- Markdown (SKILL.md) + JSON (plugin.json) + redmine-cli(Go CLI、`brew install chippy-ao/tap/redmine-cli`) (001-redmine-skill)
8+
9+
## Project Structure
10+
11+
```text
12+
src/
13+
tests/
14+
```
15+
16+
## Commands
17+
18+
# Add commands for Markdown (SKILL.md) + JSON (plugin.json)
19+
20+
## Code Style
21+
22+
Markdown (SKILL.md) + JSON (plugin.json): Follow standard conventions
23+
24+
## Recent Changes
25+
26+
- 001-redmine-skill: Added Markdown (SKILL.md) + JSON (plugin.json) + redmine-cli(Go CLI、`brew install chippy-ao/tap/redmine-cli`
27+
28+
<!-- MANUAL ADDITIONS START -->
29+
<!-- MANUAL ADDITIONS END -->

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ Claude Code 用のプラグイン集
1515
```bash
1616
# law-studyプラグイン
1717
/plugin install law-study@chippy-ao-plugins
18+
19+
# redmineプラグイン
20+
/plugin install redmine@chippy-ao-plugins
1821
```
1922

2023
### 3. 確認
@@ -30,6 +33,7 @@ Claude Code 用のプラグイン集
3033
| プラグイン | 説明 |
3134
|------------|------|
3235
| [law-study](./law-study/) | e-Gov法令APIを活用した法令勉強支援。キーワード検索・要約・質問応答 |
36+
| [redmine](./redmine/) | redmine-cli を活用したチケット検索・閲覧・分析支援。複数サーバー横断操作対応 |
3337

3438
## 使い方
3539

@@ -52,6 +56,31 @@ e-Gov法令APIを使った法令勉強支援。
5256

5357
詳細は [law-study/README.md](./law-study/README.md) を参照。
5458

59+
### redmine
60+
61+
redmine-cli を使ったチケット検索・閲覧・分析支援。
62+
63+
```text
64+
# プロファイル設定
65+
redmine:config
66+
67+
# キーワードを指定して検索
68+
redmine:search ログイン機能のバグ
69+
70+
# プロジェクト状況分析
71+
redmine:analyze
72+
```
73+
74+
**できること**:
75+
- プロファイル管理(複数 Redmine サーバーの接続設定)
76+
- チケット検索(キーワード、プロジェクト、ステータス、担当者等)
77+
- チケット詳細・コメント履歴の表示
78+
- チケット分析(ステータス別集計、担当者負荷、期限切れ警告)
79+
80+
**前提条件**: [redmine-cli](https://github.com/chippy-ao/redmine-cli) のインストールが必要。
81+
82+
詳細は [redmine/README.md](./redmine/README.md) を参照。
83+
5584
## ライセンス
5685

5786
MIT

redmine/.claude-plugin/plugin.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "redmine",
3+
"version": "2.0.0",
4+
"description": "redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。プロファイル管理で複数の Redmine サーバーを横断操作。",
5+
"author": {
6+
"name": "chippy-ao"
7+
},
8+
"license": "MIT",
9+
"keywords": [
10+
"redmine",
11+
"ticket",
12+
"issue-tracking",
13+
"project-management",
14+
"cli"
15+
]
16+
}

redmine/README.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# redmine
2+
3+
redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。
4+
複数の Redmine サーバーをプロファイルで横断操作できる。
5+
6+
## 前提条件
7+
8+
- [redmine-cli](https://github.com/chippy-ao/redmine-cli) がインストールされていること
9+
- Redmine 5.1.0 以上のサーバーにアクセス可能であること
10+
- Redmine REST API キーを取得済みであること
11+
12+
### redmine-cli のインストール
13+
14+
**macOS (Homebrew):**
15+
16+
```bash
17+
brew install chippy-ao/tap/redmine-cli
18+
```
19+
20+
**Windows:**
21+
22+
1. [GitHub Releases](https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロード
23+
2. ZIP を展開し、`redmine-cli.exe` を取得
24+
3. コマンドプロンプトか PowerShell で `redmine-cli.exe` があるフォルダから実行:
25+
26+
```powershell
27+
.\redmine-cli.exe config add work --url https://redmine.example.com --api-key YOUR_API_KEY
28+
.\redmine-cli.exe search --keyword "バグ" --status open
29+
```
30+
31+
4. (任意)PATH を通すとどこからでも実行可能:
32+
- Win + X →「システム」→「システムの詳細設定」→「環境変数」
33+
- `Path` を選んで「編集」→「新規」で `redmine-cli.exe` があるフォルダのパスを追加
34+
- コマンドプロンプトを再起動
35+
36+
**go install:**
37+
38+
```bash
39+
go install github.com/chippy-ao/redmine-cli@latest
40+
```
41+
42+
## プラグインのインストール
43+
44+
```bash
45+
/plugin install redmine@chippy-ao-plugins
46+
```
47+
48+
## セットアップ
49+
50+
プロファイルを対話的に設定:
51+
52+
```text
53+
redmine:config
54+
```
55+
56+
または CLI で直接設定:
57+
58+
```bash
59+
redmine-cli config add work --url https://redmine.example.com --api-key YOUR_API_KEY
60+
```
61+
62+
## 使い方
63+
64+
### チケット検索
65+
66+
```text
67+
redmine:search ログイン機能のバグ
68+
```
69+
70+
または引数なしで対話的に開始:
71+
72+
```text
73+
redmine:search
74+
```
75+
76+
### プロジェクト状況分析
77+
78+
```text
79+
redmine:analyze
80+
```
81+
82+
### プロファイル管理
83+
84+
```text
85+
redmine:config
86+
```
87+
88+
## 機能一覧
89+
90+
| スキル | 説明 |
91+
|--------|------|
92+
| `redmine:config` | プロファイルの追加・一覧・デフォルト変更・削除 |
93+
| `redmine:search` | キーワード・プロジェクト・ステータス・担当者等でチケット検索、詳細表示 |
94+
| `redmine:analyze` | ステータス別集計、担当者負荷、期限切れ警告、優先度分布 |
95+
96+
## 複数の Redmine サーバーを使う
97+
98+
プロファイルを複数登録して切り替え:
99+
100+
```bash
101+
redmine-cli config add work --url https://redmine-work.example.com --api-key KEY1
102+
redmine-cli config add oss --url https://redmine-oss.example.com --api-key KEY2
103+
redmine-cli config set-default work
104+
```
105+
106+
`redmine:search``redmine:analyze` 起動時に、使用するプロファイルを選択できる。
107+
複数プロファイルを同時に選択して横断検索することも可能。
108+
109+
## 制約
110+
111+
- 読み取り専用(チケットの作成・更新・削除は不可)
112+
- 1リクエストあたり最大 100 件の取得制限
113+
114+
## ライセンス
115+
116+
MIT

redmine/skills/analyze/SKILL.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
name: analyze
3+
description: Redmineプロジェクト状況分析スキル。redmine-cli を使ってチケット群を取得し、ステータス別集計・担当者負荷・期限切れ警告などを分析する。「redmine:analyze」「プロジェクトの状況まとめて」「担当者の負荷」「期限切れチケット」「チケット分析」で起動。
4+
---
5+
6+
# Redmine プロジェクト状況分析
7+
8+
redmine-cli を使ってチケット群を取得し、プロジェクトの状況を集計・分析する。
9+
10+
## 利用する CLI コマンド
11+
12+
- `redmine-cli search --profile <p> --project <proj> --limit 100` — 対象チケット群の取得
13+
- `redmine-cli projects --profile <p>` — プロジェクト一覧取得
14+
- `redmine-cli config list` — プロファイル一覧取得
15+
16+
## 大前提
17+
18+
- **読み取り専用**: 分析結果の表示のみ。チケットの変更は Redmine Web UI で行う
19+
- 1リクエストあたり最大 100 件の取得制限がある
20+
- 100件超の場合はフィルタ条件で絞り込んでから再分析を提案する
21+
22+
## フロー
23+
24+
### 0. 前提チェック
25+
26+
1. `which redmine-cli` で CLI がインストールされているか確認する
27+
2. **未インストールの場合**、以下を案内して終了する:
28+
- macOS: `brew install chippy-ao/tap/redmine-cli`
29+
- Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利
30+
- その他: `go install github.com/chippy-ao/redmine-cli@latest`
31+
32+
### 1. プロファイル選択
33+
34+
`redmine-cli config list` を実行してプロファイルを確認する。
35+
36+
- **0件**: 「プロファイルが未設定です。今から設定しましょう」と伝え、AskUserQuestion でプロファイル名・URL・API キーを順に聞いて `redmine-cli config add` を実行する。設定完了後、そのまま分析フローに継続する
37+
- **1件**: そのプロファイルを使用
38+
- **複数**: AskUserQuestion で選択(1つ / 複数選択 / 全プロファイル)
39+
40+
### 2. プロジェクト選択
41+
42+
`redmine-cli projects --profile <p> --limit 100` でプロジェクト一覧を取得し、ユーザーに選択してもらう。
43+
44+
### 3. チケット取得と分析
45+
46+
`redmine-cli search --profile <p> --project <proj> --limit 100` で対象チケット群を取得し、以下の観点で集計・分析する:
47+
48+
#### 分析項目
49+
50+
- **ステータス別チケット数**: 新規、進行中、解決、完了等の分布
51+
- **担当者別チケット数**: 誰に何件割り当てられているか
52+
- **期限切れチケット**: 期日を過ぎたチケットの一覧と警告
53+
- **優先度分布**: 緊急・高・通常・低の分布
54+
- **共通パターン**: 複数チケットの共通パターン(同じカテゴリ、類似のキーワード)の抽出
55+
56+
#### 追加分析(ユーザーの意図に応じて)
57+
58+
- **未完了のみ分析**: `--status open` を追加して再取得
59+
- **特定担当者の負荷**: `--assigned-to` で絞り込んで分析
60+
- **バージョン別進捗**: `--version-id` で絞り込んで分析
61+
62+
### 4. 結果が100件を超える場合
63+
64+
`total_count` が 100 を超える場合:
65+
- 「全 N 件中 100 件を分析しています」と伝える
66+
- 以下の絞り込みを提案:
67+
- ステータスで絞る(未完了のみ / 完了済みのみ)
68+
- トラッカーで絞る
69+
- 担当者で絞る
70+
- バージョンで絞る
71+
72+
### 5. 次のアクション提案
73+
74+
分析完了後、以下を提案する:
75+
76+
- **条件を変えて再分析**: 別のフィルタで分析し直す
77+
- **特定チケットの詳細を見る**: 気になるチケットの詳細確認(search スキルへ誘導)
78+
- **別のプロジェクトを分析**: 別プロジェクトに切り替え
79+
- **プロファイルを切り替えて分析**: 別の Redmine サーバーで分析
80+
81+
## エラーハンドリング
82+
83+
- **CLI 未インストール**: OS に応じたインストール方法を案内
84+
- **プロファイル未設定**: インラインで config add フローを実行
85+
- **認証エラー・接続エラー**: プロファイルの URL / API キーを確認するよう案内
86+
- **検索結果 0 件**: 「対象チケットが見つかりませんでした」と伝え、条件変更を提案

redmine/skills/config/SKILL.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
name: config
3+
description: Redmine CLI のプロファイル管理スキル。接続先の追加・一覧・デフォルト設定・削除を対話的に行う。「redmine:config」「Redmineの接続設定」「プロファイル追加」「Redmine設定」で起動。
4+
---
5+
6+
# Redmine プロファイル管理
7+
8+
redmine-cli のプロファイル(Redmine サーバーの URL と API キー)を対話的に管理する。
9+
10+
## 前提チェック
11+
12+
1. `which redmine-cli` で CLI がインストールされているか確認する
13+
2. **未インストールの場合**、以下を案内して終了する:
14+
- macOS: `brew install chippy-ao/tap/redmine-cli`
15+
- Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利
16+
- その他: `go install github.com/chippy-ao/redmine-cli@latest`
17+
18+
## フロー
19+
20+
### 1. 現在の状態を表示
21+
22+
`redmine-cli config list` を実行して、現在のプロファイル一覧を表示する。
23+
24+
- プロファイルがある場合: 名前・URL・デフォルトかどうかを一覧表示
25+
- プロファイルがない場合: 「プロファイルが未設定です」と表示
26+
27+
### 2. 操作の選択
28+
29+
ユーザーの意図に応じて操作する。意図が明確でない場合は AskUserQuestion で以下の選択肢を提示:
30+
31+
- **追加**: 新しいプロファイルを追加
32+
- **一覧**: 現在のプロファイルを確認(既に表示済みなら省略)
33+
- **デフォルト変更**: デフォルトプロファイルを切り替え
34+
- **削除**: プロファイルを削除
35+
36+
### 3. 各操作の実行
37+
38+
#### 追加 (add)
39+
40+
1. AskUserQuestion でプロファイル名を聞く(例: work, oss, staging)
41+
2. AskUserQuestion で Redmine の URL を聞く
42+
3. AskUserQuestion で API キーを聞く
43+
4. `redmine-cli config add <name> --url <url> --api-key <key>` を実行
44+
5. 成功したら `redmine-cli config list` で結果を表示
45+
46+
#### デフォルト変更 (set-default)
47+
48+
1. `redmine-cli config list` で一覧取得
49+
2. AskUserQuestion でプロファイル名を選んでもらう
50+
3. `redmine-cli config set-default <name>` を実行
51+
52+
#### 削除 (remove)
53+
54+
1. `redmine-cli config list` で一覧取得
55+
2. AskUserQuestion でプロファイル名を選んでもらう
56+
3. AskUserQuestion で「本当に削除しますか?」と確認
57+
4. 確認後 `redmine-cli config remove <name>` を実行
58+
59+
### 4. 続けて操作するか確認
60+
61+
操作完了後、「他に設定変更はありますか?」と確認する。

0 commit comments

Comments
 (0)