Skip to content

feat(skills): SKILL.md の name に plugin プレフィックスを統一付与 + lint 追加#77

Merged
masseater merged 5 commits into
masterfrom
feat/skill-name-prefix
May 28, 2026
Merged

feat(skills): SKILL.md の name に plugin プレフィックスを統一付与 + lint 追加#77
masseater merged 5 commits into
masterfrom
feat/skill-name-prefix

Conversation

@masseater
Copy link
Copy Markdown
Owner

@masseater masseater commented May 28, 2026

Summary

  • plugins/*/skills/*/SKILL.md の frontmatter name<plugin>:<skill> 形式に統一(38 件)
  • Skill(<plugin>:<skill>) 参照と整合する命名へ揃え、プラグイン名前空間で衝突を防ぐ
  • doc-enginereadPluginComponents<plugin>: プレフィックス必須チェックを追加
  • ルート bun run checkdocs-tools check-list を組み込み、違反が CI/pre-push で検知される
  • 変更プラグインの plugin.json を patch bump(repository-lint/require-version-bump 対応)
  • mutils:consecutive-review-loop スキル追加と疑似コード必須ルールを取り込み(既に branch にマージ済)

Test plan

  • bun run check:plugin-list で違反が検知されることを確認(プレフィックス削除で発火)
  • bun run check / pre-push 通過
  • CI 通過確認

Relates to #49
Relates to #30

masseater and others added 3 commits May 28, 2026 11:50
各 SKILL.md の `name:` を `<plugin>:<skill>` 形式に揃え、Skill ツール識別子をプラグイン名前空間と一致させる。`bun run docs` で各プラグイン AGENTS.md の component list も同期。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- mutils に consecutive-review-loop スキルを新設。N 回連続パスまでサブエージェント
  レビュー → 修正のループを回し、失敗で streak を 0 にリセット。各レビューは
  byte 単位で同一の flat prompt を使い、過去の指摘や試行回数などの履歴情報を
  サブエージェントに渡さない(独立性を保つため)
- 疑似コードブロックでアルゴリズムを明示
- AGENTS.md に「条件判定が明確な処理を指示する場合は疑似コードを書く」ルールを追加
- .claude/rules/ai-generated/ にスキル作成中に判明した agnix 関連の落とし穴を追記
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Warning

Review limit reached

@masseater, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 44 minutes and 17 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 78d4f6c4-10de-441e-887b-0a1943ccd859

📥 Commits

