Skip to content

refactor: commands/agents/hooks を skills 形式に移行#24

Merged
nanasess merged 4 commits into
mainfrom
refactor/migrate-commands-to-skills
Apr 1, 2026
Merged

refactor: commands/agents/hooks を skills 形式に移行#24
nanasess merged 4 commits into
mainfrom
refactor/migrate-commands-to-skills

Conversation

@nanasess
Copy link
Copy Markdown
Owner

@nanasess nanasess commented Apr 1, 2026

Summary

  • プロンプト履歴の使用頻度分析に基づき、プラグインを v2.0.0 に全面リファクタリング
  • レガシーな commands(12個)、agents(4個)、hooks(Slack通知) を廃止
  • 新形式の skills(6個) に移行

Changes

新規 Skills

Skill 説明 元の使用頻度
commit Conventional Commits 日本語コミット、複数リポジトリ対応 112回
commit-push-pr コミット+Push+PR作成、PRテンプレート対応 61回
validate-review レビューコメント妥当性検証 98回
reply-review レビューコメント一括返信 39回
github-logs-analyze GitHub Actions 失敗ログ解析 50回
plan チェックリスト形式の実装計画生成 152回

廃止

  • commands/: 12ファイル (gemini-search, github-check, save-context, load-context, create-plan 等)
  • agents/: 4ファイル (bug-investigator, implementation-analyzer, log-analyzer, refactoring-expert)
  • hooks/: Slack通知 (hooks.json, slack-notify.sh)

更新

  • plugin.json: v2.0.0、description/keywords 更新
  • CLAUDE.md, README.md: skills ベースに全面書き換え

