skills/approve-audit/SKILL.md
コマンドログを棚卸しし、settings.local.json の allow リストへの追加を提案・実行する。「/vibecorp:approve-audit」「許可リスト更新」「コマンド棚卸し」と言った時に使用。
npx skillsauth add hirokimry/vibecorp approve-auditInstall 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.
[!IMPORTANT] このスキルはコマンドログを棚卸しし、
settings.local.jsonの allow リストへの追加を提案・実行 する。 ユーザーの承認なしにsettings.local.jsonを変更しない。 全提案はAskUserQuestionで明示確認を取る。
コマンドログを棚卸しし、settings.local.json の allow リストを最適化する。
--worktree <path> が指定された場合、全操作を指定パス内で実行する。
cd <path> && command で実行する。<path>/ を基準とした絶対パスを使用する。$CLAUDE_PROJECT_DIR: worktree モードでは <path> に置き換える。ログファイルを読み込む。
ログファイルパス: ~/.cache/vibecorp/state/<repo-id>/command-log(.claude/lib/common.sh の vibecorp_state_path command-log で取得)
source "$CLAUDE_PROJECT_DIR"/.claude/lib/common.sh
log_file="$(vibecorp_state_path command-log)"
cat "$log_file"
ログファイルが存在しない、または空の場合は「記録されたコマンドがありません」と報告して終了する。
if [ -f "$CLAUDE_PROJECT_DIR"/.claude/settings.local.json ]; then
cat "$CLAUDE_PROJECT_DIR"/.claude/settings.local.json
else
echo '{"permissions":{"allow":[]}}'
fi
ファイルが存在しない場合、または permissions.allow が空の場合は空リストとして扱う。
permissions.allow 配列の各エントリを取得する。パターンの形式は以下のとおり。
| パターン | 意味 |
|---|---|
| Bash(prefix:*) | コマンドプレフィックスマッチ |
| Bash(exact) | 完全一致 |
ログの各コマンドに対して allow パターンとの照合を行い、マッチしないコマンド を抽出する。
照合ルール:
Bash(prefix:*) パターン: コマンドが prefix で始まればマッチ。Bash(exact) パターン: コマンドが完全一致すればマッチ。未許可コマンドを分析し、類似コマンドをグルーピングしてパターンを提案する。
パターン化のガイドライン:
Bash(command:*) にまとめる(例: npm run build, npm run test → Bash(npm run:*))。git diff HEAD, git diff main → Bash(git diff:*))。提案フォーマット:
## コマンドログ棚卸し結果
ログ期間: {最初のタイムスタンプ} 〜 {最後のタイムスタンプ}
記録コマンド数: {総数}
未許可コマンド数: {件数}
### allow リスト追加提案
| # | パターン | 実行回数 | 代表コマンド |
|---|---------|---------|------------|
| 1 | Bash(npm run:*) | 5 | npm run build, npm run test |
| 2 | Bash(docker compose:*) | 3 | docker compose up, docker compose down |
| 3 | Bash(rm -rf node_modules) | 1 | rm -rf node_modules |
追加するパターンの番号を指定してください(例: 1,2)。
全て追加する場合は「all」、キャンセルする場合は「none」と入力してください。
AskUserQuestion でユーザーの選択を取得する。
承認されたパターンを settings.local.json の permissions.allow に追加する。
cat "$CLAUDE_PROJECT_DIR"/.claude/settings.local.json
ファイルが存在しない場合は新規作成する。
{
"permissions": {
"allow": []
}
}
既存の allow リストに承認されたパターンを追加する。jq では string interpolation \(...) を使わない — 必ず + で結合する(根拠)。
書き込み後、追加されたパターンを報告する。
ユーザーに「ログファイルを削除しますか?」と確認し、承認された場合のみ削除する。
source "$CLAUDE_PROJECT_DIR"/.claude/lib/common.sh
rm -f "$(vibecorp_state_path command-log)"
## /vibecorp:approve-audit 完了
- 記録コマンド数: {n}
- 未許可コマンド数: {n}
- 追加パターン数: {n}
- 追加先: .claude/settings.local.json
--force、--hard、--no-verify は使用しない。\(...) を使わない — 必ず + で結合する(根拠)。2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠)。settings.local.json を変更しない。.claude/rules/prompt-writing.md.claude/rules/markdown.md.claude/rules/shell.mddata-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 段階で挙動を壊さず適用する。自動マージ禁止。