Reviewing files that changed from the base of the PR and between 946af46 and e289a04.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • plugins/eslint-lsp/bun.lock is excluded by !**/*.lock
📒 Files selected for processing (31)
  • .claude-plugin/marketplace.json
  • .claude/skills/steering/structure.md
  • AGENTS.md
  • knip.json
  • package.json
  • packages/doc-engine/src/plugin-list.ts
  • plugins/eslint-lsp/.gitignore
  • plugins/eslint-lsp/.lsp.json
  • plugins/eslint-lsp/.oxlintrc.json
  • plugins/eslint-lsp/AGENTS.md
  • plugins/eslint-lsp/CLAUDE.md
  • plugins/eslint-lsp/README.md
  • plugins/eslint-lsp/hooks/check-eslint-server.test.ts
  • plugins/eslint-lsp/hooks/entry/check-eslint-server.ts
  • plugins/eslint-lsp/hooks/hooks.json
  • plugins/eslint-lsp/package.json
  • plugins/eslint-lsp/plugin.json
  • plugins/eslint-lsp/tsconfig.json
  • plugins/eslint-lsp/vitest.config.ts
  • plugins/mutils/AGENTS.md
  • plugins/mutils/plugin.json
  • plugins/mutils/skills/consecutive-review-loop/SKILL.md
  • plugins/use-codex/AGENTS.md
  • plugins/use-codex/CLAUDE.md
  • plugins/use-codex/README.md
  • plugins/use-codex/plugin.json
  • plugins/use-codex/skills/use-codex/SKILL.md
  • plugins/use-codex/skills/use-codex/file-review.md
  • plugins/use-codex/skills/use-codex/scripts/file-review.sh
  • plugins/use-codex/skills/use-codex/scripts/web-search.sh
  • plugins/use-codex/skills/use-codex/web-search.md
📝 Walkthrough

Walkthrough

This PR synchronizes plugin versions across the marketplace registry and systematically adds namespace-prefixed identifiers to all skill definitions. It updates thirteen plugins, introduces a new consecutive-review-loop skill for mutils, and clarifies instruction standards for agent documentation.

Changes

Plugin Namespace Refactoring and Skill Registry Update

Layer / File(s) Summary
Configuration and Instruction Rule Updates
.claude/rules/ai-generated/gotchas.md, .claude/rules/ai-generated/project-context.md, AGENTS.md
Adds SKILL.md constraints for agnix compliance (XML-safe placeholders, Bash scoping), project governance rules (AGENTS.md auto-generation, scaffold.ts usage), and instruction format standards requiring pseudocode and state transition documentation alongside prose descriptions.
Marketplace Plugin Registry Synchronization
.claude-plugin/marketplace.json
Central registry bumped with new versions across all thirteen plugins (cc-hooks-ts, context, debug, devkit, diagram-render, gh-projects, github-issue-db, github-workflow, mutils, swarm, ui-dev, workspace-id, zenn-article) to coordinate with individual plugin manifests.
Skill Namespace Refactoring (cc-hooks-ts, context, debug, devkit, diagram-render)
plugins/*/plugin.json, plugins/*/AGENTS.md, plugins/*/skills/*/SKILL.md
Updates five plugins with namespaced skill identifiers: each receives version bump, AGENTS.md component list update, and individual skill metadata name field changes (e.g., debug:plugin-debug, devkit:standards, diagram-render:render).
Skill Namespace Refactoring (gh-projects, github-issue-db, github-workflow)
plugins/*/plugin.json, plugins/*/AGENTS.md, plugins/*/skills/*/SKILL.md
Updates three plugins with namespaced skill identifiers across nine skills: individual version bumps, AGENTS.md updates, and SKILL.md name field changes (e.g., gh-projects:cli, github-issue-db:search-similar-issues).
New consecutive-review-loop Skill and mutils Namespace Refactoring
plugins/mutils/plugin.json, plugins/mutils/AGENTS.md, plugins/mutils/skills/consecutive-review-loop/SKILL.md, plugins/mutils/skills/*/SKILL.md
Introduces substantial new skill defining subagent review loops with N-consecutive-PASS termination, byte-identical flat prompts, and strict streak semantics. Updates mutils version and refactors eight existing mutils skills with mutils: namespace prefix.
Skill Namespace Refactoring (swarm, ui-dev, workspace-id, zenn-article)
plugins/*/plugin.json, plugins/*/AGENTS.md, plugins/*/skills/*/SKILL.md
Updates four plugins with namespaced skill identifiers: individual version bumps, AGENTS.md updates, and SKILL.md name field changes (e.g., swarm:swarm, ui-dev:figma-data, zenn-article:write-article).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • masseater/claude-code-plugin#16: Both PRs modify .claude-plugin/marketplace.json with plugin version updates including swarm plugin entries.
  • masseater/claude-code-plugin#70: Both PRs update mutils plugin versioning, AGENTS.md component list, and skill metadata changes across multiple mutils skills.
  • masseater/claude-code-plugin#75: Both PRs modify mutils plugin documentation and skill metadata across the same files, coordinating on version updates and skill name/namespace changes.

Poem

🐰 Namespaces bloom in every skill,
Each plugin claims its gentle will,
From context's dance to swarm's design,
A rabbit's refactor, prefix-fine!
Loop consecutive, mark the way,
Review thy code and have a hay!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: adding plugin prefixes to SKILL.md names and adding linting rules.

✏️ 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 feat/skill-name-prefix

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.

