Skip to content
Merged
5 changes: 5 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
"name": "law-study",
"source": "./law-study",
"description": "e-Gov法令APIを活用した法令勉強支援プラグイン。キーワード検索で法令を探し、AIによる要約・質問応答で学習を支援。"
},
{
"name": "redmine",
"source": "./redmine",
"description": "redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。プロファイル管理で複数の Redmine サーバーを横断操作。"
}
]
}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@

# brain storming
docs/plans/*

specs/
.specify/
.claude/skills/speckit*/
29 changes: 29 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# claude-code Development Guidelines

Auto-generated from all feature plans. Last updated: 2026-02-25

## Active Technologies

- Markdown (SKILL.md) + JSON (plugin.json) + redmine-cli(Go CLI、`brew install chippy-ao/tap/redmine-cli`) (001-redmine-skill)

## Project Structure

```text
src/
tests/
```

## Commands

# Add commands for Markdown (SKILL.md) + JSON (plugin.json)

## Code Style

Markdown (SKILL.md) + JSON (plugin.json): Follow standard conventions

## Recent Changes

- 001-redmine-skill: Added Markdown (SKILL.md) + JSON (plugin.json) + redmine-cli(Go CLI、`brew install chippy-ao/tap/redmine-cli`)

<!-- MANUAL ADDITIONS START -->
<!-- MANUAL ADDITIONS END -->
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ Claude Code 用のプラグイン集
```bash
# law-studyプラグイン
/plugin install law-study@chippy-ao-plugins

# redmineプラグイン
/plugin install redmine@chippy-ao-plugins
```

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

## 使い方

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

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

### redmine

redmine-cli を使ったチケット検索・閲覧・分析支援。

```text
# プロファイル設定
redmine:config

# キーワードを指定して検索
redmine:search ログイン機能のバグ

# プロジェクト状況分析
redmine:analyze
```

**できること**:
- プロファイル管理(複数 Redmine サーバーの接続設定)
- チケット検索(キーワード、プロジェクト、ステータス、担当者等)
- チケット詳細・コメント履歴の表示
- チケット分析(ステータス別集計、担当者負荷、期限切れ警告)

**前提条件**: [redmine-cli](https://github.com/chippy-ao/redmine-cli) のインストールが必要。

詳細は [redmine/README.md](./redmine/README.md) を参照。

## ライセンス

MIT
16 changes: 16 additions & 0 deletions redmine/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "redmine",
"version": "2.0.0",
"description": "redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。プロファイル管理で複数の Redmine サーバーを横断操作。",
"author": {
"name": "chippy-ao"
},
"license": "MIT",
"keywords": [
"redmine",
"ticket",
"issue-tracking",
"project-management",
"cli"
]
}
116 changes: 116 additions & 0 deletions redmine/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# redmine

redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。
複数の Redmine サーバーをプロファイルで横断操作できる。

## 前提条件

