| name | translate-permissions |
| description | Claude Code の許可設定(permissions)を Kiro CLI カスタムエージェント設定に翻訳する。 Triggers on "translate-permissions", "Kiro変換", "kiro config", "permission to kiro", "Kiroエージェント", "kiro agent". 将来的に --reverse フラグで Kiro → Claude の逆変換にも対応予定。
|
| argument-hint | [--agent-name {name}] [--scope global|project|all] |
| allowed-tools | Bash(python3 *translate-permissions.py:*), Bash(python3 ~/.claude/plugins/cache/ikeisuke-skills/tools/*/skills/translate-permissions/*) |
Translate Permissions
Claude Code の許可設定を Kiro CLI カスタムエージェント設定 JSON に翻訳する。
チェックリスト
タスク進捗:
- [ ] Step 1: スクリプト実行(設定読み込み+翻訳)
- [ ] Step 2: 出力確認(スキップされたルールの説明)
- [ ] Step 3: 保存先の案内
Step 1: スクリプト実行
絶対パスで実行すること(allow ルールにマッチさせるため)。
python3 /path/to/skills/translate-permissions/scripts/translate-permissions.py [OPTIONS]
スキルの Base directory からスクリプトの絶対パスを組み立てる。
オプション
| Flag | Description | Default |
|---|
--agent-name <name> | Kiro エージェント名 | translated-agent |
--description <text> | エージェント説明文 | Translated from Claude Code settings |
--scope <scope> | 読み込み対象: global, project, all | all |
--input <path> | 設定ファイルパス(自動検出の代わり) | 自動検出 |
--agent-name のデフォルト
ユーザーが --agent-name を明示していない場合、カレントリポジトリ名を使用する。
Step 2: 出力確認
出力 JSON を確認し、以下を説明する:
_skippedClaudeRules に含まれるルール — Kiro に対応がないためスキップされたもの(Skill ルール、MCP deny 等)
- MCP ツール参照 (
@server/tool) — サーバー定義 (mcpServers) は手動追加が必要
- Bash パターンの正規表現変換 — Claude の glob (
*) が Kiro の regex (.*) に変換されている点を確認
toolsSettings の各ツール設定 — read/write/glob/grep の allowedPaths/deniedPaths、shell の allowedCommands/deniedCommands、web_fetch の trusted/blocked
Kiro 固有設定の提案
以下の Kiro 固有設定はスクリプトでは自動生成しない。必要に応じて手動追加を案内する:
| 設定 | 推奨条件 |
|---|
shell.autoAllowReadonly: true | Claude の SAFE 分類コマンド(ls, cat, git status 等)が多い場合 |
shell.denyByDefault: true | Claude で厳格な allow リストを使っている場合 |
glob.allowReadOnly: true / grep.allowReadOnly: true | Claude で Glob/Grep がスコープなし allow の場合 |
マッピングの詳細は references/mapping-rules.md を参照。
Step 3: 保存先の案内
生成された JSON の保存先をユーザーに案内する:
- プロジェクト用:
.kiro/agents/<agent-name>.json
- グローバル用:
~/.kiro/agents/<agent-name>.json
_skippedClaudeRules フィールドは情報提供用。Kiro は未知のフィールドを無視するため、そのまま保存しても問題ない。不要であれば削除を案内する。
Examples
User: 「Kiro変換して」
→ カレントリポジトリの Claude Code 設定を読み込み、Kiro エージェント JSON を生成。
User: "translate-permissions --scope global"
→ グローバル設定のみを対象に翻訳。
Troubleshooting
設定ファイルが見つからない
~/.claude/settings.json または .claude/settings.json が必要。--input で直接パスを指定することも可能。
MCP ツールがスキップされる
Kiro のエージェント設定では mcpServers の定義が別途必要。_skippedClaudeRules を参照して手動設定する。
Permissions
このスキルは以下のツールを自動承認して使用する:
Bash(python3 *translate-permissions.py:*) — 翻訳スクリプトの実行
Bash(python3 ~/.claude/plugins/cache/ikeisuke-skills/tools/*/skills/translate-permissions/*) — プラグインキャッシュ経由での実行
スクリプトは ~/.claude/settings.json および .claude/settings*.json を読み取り専用で解析する。ファイルの書き換えや外部通信は行わない。