Skip to content

refactor: ブラウザ自動テストの Skill を 9 個から 4 個へ集約 (0-5) - #71

Merged
takemi-ohama merged 3 commits into
release/skill-inventoryfrom
feature/inventory-merge-playwright
Aug 8, 2026
Merged

refactor: ブラウザ自動テストの Skill を 9 個から 4 個へ集約 (0-5)#71
takemi-ohama merged 3 commits into
release/skill-inventoryfrom
feature/inventory-merge-playwright

Conversation

@takemi-ohama

@takemi-ohamatakemi-ohama commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

概要

Task 0-5。ブラウザ自動テスト関連の 9 Skill を工程単位で 4 個へ集約する。単純連結ではなく、重複記述を落として再構成した。

統合後の Skill 名と対応

統合後工程統合元
playwright-planningテスト計画playwright-test-planning + playwright-scenario-test
playwright-authoringスクリプト作成と実行playwright-script-creation + playwright-execution + browser-test + playwright-browser-connect
playwright-evidence証跡とレポートplaywright-report + playwright-evidence-drive
playwright-kit-ops実行環境の運用playwright-kit-ops(改名せず単独で維持)

playwright-kit-ops は playwright_kit パッケージ本体・tests/scripts/templates/ を持つため他へ吸収せず、ディレクトリ配置も変更していない。scripts/build-runtime-plugins.sh の除外パターン(.venv / .pytest_cache / __pycache__ / *.pyc / *.pyofind で除去)は Skill ディレクトリを丸ごと走査するため、この配置のまま従来どおり効く。

playwright-scenario-test が担っていた orchestrator の役割(大原則・全体ワークフロー・クイックスタート)は、工程の入口である playwright-planning へ移した。

統合前後の行数

SKILL.md の行数。

統合後行数統合元行数
playwright-planning124playwright-test-planning 97 + playwright-scenario-test 68165
playwright-authoring250playwright-script-creation 108 + playwright-execution 101 + browser-test 159 + playwright-browser-connect 484852
playwright-evidence172playwright-report 55 + playwright-evidence-drive 190245
playwright-kit-ops116playwright-kit-ops 119119
合計6621,381

SKILL.md 合計は 1,381 → 662 行(-52%)。統合元に 484 行(上限 500 行間際)の playwright-browser-connect があったため、CDP 接続の手順を playwright-authoring/references/browser-connection.md(326 行)へ分割した。補助ファイルを含めても 1,381 → 988 行(-28%) で、統合前合計を下回る。全 SKILL.md は 500 行以内(最大 250 行)に収まっている。

playwright-browser-connect では Chrome 起動コマンドが Windows で 3 回・macOS で 2 回重複し、--remote-allow-origins=* の説明も 3 箇所にあった。これらをフラグ表 1 つへ集約したことが削減の主因である。

manifest の判断

manifest変更
claude-skills.txtbrowser-testplaywright-authoring(用途順の同位置を維持、29 個で不変)
kiro-skills.txt同上(28 個で不変)
codex-skills.txtplaywright-execution / playwright-kit-ops / playwright-report / playwright-script-creation / playwright-test-planning の 5 個 → playwright-authoring / playwright-evidence / playwright-kit-ops / playwright-planning の 4 個(アルファベット順、30 → 29 個)

判断理由:

  • claude / kiro に playwright-authoring のみを載せる: 統合前に両 runtime へ配布していたのは browser-test 1 個だけで、pytest ベースの一式は codex 限定だった。browser-test の内容は「MCP でのブラウザ動作確認」節として playwright-authoring に入ったため、この 1 個を置き換えれば従来の配布範囲を過不足なく引き継げる。playwright-kit-ops を追加すると Python パッケージ一式が両 runtime の配布物に加わり、配布範囲の拡大という別判断になるため本 PR では行わない。
  • codex に playwright-evidence を載せる: 統合元のうち playwright-report は codex に載っており、playwright-evidence-drive は載っていなかった。統合後は Drive 連携の記述を含むが、playwright-kit-ops が既に「Codex 公開セットには google-auth skill を同梱しないため GOOGLE_AUTH_SCRIPTS を設定する」と optional dependency として案内済みで、同じ扱いで整合する。レポート生成という codex に必要な機能を落とさないことを優先した。
  • playwright-authoring の「関連 Skill」に、他の 3 個が codex 公開セット同梱であり claude / kiro では plugins/ndf-shared/skills/ を参照する旨を注記した。