- [redmine-cli](https://github.com/chippy-ao/redmine-cli) がインストールされていること
- Redmine 5.1.0 以上のサーバーにアクセス可能であること
- Redmine REST API キーを取得済みであること

### redmine-cli のインストール

**macOS (Homebrew):**

```bash
brew install chippy-ao/tap/redmine-cli
```

**Windows:**

1. [GitHub Releases](https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロード
2. ZIP を展開し、`redmine-cli.exe` を取得
3. コマンドプロンプトか PowerShell で `redmine-cli.exe` があるフォルダから実行:

```powershell
.\redmine-cli.exe config add work --url https://redmine.example.com --api-key YOUR_API_KEY
.\redmine-cli.exe search --keyword "バグ" --status open
```

4. (任意)PATH を通すとどこからでも実行可能:
- Win + X →「システム」→「システムの詳細設定」→「環境変数」
- `Path` を選んで「編集」→「新規」で `redmine-cli.exe` があるフォルダのパスを追加
- コマンドプロンプトを再起動

**go install:**

```bash
go install github.com/chippy-ao/redmine-cli@latest
```

## プラグインのインストール

```bash
/plugin install redmine@chippy-ao-plugins
```

## セットアップ

プロファイルを対話的に設定:

```text
redmine:config
```

または CLI で直接設定:

```bash
redmine-cli config add work --url https://redmine.example.com --api-key YOUR_API_KEY
```

## 使い方

### チケット検索

```text
redmine:search ログイン機能のバグ
```

または引数なしで対話的に開始:

```text
redmine:search
```

### プロジェクト状況分析

```text
redmine:analyze
```

### プロファイル管理

```text
redmine:config
```

## 機能一覧

| スキル | 説明 |
|--------|------|
| `redmine:config` | プロファイルの追加・一覧・デフォルト変更・削除 |
| `redmine:search` | キーワード・プロジェクト・ステータス・担当者等でチケット検索、詳細表示 |
| `redmine:analyze` | ステータス別集計、担当者負荷、期限切れ警告、優先度分布 |

## 複数の Redmine サーバーを使う

プロファイルを複数登録して切り替え:

```bash
redmine-cli config add work --url https://redmine-work.example.com --api-key KEY1
redmine-cli config add oss --url https://redmine-oss.example.com --api-key KEY2
redmine-cli config set-default work
```

`redmine:search` や `redmine:analyze` 起動時に、使用するプロファイルを選択できる。
複数プロファイルを同時に選択して横断検索することも可能。

## 制約

- 読み取り専用(チケットの作成・更新・削除は不可)
- 1リクエストあたり最大 100 件の取得制限

## ライセンス

MIT
86 changes: 86 additions & 0 deletions redmine/skills/analyze/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
name: analyze
description: Redmineプロジェクト状況分析スキル。redmine-cli を使ってチケット群を取得し、ステータス別集計・担当者負荷・期限切れ警告などを分析する。「redmine:analyze」「プロジェクトの状況まとめて」「担当者の負荷」「期限切れチケット」「チケット分析」で起動。
---

# Redmine プロジェクト状況分析

redmine-cli を使ってチケット群を取得し、プロジェクトの状況を集計・分析する。

## 利用する CLI コマンド

- `redmine-cli search --profile <p> --project <proj> --limit 100` — 対象チケット群の取得
- `redmine-cli projects --profile <p>` — プロジェクト一覧取得
- `redmine-cli config list` — プロファイル一覧取得

## 大前提

- **読み取り専用**: 分析結果の表示のみ。チケットの変更は Redmine Web UI で行う
- 1リクエストあたり最大 100 件の取得制限がある
- 100件超の場合はフィルタ条件で絞り込んでから再分析を提案する

## フロー

### 0. 前提チェック

1. `which redmine-cli` で CLI がインストールされているか確認する
2. **未インストールの場合**、以下を案内して終了する:
- macOS: `brew install chippy-ao/tap/redmine-cli`
- Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利
- その他: `go install github.com/chippy-ao/redmine-cli@latest`

### 1. プロファイル選択

`redmine-cli config list` を実行してプロファイルを確認する。

- **0件**: 「プロファイルが未設定です。今から設定しましょう」と伝え、AskUserQuestion でプロファイル名・URL・API キーを順に聞いて `redmine-cli config add` を実行する。設定完了後、そのまま分析フローに継続する
- **1件**: そのプロファイルを使用
- **複数**: AskUserQuestion で選択(1つ / 複数選択 / 全プロファイル)

### 2. プロジェクト選択

`redmine-cli projects --profile <p> --limit 100` でプロジェクト一覧を取得し、ユーザーに選択してもらう。

### 3. チケット取得と分析

`redmine-cli search --profile <p> --project <proj> --limit 100` で対象チケット群を取得し、以下の観点で集計・分析する:

#### 分析項目

- **ステータス別チケット数**: 新規、進行中、解決、完了等の分布
- **担当者別チケット数**: 誰に何件割り当てられているか
- **期限切れチケット**: 期日を過ぎたチケットの一覧と警告
- **優先度分布**: 緊急・高・通常・低の分布
- **共通パターン**: 複数チケットの共通パターン(同じカテゴリ、類似のキーワード)の抽出

#### 追加分析(ユーザーの意図に応じて)

- **未完了のみ分析**: `--status open` を追加して再取得
- **特定担当者の負荷**: `--assigned-to` で絞り込んで分析
- **バージョン別進捗**: `--version-id` で絞り込んで分析

### 4. 結果が100件を超える場合

`total_count` が 100 を超える場合:
- 「全 N 件中 100 件を分析しています」と伝える
- 以下の絞り込みを提案:
- ステータスで絞る(未完了のみ / 完了済みのみ)
- トラッカーで絞る
- 担当者で絞る
- バージョンで絞る

### 5. 次のアクション提案

分析完了後、以下を提案する:

- **条件を変えて再分析**: 別のフィルタで分析し直す
- **特定チケットの詳細を見る**: 気になるチケットの詳細確認(search スキルへ誘導)
- **別のプロジェクトを分析**: 別プロジェクトに切り替え
- **プロファイルを切り替えて分析**: 別の Redmine サーバーで分析

## エラーハンドリング

- **CLI 未インストール**: OS に応じたインストール方法を案内
- **プロファイル未設定**: インラインで config add フローを実行
- **認証エラー・接続エラー**: プロファイルの URL / API キーを確認するよう案内
- **検索結果 0 件**: 「対象チケットが見つかりませんでした」と伝え、条件変更を提案
61 changes: 61 additions & 0 deletions redmine/skills/config/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
name: config
description: Redmine CLI のプロファイル管理スキル。接続先の追加・一覧・デフォルト設定・削除を対話的に行う。「redmine:config」「Redmineの接続設定」「プロファイル追加」「Redmine設定」で起動。
---

# Redmine プロファイル管理

redmine-cli のプロファイル(Redmine サーバーの URL と API キー)を対話的に管理する。

## 前提チェック

1. `which redmine-cli` で CLI がインストールされているか確認する
2. **未インストールの場合**、以下を案内して終了する:
- macOS: `brew install chippy-ao/tap/redmine-cli`
- Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利
- その他: `go install github.com/chippy-ao/redmine-cli@latest`

## フロー

### 1. 現在の状態を表示

`redmine-cli config list` を実行して、現在のプロファイル一覧を表示する。

- プロファイルがある場合: 名前・URL・デフォルトかどうかを一覧表示
- プロファイルがない場合: 「プロファイルが未設定です」と表示

### 2. 操作の選択

ユーザーの意図に応じて操作する。意図が明確でない場合は AskUserQuestion で以下の選択肢を提示:

- **追加**: 新しいプロファイルを追加
- **一覧**: 現在のプロファイルを確認(既に表示済みなら省略)
- **デフォルト変更**: デフォルトプロファイルを切り替え
- **削除**: プロファイルを削除

### 3. 各操作の実行

#### 追加 (add)

1. AskUserQuestion でプロファイル名を聞く(例: work, oss, staging)
2. AskUserQuestion で Redmine の URL を聞く
3. AskUserQuestion で API キーを聞く
4. `redmine-cli config add <name> --url <url> --api-key <key>` を実行
5. 成功したら `redmine-cli config list` で結果を表示

#### デフォルト変更 (set-default)

1. `redmine-cli config list` で一覧取得
2. AskUserQuestion でプロファイル名を選んでもらう
3. `redmine-cli config set-default <name>` を実行

#### 削除 (remove)

1. `redmine-cli config list` で一覧取得
2. AskUserQuestion でプロファイル名を選んでもらう
3. AskUserQuestion で「本当に削除しますか?」と確認
4. 確認後 `redmine-cli config remove <name>` を実行

### 4. 続けて操作するか確認

操作完了後、「他に設定変更はありますか?」と確認する。
Loading