templates/claude/skills/issue/SKILL.md
GitHub Issue の起票を自動化。タイトル・本文からラベルを自動判定し、Assignees を設定して起票する。「/issue」「Issue作成」と言った時に使用。
npx skillsauth add hirokimry/vibecorp issueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ユーザーから Issue 内容をヒアリングし、ラベル自動判定 + Assignees 設定で起票する。 結果のみを簡潔に返すこと。途中経過は不要。
gh repo view --json owner,name,defaultBranchRef --jq '.owner.login + "/" + .name'
リポジトリオーナーを Assignees のデフォルトに使用する。
gh repo view --json owner --jq '.owner.login'
以下をユーザーに確認する:
ユーザーが一度に両方提供した場合はそのまま使用する。
まずリポジトリの既存ラベル一覧を取得する。
gh label list --json name --jq '.[].name' --limit 100
次に、タイトルと本文のテキストからキーワードベースでタイプを判定し、対応するラベル候補を決定する。 タイプは Conventional Commits 形式と統一する。
| タイプ | 絵文字 | キーワード | ラベル候補 |
|-------|-------|-----------|-----------|
| feat | ✨ | 機能, 追加, 改善, feature, enhance | enhancement |
| fix | 🐛 | バグ, 不具合, エラー, bug, fix, crash | bug |
| docs | 📖 | ドキュメント, README, docs, 仕様書 | documentation |
| test | 🧪 | テスト, test, coverage, 検証 | testing |
| refactor | 🔄 | リファクタ, refactor, 整理, 統一, 移行 | refactor |
| design | 📋 | 設計, design, 計画, plan, スキーマ, 分析 | design |
| chore | ⚙️ | 雑務, 依存, chore, deps | — |
| ci | 🔧 | CI, workflow, pipeline, Actions | — |
| security | 🔒 | セキュリティ, 認証, protection, auth, gate | — |
| perf | ⚡ | パフォーマンス, 高速化, 最適化, performance | — |
| agent | 🤖 | エージェント, agent, 自律 | — |
| integrate | 🔌 | 統合, 連携, integration | — |
| release | 🚀 | リリース, 公開, publish, deploy | — |
| template | 📦 | テンプレート, template, プリセット | — |
ラベル付与ルール: 候補ラベルのうち、リポジトリに存在するものだけを付与する。存在しないラベルは除外する。
タイトル形式: <emoji> <type>: <subject>
.claude/vibecorp.yml に issue.default_assignee が定義されていればその値を使用vibecorp.yml が存在する場合のみ preset を確認する。
if [ -f "$CLAUDE_PROJECT_DIR/.claude/vibecorp.yml" ]; then
awk '/^preset:/ { print $2 }' "$CLAUDE_PROJECT_DIR/.claude/vibecorp.yml"
fi
preset が standard または full の場合のみ、CISO + CPO + SM の3者で .claude/rules/autonomous-restrictions.md に定義された自律実行不可領域(認証 / 暗号 / 課金構造 / ガードレール / MVV)と、プロダクト方針の整合性を判定する。いずれかのエージェントが「除外」判定した場合は起票を中止する。
責務分離の根拠: /autopilot / /ship-parallel の自律ループが全 open Issue を対象とするため、不可領域の門番は起票側(本スキルと /diagnose)に集約する。ship 側は起票済み Issue を信頼して実行する。
CISO エージェント(.claude/agents/ciso.md)に以下を依頼する:
以下の Issue が `.claude/rules/autonomous-restrictions.md` の自律実行不可領域に該当するかチェックしてください:
タイトル: <タイトル>
本文: <本文>
不可領域:
1. 認証(hooks/*auth*, hooks/*permission*, settings.json の permissions, gh auth, ANTHROPIC_API_KEY 扱い)
2. 暗号(encrypt/decrypt/secret/credential/token を扱うコード)
3. 課金構造(docs/cost-analysis.md, max_issues_per_day 等のコスト上限, claude -p / npx / bunx で LLM を呼ぶ箇所)
4. ガードレール(protect-files.sh, diagnose-guard.sh, forbidden_targets, diagnose-active スタンプの制御)
5. MVV(MVV.md 自体の変更)
判定: OK または 除外(該当領域名を明記)
CPO エージェント(.claude/agents/cpo.md)に以下を依頼する:
以下の Issue がプロダクト方針に合致するかチェックしてください:
タイトル: <タイトル>
本文: <本文>
判定基準:
- MVV.md のバリューに沿っているか
- docs/specification.md / docs/design-philosophy.md と矛盾していないか
- プリセットスコープの整合(full 専用機能が適切にスコープされているか)
判定: OK または 除外(理由を明記)
SM エージェント(.claude/agents/sm.md)に以下を依頼する:
以下の Issue が `.claude/rules/autonomous-restrictions.md` の不可領域に該当するかチェックしてください(CISO と独立に判定):
タイトル: <タイトル>
本文: <本文>
不可領域5分類(認証 / 暗号 / 課金構造 / ガードレール / MVV)のいずれかに該当する変更を Issue が意図している場合は「除外」と判定し、該当領域名を付記してください。
判定: OK または 除外(該当領域名を明記)
minimal、vibecorp.yml が存在しない場合、または preset キーが未定義の場合 → このステップを全てスキップ(3者フィルタなし)minimal プリセットの安全性: minimal では 3者フィルタが動作しないが、/autopilot / /ship-parallel が full プリセット専用のため、不可領域 Issue が自動実装される経路は存在しない。CEO が明示的に /ship を呼ぶ手動実装のみ可能で、これは CEO の意思による承認ルートとして許容される。
gh issue create --title "<emoji> <type>: <subject>" --body "<本文>" --assignee "<assignee>" --label "<label1>" --label "<label2>"
ラベルなしの場合は --label オプションを省略する。
起票した Issue の URL を返す。
\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠)--label に渡さない(gh issue create がエラーになるため)vibecorp.yml が存在しない、または issue.default_assignee が未定義でも正常に動作すること<Issue URL>
タイトル: <emoji> <type>: <subject>
ラベル: <付与したラベル一覧(なしの場合は「なし」)>
担当者: <assignee>
❌ 起票を見送りました
### 判定結果
- CISO: {OK / 除外(理由)}
- CPO: {OK / 除外(理由)}
- SM: {OK / 除外(該当領域: 認証 / 暗号 / 課金構造 / ガードレール / MVV のいずれか)}
### 却下理由
<除外と判定したエージェントの理由を要約>
### 対処方針
- 不可領域に該当する場合: MVV に立ち返って Issue の目的を再検討するか、CEO による手動承認・実装を検討してください
- MVV 不整合の場合: MVV.md に照らし合わせて Issue タイトル・本文を修正してください
data-ai
skills/**/SKILL.md 内に embed された 5 行以上のエージェント呼出プロンプトテンプレ・長文ブロックを .claude/rules/notification-prompt-extraction.md 基準で skills/<skill>/prompts/<name>.md に切り出す migration skill。「/prompts-extract-all」「プロンプト切り出し」「プロンプト extract」「SKILL.md プロンプト migration」と言った時に使用。検出は awk でフェンスコードブロックを抽出して行数カウント、要否判定は LLM が閾値・用途軸・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
documentation
.github/workflows/**/*.{yml,yaml} の --body 通知文と hooks/**/*.sh の長文 echo/printf/heredoc を .claude/rules/notification-prompt-extraction.md 基準で個別 .md ファイルに切り出す migration skill。「/notifications-extract-all」「通知文切り出し」「通知文 extract」「workflow 通知 migration」と言った時に使用。検出は grep で機械絞り込み、要否判定は LLM が閾値・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
development
`**/*.sh` / `**/*.js` / `**/*.ts` / `**/*.py` / `**/*.rb` / `**/*.go` / 設定ファイル等のコード内コメントを一括棚卸しし、 `.claude/rules/code-comments.md` と機械的に照合する。 diff 提案 → CEO 承認 → 書換の 2 段階で自動マージを禁じる。 生成コード・`node_modules`・`vendor`・`dist`・`build` 等は除外する。 「/vibecorp:comments-rewrite-all」「コメント全書き直し」「コード内コメント棚卸し」 と言った時に使用。
development
skills/**/SKILL.md・agents/*.md・.claude/rules/*.md を .claude/rules/prompt-writing.md 基準で一括書き直し提案するスキル。「/prompts-rewrite-all」「プロンプト書き直し」「スキル一括書き直し」「エージェント書き直し」と言った時に使用。claude-code-guide サブエージェントで Claude Code 公式仕様(docs.claude.com)を確認し、prompt-writing.md の指針 MUST / 禁止パターンと照合する。diff 提案 → CEO 承認 → 書き換えの 2 段階で挙動を壊さず適用する。自動マージ禁止。