- `readPluginComponents` で `name` が `<plugin>:` プレフィックスを持たない場合に frontmatterErrors を発行
- ルート `check` スクリプトに `docs-tools check-list` を追加し、`bun run check` で違反を即検知
- mutils:consecutive-review-loop に同規約を適用、mutils を 0.22.3 へ bump

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@AGENTS.md`:
- Around line 84-86: Update the rule that mandates pseudocode for agent-facing
docs (AGENTS.md / CLAUDE.md / SKILL.md) by adding an explicit
pseudocode/text-block requirement: when a document D contains conditional logic,
loops, counter updates, state resets, or termination conditions, require D to
include a pseudocode block that specifies exactly when to increment/decrement
counters, what each counter/state represents, when to reset state, and the
explicit termination condition; if D lacks such constructs the pseudocode block
remains optional—ensure the rule text references the documents (AGENTS.md,
CLAUDE.md, SKILL.md) and the required pseudocode elements (condition evaluation,
counting/reset behavior, termination) so authors know what to include.

In `@plugins/mutils/AGENTS.md`:
- Around line 30-47: The Components table is missing a row for the newly added
skill mutils:consecutive-review-loop; add a table entry named
"mutils:consecutive-review-loop" to the AGENTS.md Components table with a
concise description of its responsibility (e.g., running repeated review cycles
to refine outputs until convergence or acceptance), include intended trigger
phrases/usage examples, and ensure the regenerated table contains this row so
AGENTS.md documents the agent implementation per the project's guideline.

In `@plugins/mutils/skills/consecutive-review-loop/SKILL.md`:
- Line 2: Update the skill identifier in SKILL.md by changing the name field
value from "consecutive-review-loop" to the namespaced form
"mutils:consecutive-review-loop"; edit the `name` key in the SKILL.md header so
it follows the plugin-prefixed convention used by the registry and other mutils
skills.
🪄 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: 65dbda82-72d4-4c3e-99de-83ce5e186676

📥 Commits

Reviewing files that changed from the base of the PR and between e260917 and 946af46.

📒 Files selected for processing (67)
  • .claude-plugin/marketplace.json
  • .claude/rules/ai-generated/gotchas.md
  • .claude/rules/ai-generated/project-context.md
  • AGENTS.md
  • plugins/cc-hooks-ts/AGENTS.md
  • plugins/cc-hooks-ts/plugin.json
  • plugins/cc-hooks-ts/skills/cc-hooks-ts/SKILL.md
  • plugins/context/AGENTS.md
  • plugins/context/plugin.json
  • plugins/context/skills/generate-docs-index/SKILL.md
  • plugins/context/skills/refactor-project-context/SKILL.md
  • plugins/context/skills/verify-context/SKILL.md
  • plugins/debug/AGENTS.md
  • plugins/debug/plugin.json
  • plugins/debug/skills/plugin-debug/SKILL.md
  • plugins/devkit/AGENTS.md
  • plugins/devkit/plugin.json
  • plugins/devkit/skills/cli-compliance/SKILL.md
  • plugins/devkit/skills/init-project/SKILL.md
  • plugins/devkit/skills/standards-audit/SKILL.md
  • plugins/devkit/skills/standards/SKILL.md
  • plugins/diagram-render/AGENTS.md
  • plugins/diagram-render/plugin.json
  • plugins/diagram-render/skills/draw-diagram/SKILL.md
  • plugins/diagram-render/skills/render/SKILL.md
  • plugins/gh-projects/AGENTS.md
  • plugins/gh-projects/plugin.json
  • plugins/gh-projects/skills/cli/SKILL.md
  • plugins/gh-projects/skills/create-epic/SKILL.md
  • plugins/gh-projects/skills/decompose-epic/SKILL.md
  • plugins/gh-projects/skills/epic-story-task/SKILL.md
  • plugins/gh-projects/skills/plan-dependencies/SKILL.md
  • plugins/gh-projects/skills/review-progress/SKILL.md
  • plugins/github-issue-db/AGENTS.md
  • plugins/github-issue-db/plugin.json
  • plugins/github-issue-db/skills/report-repo-issues/SKILL.md
  • plugins/github-issue-db/skills/search-similar-issues/SKILL.md
  • plugins/github-issue-db/skills/update-existing-issues/SKILL.md
  • plugins/github-workflow/AGENTS.md
  • plugins/github-workflow/plugin.json
  • plugins/github-workflow/skills/create-issue/SKILL.md
  • plugins/mutils/AGENTS.md
  • plugins/mutils/plugin.json
  • plugins/mutils/skills/consecutive-review-loop/SKILL.md
  • plugins/mutils/skills/feedback/SKILL.md
  • plugins/mutils/skills/ideal-driven-design/SKILL.md
  • plugins/mutils/skills/investigate-repo/SKILL.md
  • plugins/mutils/skills/issue-status-review/SKILL.md
  • plugins/mutils/skills/skill-create/SKILL.md
  • plugins/mutils/skills/task-history/SKILL.md
  • plugins/mutils/skills/temp-skill/SKILL.md
  • plugins/swarm/AGENTS.md
  • plugins/swarm/plugin.json
  • plugins/swarm/skills/swarm/SKILL.md
  • plugins/swarm/skills/team-design/SKILL.md
  • plugins/ui-dev/AGENTS.md
  • plugins/ui-dev/plugin.json
  • plugins/ui-dev/skills/dev-command/SKILL.md
  • plugins/ui-dev/skills/figma-data/SKILL.md
  • plugins/ui-dev/skills/figma-implement/SKILL.md
  • plugins/ui-dev/skills/figma-screenshot/SKILL.md
  • plugins/workspace-id/AGENTS.md
  • plugins/workspace-id/plugin.json
  • plugins/workspace-id/skills/workspace-id/SKILL.md
  • plugins/zenn-article/AGENTS.md
  • plugins/zenn-article/plugin.json
  • plugins/zenn-article/skills/write-article/SKILL.md

Comment thread AGENTS.md
Comment on lines +84 to +86
- IF: AGENTS.md / CLAUDE.md / SKILL.md などエージェント向け指示文書に、条件分岐・ループ・カウンタ更新・状態リセット・終了条件など条件判定が明確な処理を書く; THEN MUST: 疑似コード(`pseudocode` / `text` コードブロック)を併記する
- 理由: 散文だけで状態遷移を記述するとエージェント間で解釈がブレる。疑似コードがあれば「いつ何をカウントし・いつリセットするか」が一意に決まる
- MUST NOT: 「成功したらカウントを増やす」のような散文だけで複雑な状態遷移を済ませる
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

Add pseudocode next to the new conditional instruction rule.

This section introduces conditional/state-transition logic in prose only; add a pseudocode or text block that explicitly defines condition evaluation, counting/reset behavior, and termination to remove ambiguity.

Proposed patch
 ## 指示の書き方
 
 - IF: AGENTS.md / CLAUDE.md / SKILL.md などエージェント向け指示文書に、条件分岐・ループ・カウンタ更新・状態リセット・終了条件など条件判定が明確な処理を書く; THEN MUST: 疑似コード(`pseudocode` / `text` コードブロック)を併記する
   - 理由: 散文だけで状態遷移を記述するとエージェント間で解釈がブレる。疑似コードがあれば「いつ何をカウントし・いつリセットするか」が一意に決まる
   - MUST NOT: 「成功したらカウントを増やす」のような散文だけで複雑な状態遷移を済ませる
+
+```pseudocode
+when writing instruction document D in {AGENTS.md, CLAUDE.md, SKILL.md}:
+  if D contains conditional logic, loops, counter updates, state resets, or termination conditions:
+    require pseudocode block in D
+    pseudocode must define:
+      - when to increment/decrement counters
+      - what each counter represents
+      - when to reset counters/state
+      - explicit termination condition
+  else:
+    pseudocode block is optional
+```

As per coding guidelines: "**/{AGENTS,CLAUDE,SKILL}.md: When writing conditional logic, loops, counter updates, state resets, or termination conditions ... MUST include pseudocode alongside prose descriptions."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@AGENTS.md` around lines 84 - 86, Update the rule that mandates pseudocode for
agent-facing docs (AGENTS.md / CLAUDE.md / SKILL.md) by adding an explicit
pseudocode/text-block requirement: when a document D contains conditional logic,
loops, counter updates, state resets, or termination conditions, require D to
include a pseudocode block that specifies exactly when to increment/decrement
counters, what each counter/state represents, when to reset state, and the
explicit termination condition; if D lacks such constructs the pseudocode block
remains optional—ensure the rule text references the documents (AGENTS.md,
CLAUDE.md, SKILL.md) and the required pseudocode elements (condition evaluation,
counting/reset behavior, termination) so authors know what to include.

Comment thread plugins/mutils/AGENTS.md
Comment thread plugins/mutils/skills/consecutive-review-loop/SKILL.md Outdated
@masseater masseater changed the title chore(deps): cc-plugin-lib v0.0.6 + @vitejs/plugin-react v6 を一括取り込み feat(skills): SKILL.md の name に plugin プレフィックスを統一付与 + lint 追加 May 28, 2026
@masseater masseater merged commit 00ee9c8 into master May 28, 2026
6 checks passed
@masseater masseater deleted the feat/skill-name-prefix branch May 28, 2026 03:25
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