frontmatter

description は二重引用符で囲み、最初の 1 文に「何をするか + 主要トリガ」を置いた。when_to_use には追加トリガのみを残している。<> は含まない。

Skilldescriptionwhen_to_use合計
playwright-planning239161400
playwright-authoring269249518
playwright-evidence238176414
playwright-kit-ops56266322

いずれも運用目標 300 文字以内 / 合計 1,536 文字以内に収まる。

disable-model-invocation の付け外しは Task 0-7 の担当範囲のため行っていないが、統合元 4 個のうち browser-test だけがこれを持っていたため、統合により結果として外れている(残る 3 個は自動発動可)。3 個分の自動発動を失う方が損失が大きいと判断した。browser-testargument-hint: "[url]" は URL 指定のスモーク確認で使うため引き継いだ。Task 0-7 で再評価する。

更新した参照箇所

ファイル内容
plugins/ndf-shared/manifests/{claude,codex,kiro}-skills.txt上表のとおり
plugins/ndf-claude/.claude-plugin/plugin.json./skills/browser-test./skills/playwright-authoring
README.mdSkill 一覧の分類と個数(PR/レビュー 13 → 12、E2E/Playwright 6 → 4、元 Skills 49 → 44、codex 公開 30 → 29)。あわせて集計漏れだった statusline を運用カテゴリへ追加し、内訳の合計を総数と一致させた
plugins/ndf-shared/skills/issue-plan-strategy/SKILL.md/ndf:playwright-scenario-test/ndf:playwright-planning(2 箇所)
plugins/ndf-shared/skills/playwright-kit-ops/SKILL.md関連 Skill を統合後の 3 個へ
playwright-kit-ops/templates/conftest.py.template / templates/scenario.config.yaml/ndf:playwright-browser-connect/ndf:playwright-authoring
playwright-kit-ops/playwright_kit/pytest_plugin.py / playwright_kit/fixtures/__init__.pydocstring と pytest option group の表示名から、存在しなくなる Skill 名 playwright-scenario-test を除去

plugins/ndf-{claude,codex,kiro}/skills/bash scripts/build-runtime-plugins.sh で同期した生成物であり、直接編集していない。issues/ 配下のプラン文書、docs/superpowers/plans|specs/docs/external-reviews/ は当時の記録であるため書き換えていない。

Test plan

  • bash scripts/build-runtime-plugins.sh — 生成物を同期
  • bash scripts/build-runtime-plugins.sh --checkruntime plugin generated files are up to date(差異なし)
  • python3 scripts/check-markdown-links.py --root .Markdown local links are valid
  • bash scripts/validate-runtime-plugins.shruntime plugin validation passedclaude plugin validate 2 件、manifest / 生成パス検査、Kiro installer の dry-run を含む)
  • 旧 Skill 名 9 個の全文検索で、履歴文書(issues/ / docs/superpowers/ / docs/external-reviews/)以外に残存参照なし
  • SKILL.md が 500 行以内(最大 playwright-authoring 250 行)
  • 統合後の SKILL.md 合計 662 行 < 統合前合計 1,381 行

release PR: #66

@takemi-ohamatakemi-ohama mentioned this pull request Aug 8, 2026
21 tasks
Task 0-5。ブラウザ自動テスト関連の 9 Skill を工程単位で 4 個に集約する。
- playwright-planning ← playwright-test-planning + playwright-scenario-test
- playwright-authoring ← playwright-script-creation + playwright-execution
+ browser-test + playwright-browser-connect
- playwright-evidence ← playwright-report + playwright-evidence-drive
- playwright-kit-ops は実行環境ディレクトリを持つため単独で維持
単純連結ではなく重複記述を落として再構成し、SKILL.md 合計は 1,381 行から
662 行へ削減した。playwright-browser-connect の CDP 接続手順は
playwright-authoring/references/browser-connection.md へ分割し、
全 SKILL.md を 500 行以内に収めた。
manifest は claude / kiro の browser-test を playwright-authoring に置換し、
codex の playwright 系 5 個を統合後の 4 個へ置換した。
旧 Skill 名への参照 (README / plugin.json / issue-plan-strategy /
playwright_kit の docstring とテンプレート) をすべて更新した。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGejnYyYFuSkQjBhW2KQNy

@takemi-ohamatakemi-ohama left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

🤖 cross-review | round 1 | codex | APPROVE

修正必須の指摘はありません。

@takemi-ohamatakemi-ohama left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

🤖 cross-review | round 1 | gemini | APPROVE

Skill 統合・削除の網羅性、および 3 ランタイム (Claude Code / Codex / Kiro) への配布物・manifest 反映を重点的に確認しました。
削除・統合対象の参照漏れはなく、manifest の更新も正確に行われています。修正が必要な点はありません。

削除 8 個 (PR #72) とブラウザ自動テスト集約 (PR #71) の両方を反映するよう
README.md の Skill 一覧を再構成し、実数 (shared 36 / claude 27 / codex 27 /
kiro 26) と一致させた。

@takemi-ohamatakemi-ohama left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

🤖 cross-review | round 2 | codex | APPROVE

修正必須の指摘はありません。旧 Skill 名の参照漏れ、3 runtime の manifest / 生成物同期、Markdown link、runtime plugin validation を確認しました。

@takemi-ohamatakemi-ohama left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

🤖 cross-review | round 2 | gemini | APPROVE

Skill の統合・削除による不要ファイルのパージと、それに伴う各ランタイム向け plugin.json やマニフェストファイル (codex-skills.txt, claude-skills.txt, kiro-skills.txt) の整合性を確認しました。

  • 削除された古い Skill (browser-testpython-execution 等) への参照漏れがないことを確認済みです。
  • playwright_kit へのリネーム、および配布先ごとの Skill 選別がマニフェストおよびドキュメントに正しく反映されており、設計や仕様に矛盾や問題はありません。

@takemi-ohama
takemi-ohama marked this pull request as ready for review August 8, 2026 03:36
@takemi-ohama
takemi-ohama merged commit 411aaec into release/skill-inventoryAug 8, 2026
6 checks passed
takemi-ohama added a commit that referenced this pull request Aug 8, 2026
release ブランチ側の削除 (PR #71 ブラウザ自動テスト集約 / PR #72 Skill 削除) と
本ブランチ側の統合 (review / fix) の双方を反映した。
- manifest 3 種と plugin.json は両者の削除を反映した積集合にした
(claude 24 / codex 24 / kiro 23、shared 33)
- browser-test は playwright-authoring へ統合済みのため削除し、
同 Skill に残っていた /ndf:review-branch 参照を /ndf:review --branch へ更新
- README の Skill 一覧と個数を実体に一致させた
takemi-ohama added a commit that referenced this pull request Aug 8, 2026
release ブランチ側の統合・削除 (PR #68 review/fix 系、#71 ブラウザ自動テスト、
#72 Skill 削除) と本ブランチ側の git 系統合の双方を反映した。
- manifest 3 種と plugin.json は両者の削除を反映した積集合にした
(claude 21 / codex 21 / kiro 20、shared 30)
- README と docs/ndf-plugin-reference.md の Skill 一覧を実体に一致させた
- issue-plan-strategy の関連 Skill を、両ブランチの更新をあわせた形にした
takemi-ohama added a commit that referenced this pull request Aug 8, 2026
並行 PR (#68 review/fix 系統合、#71 ブラウザ自動テスト集約、#72 Skill 削除) が
先に release へ入ったため、本ブランチの external-ai 統合と競合していた。
競合解消方針:
- manifest / plugin.json の skills は両ブランチの削除を両方反映 (積集合)。
release が消した review-branch / review-pr-comments / resolve-pr-comments /
browser-test と、本ブランチが消した codex / gemini をいずれも除去し、
release が追加した playwright-authoring と本ブランチの external-ai を残した。
- review / cross-review SKILL.md は release 側の再構成をベースに採用し、
本ブランチの /ndf:codex /ndf:gemini → /ndf:external-ai 参照差し替えを再適用。
- README.md の Skill 一覧と個数は plugins/ndf-shared/skills/ と manifest の
実数から数え直した (元Skills 32個 / Claude 23・Kiro 23・Codex 25)。
- plugins/ndf-{claude,codex,kiro}/skills/ は共有側を直したうえで
scripts/build-runtime-plugins.sh で再生成。
@takemi-ohama
takemi-ohama deleted the feature/inventory-merge-playwright branch August 14, 2026 03:59
Sign up for freeto 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

@takemi-ohama