Test plan

  • ls plugins/eccube-dev-agents/skills/*/SKILL.md で6つの Skill が存在すること
  • プラグイン再インストール後、各 Skill が /help で表示されること
  • /commit, /commit-push-pr 等の Skill が正しく動作すること

Summary by CodeRabbit

  • 新機能

    • Skillsモデルで6つの自動化スキルを追加:commit、commit-push-pr、validate-review、reply-review、github-logs-analyze、plan
  • 改善

    • アーキテクチャをAgents/CommandsからSkillsへ移行し、GitHubワークフロー/レビュー自動化に最適化
  • 更新

    • プラグインをv2.0.0に更新、ドキュメントをSkills中心に再編、必要要件をGitHub CLIのみに簡素化
  • 削除

    • 旧Agents/Commands/Hook設定、Gemini検索およびSlack通知関連を削除

使用頻度分析に基づき、プラグインを全面リファクタリング:
- commands(12個)、agents(4個)、hooks を廃止
- skills(6個) を新規作成: commit, commit-push-pr, validate-review,
  reply-review, github-logs-analyze, plan
- 複数リポジトリ対応、PRテンプレート対応を追加
- plugin.json を v2.0.0 に更新
- CLAUDE.md, README.md を skills ベースに書き換え

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 1, 2026

Warning

Rate limit exceeded

@nanasess has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 45 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 12 minutes and 45 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fd9392de-097f-414c-b029-106bbe08ccc8

📥 Commits

Reviewing files that changed from the base of the PR and between a613441 and 4a326fb.

📒 Files selected for processing (2)
  • .claude-plugin/marketplace.json
  • plugins/eccube-dev-agents/skills/reply-review/SKILL.md
📝 Walkthrough

Walkthrough

このプルリクエストは、従来のエージェント/コマンド/フック構成を廃し、plugins/eccube-dev-agents/skills/配下のSKILL.mdベースの「Skills」モデルへ移行し、GeminiやSlack連携を削除してGit/GitHubワークフロー向けスキル群を追加します。

Changes

Cohort / File(s) Summary
ドキュメント・マニフェスト更新
CLAUDE.md, README.md, plugins/eccube-dev-agents/.claude-plugin/plugin.json
プラグイン説明をエージェント/コマンド/フック型からSkills型へ書き換え。要件からGemini CLI、jq、curl/Slack webhookを削除し、gh のみを必須に簡略化。manifestのversion1.0.02.0.0keywords を更新。
削除:エージェント定義
plugins/eccube-dev-agents/agents/*
plugins/eccube-dev-agents/agents/bug-investigator.md, .../implementation-analyzer.md, .../log-analyzer.md, .../refactoring-expert.md
EC-CUBE/Symfony向けとして記述された複数のエージェント定義ファイルを削除(各ファイルのフロントマターと詳細プロンプトを削除)。
削除:従来コマンド定義
plugins/eccube-dev-agents/commands/*
create-plan.md, create-pr.md, generate-commit.md, github-check.md, github-logs-analyze.md, load-context.md, load-plan.md, save-context.md, update-plan.md, update-pr-description.md, gemini-search.md, gemini.md
プラン管理、PR操作、コミット生成、コンテキスト管理、Gemini関連などのコマンド仕様書を一括削除。
削除:フック設定とSlack統合スクリプト
plugins/eccube-dev-agents/hooks/hooks.json, plugins/eccube-dev-agents/hooks/slack-notify.sh
hooks設定ファイルとSlack通知用シェルスクリプトを削除(notification/stopフックとgemini/slack呼び出しを廃止)。
追加:新規Skills定義
plugins/eccube-dev-agents/skills/commit/SKILL.md, .../commit-push-pr/SKILL.md, .../validate-review/SKILL.md, .../reply-review/SKILL.md, .../github-logs-analyze/SKILL.md, .../plan/SKILL.md
6つのSKILL.mdを追加。各SKILLはYAMLフロントマター(description/allowed-tools/argument-hint)と日本語の実行指示を含み、コミット・PR作成・レビュー検証/返信・CIログ解析・プラン生成のワークフローを定義。

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

ぼくはウサギ、にんじんよりもGitを嗅ぎ分ける🐇
古いエージェントは穴に隠れ、スキルが野に跳ねる
プッシュして、プルリクで踊るよ🎶
新しい道具を背負って、森を軽やかに駆けるよ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PRタイトルは、commands/agents/hooks から skills 形式への移行という主要な変更を明確に示しており、チェンジセットの中心的な内容と完全に関連している。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/migrate-commands-to-skills

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the eccube-dev-agents plugin by transitioning from an 'Agents' and 'Commands' architecture to a 'Skills' based system, introducing new definitions for git workflows, GitHub reviews, and CI log analysis. Feedback highlights the need to define the {branch} variable in the review validation skill, correctly identify repository roots when using find for git -C commands, and reconsider the strict 'no amend' policy for minor linting fixes.

Comment thread plugins/eccube-dev-agents/skills/validate-review/SKILL.md Outdated
Comment thread plugins/eccube-dev-agents/skills/commit/SKILL.md Outdated
Comment thread plugins/eccube-dev-agents/skills/commit-push-pr/SKILL.md Outdated
Comment thread plugins/eccube-dev-agents/skills/commit/SKILL.md
Comment thread plugins/eccube-dev-agents/skills/commit-push-pr/SKILL.md
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (1)
plugins/eccube-dev-agents/skills/github-logs-analyze/SKILL.md (1)

64-82: 出力テンプレートのコードフェンスに言語指定を推奨します。

Line 64 のコードブロックは markdown 指定を付けると、表示と lint の一貫性が上がります。

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins/eccube-dev-agents/skills/github-logs-analyze/SKILL.md` around lines
64 - 82, The markdown code block that begins just before "## Job 概要" should
include a language specifier to improve rendering and linting; change the
opening fence from ``` to ```markdown (leave the closing fence as ```), so the
block containing "Job 概要" / the example test failures is explicitly marked as
markdown.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@plugins/eccube-dev-agents/.claude-plugin/plugin.json`:
- Around line 3-4: The plugin metadata is inconsistent: update the
marketplace.json's "version" and "description" fields to match the values in
plugin.json (set "version" to 2.0.0 and replace the old description with "Git
workflow automation, GitHub review management, and CI log analysis toolkit for
development projects") so both manifests use the same metadata; verify the
"version" and "description" keys in marketplace.json are changed to exactly
match the values in plugin.json.

In `@plugins/eccube-dev-agents/skills/reply-review/SKILL.md`:
- Around line 75-83: The fenced code block under the "返信結果" section in SKILL.md
is missing a language tag (MD040); update the opening fence for that block to
include a language specifier (e.g. change the backticks to "```text") so
markdownlint no longer flags it; locate the block containing the "## 返信結果"
content in plugins/eccube-dev-agents/skills/reply-review/SKILL.md and add the
language identifier to the opening ``` fence.
- Around line 31-32: The gh API call `gh api
repos/{owner}/{repo}/pulls/{pr_number}/reviews` only returns the default page
(30 items) and can miss reviews; update the command used in SKILL.md to include
the `--paginate` flag (same approach as the call on Line 30) so all review pages
are retrieved and no replies are overlooked.

In `@plugins/eccube-dev-agents/skills/validate-review/SKILL.md`:
- Around line 52-63: The fenced code block beginning with "## 判定: [妥当 / 非妥当 /
部分的に妥当]" in SKILL.md is missing a language tag (markdownlint MD040); update that
fenced block to include a language identifier (e.g., use ```markdown) so the
linter recognizes it consistently and the block is treated as markdown.
- Around line 36-37: The step that calls gh api
repos/{owner}/{repo}/contents/{path}?ref={branch} uses an undefined {branch};
add a branch-determination step before that call (e.g., obtain branch from the
PR head ref via gh pr view {pr_number} --json headRefName or from an
environment/GitHub context variable, falling back to a default like main) and
then pass that resolved value into ref={branch}; update SKILL.md’s steps around
the gh api call and any references to {branch} so the flow always sets and
documents the source of branch prior to fetching files or running gh pr diff.

In `@README.md`:
- Around line 23-26: Update the "## 必要要件" section in README.md to include Git as
a required dependency: locate the header "## 必要要件" and the existing bullet "-
**GitHub CLI (gh)** - GitHub 統合に必須" and add a new bullet like "- **Git** -
ソース管理と基本操作に必須" (or similar Japanese wording) so the prerequisites clearly list
both Git and gh; ensure ordering and formatting match the surrounding markdown.

---

Nitpick comments:
In `@plugins/eccube-dev-agents/skills/github-logs-analyze/SKILL.md`:
- Around line 64-82: The markdown code block that begins just before "## Job 概要"
should include a language specifier to improve rendering and linting; change the
opening fence from ``` to ```markdown (leave the closing fence as ```), so the
block containing "Job 概要" / the example test failures is explicitly marked as
markdown.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6cd1001b-f2d2-4ce5-a23f-ac1b01d1ce14

📥 Commits

Reviewing files that changed from the base of the PR and between 3c2e82a and b3000cb.

📒 Files selected for processing (27)
  • CLAUDE.md
  • README.md
  • plugins/eccube-dev-agents/.claude-plugin/plugin.json
  • plugins/eccube-dev-agents/agents/bug-investigator.md
  • plugins/eccube-dev-agents/agents/implementation-analyzer.md
  • plugins/eccube-dev-agents/agents/log-analyzer.md
  • plugins/eccube-dev-agents/agents/refactoring-expert.md
  • plugins/eccube-dev-agents/commands/create-plan.md
  • plugins/eccube-dev-agents/commands/create-pr.md
  • plugins/eccube-dev-agents/commands/gemini-search.md
  • plugins/eccube-dev-agents/commands/gemini.md
  • plugins/eccube-dev-agents/commands/generate-commit.md
  • plugins/eccube-dev-agents/commands/github-check.md
  • plugins/eccube-dev-agents/commands/github-logs-analyze.md
  • plugins/eccube-dev-agents/commands/load-context.md
  • plugins/eccube-dev-agents/commands/load-plan.md
  • plugins/eccube-dev-agents/commands/save-context.md
  • plugins/eccube-dev-agents/commands/update-plan.md
  • plugins/eccube-dev-agents/commands/update-pr-description.md
  • plugins/eccube-dev-agents/hooks/hooks.json
  • plugins/eccube-dev-agents/hooks/slack-notify.sh
  • plugins/eccube-dev-agents/skills/commit-push-pr/SKILL.md
  • plugins/eccube-dev-agents/skills/commit/SKILL.md
  • plugins/eccube-dev-agents/skills/github-logs-analyze/SKILL.md
  • plugins/eccube-dev-agents/skills/plan/SKILL.md
  • plugins/eccube-dev-agents/skills/reply-review/SKILL.md
  • plugins/eccube-dev-agents/skills/validate-review/SKILL.md
💤 Files with no reviewable changes (18)
  • plugins/eccube-dev-agents/commands/gemini-search.md
  • plugins/eccube-dev-agents/hooks/hooks.json
  • plugins/eccube-dev-agents/commands/save-context.md
  • plugins/eccube-dev-agents/commands/gemini.md
  • plugins/eccube-dev-agents/commands/github-logs-analyze.md
  • plugins/eccube-dev-agents/agents/log-analyzer.md
  • plugins/eccube-dev-agents/commands/generate-commit.md
  • plugins/eccube-dev-agents/agents/refactoring-expert.md
  • plugins/eccube-dev-agents/agents/implementation-analyzer.md
  • plugins/eccube-dev-agents/commands/update-plan.md
  • plugins/eccube-dev-agents/commands/github-check.md
  • plugins/eccube-dev-agents/commands/create-plan.md
  • plugins/eccube-dev-agents/commands/load-plan.md
  • plugins/eccube-dev-agents/agents/bug-investigator.md
  • plugins/eccube-dev-agents/commands/load-context.md
  • plugins/eccube-dev-agents/commands/create-pr.md
  • plugins/eccube-dev-agents/hooks/slack-notify.sh
  • plugins/eccube-dev-agents/commands/update-pr-description.md

Comment thread plugins/eccube-dev-agents/.claude-plugin/plugin.json
Comment thread plugins/eccube-dev-agents/skills/reply-review/SKILL.md Outdated
Comment thread plugins/eccube-dev-agents/skills/reply-review/SKILL.md
Comment thread plugins/eccube-dev-agents/skills/validate-review/SKILL.md Outdated
Comment thread plugins/eccube-dev-agents/skills/validate-review/SKILL.md
Comment thread README.md
nanasess and others added 3 commits April 1, 2026 16:56
- find .git の結果から親ディレクトリ(リポジトリルート)を特定する記述に修正
- validate-review の {branch} を {commit_id} に変更し取得フローを明示

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
未確認のレビューコメントに対して自動返信してしまう問題を修正。
同一会話内で validate-review を実行済みのコメントのみを返信対象とする。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@nanasess nanasess merged commit 6526bf5 into main Apr 1, 2026
1 check passed
@nanasess nanasess deleted the refactor/migrate-commands-to-skills branch April 1, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant