用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aws-samples/sample-text2sql-agent --skill agent-admin命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | agent-admin |
| description | Agent の system_prompt、Knowledge の参照・変更、Agent の新規作成に使う。 |
このスキルは Agent 設定(system_prompt, db_schema, Knowledge)を CLI から参照・変更するためのものです。Admin UI と同じ操作の一部を、同梱の Python スクリプト経由で実行できます。
uv (Python tool manager) がインストールされていること各スクリプトは PEP 723 のインラインメタデータで boto3 を宣言しているため、uv run が初回実行時に依存を自動解決します。pyproject.toml や venv のセットアップは不要です。
このスキルを初めて使うとき、ユーザーに以下を聞いてください:
DwhAgentStack-DatabaseConfigTableXXXXXX-YYYYYYap-northeast-1一度教えてもらったら、以降の会話ではそのまま使い回してください。以下のコマンド例では $TABLE / $REGION をそれぞれの値で置き換えてください。
すべて .kiro/skills/agent-admin/scripts/ 配下にあります。Kiro が実行するときはワークスペース相対パスで呼び出してください。
| スクリプト | 目的 |
|---|---|
list_agents.py | Agent 一覧を取得 |
create_agent.py | 新規 Agent を作成 |
get_agent.py | 1 Agent の全属性(system_prompt, db_schema, Knowledge, メタ情報)を取得 |
update_system_prompt.py | system_prompt を差し替え |
upsert_knowledge.py | Knowledge エントリ 1 件を追加または差し替え |
delete_knowledge.py | Knowledge エントリ 1 件を name で削除 |
各スクリプトは成功時 stdout に JSON を返し、失敗時 stderr にメッセージを出して非ゼロで終了します。成功時だけ json.loads(stdout) してください。
UI・スクリプト・このドキュメントではすべて Knowledge と呼びます。
system_prompt や Knowledge エントリのように改行・引用符を含みうるテキストを渡すときは、必ず Kiro の native fsWrite ツール で一時ファイルを作成し、そのパスを --*-file 引数に渡してください。
echo ... >, cat <<EOF >, ヒアドキュメントなどのシェル経由のファイル作成は 使わないfsWrite はシェルを介さないので、クォート・エスケープ・EOF マーカーの問題が原理的に発生しないuv run .kiro/skills/agent-admin/scripts/list_agents.py \
--table-name "$TABLE" --region "$REGION"
ユーザーが新しい Agent を追加したいと言ったら:
agent_name(表示名)と system_prompt をユーザの要望にあわせて決定し、system_prompt を fsWrite で一時ファイルに書き出す# system_prompt をファイルから読ませる場合
uv run .kiro/skills/agent-admin/scripts/create_agent.py \
--table-name "$TABLE" --region "$REGION" \
--agent-name "売上分析 Agent" \
--system-prompt-file ./tmp/new_prompt.txt
# system_prompt を空で作る場合
uv run .kiro/skills/agent-admin/scripts/create_agent.py \
--table-name "$TABLE" --region "$REGION" \
--agent-name "売上分析 Agent"
db_schema は空で作成されます。Agent 実行時に db_schema が空の場合、Agent Runtime が自動的に "default" Agent の db_schema をフォールバックとして使用します。
# default Agent
uv run .kiro/skills/agent-admin/scripts/get_agent.py \
--table-name "$TABLE" --region "$REGION"
# 指定した Agent
uv run .kiro/skills/agent-admin/scripts/get_agent.py \
--table-name "$TABLE" --region "$REGION" --id 3f2c1d4e-...
get_agent.py は 1 回の呼び出しで agent_name, system_prompt, db_schema, knowledge(配列), created_at, updated_at をすべて返します。--field のような絞り込みはありません(必要な部分だけ Kiro 側で取り出してください)。
db_schema フォールバックに注意: 対象 Agent の db_schema が空のとき、get_agent.py は自動的に id="default" の db_schema を返し、出力 JSON に db_schema_source: "default" を付けます(通常は "self")。Agent Runtime と同じ挙動です。今見ている db_schema が自前のものか default 由来かは db_schema_source で判別してください。
fsWrite で新しい system_prompt を一時ファイルに書く(例: ./tmp/new_prompt.txt)uv run .kiro/skills/agent-admin/scripts/update_system_prompt.py \
--table-name "$TABLE" --region "$REGION" \
--id 3f2c1d4e-... --prompt-file ./tmp/new_prompt.txt
--id は Agent の ID です。省略時は default を対象にします。
Knowledge エントリは以下の形式の Markdown 文字列です:
---
name: <kebab-case の識別子>
description: <説明と、どの様な会話でこのknowledgeを使うかについて簡潔に>
---
<Markdown 形式の指示内容>
fsWrite で 1 エントリ分を一時ファイルに書く(例: ./tmp/k1.md)uv run .kiro/skills/agent-admin/scripts/upsert_knowledge.py \
--table-name "$TABLE" --region "$REGION" \
--id 3f2c1d4e-... --knowledge-file ./tmp/k1.md
--id は Agent の ID です。省略時は default を対象にします。
動作:
--- で挟まれた YAML メタデータブロック)から name を抽出name があれば その場で差し替え、なければ 末尾に追加action が "updated" か "added" かで結果がわかる制約:
name は空でない文字列であること(空白のみも不可)--- で連結したファイルは非対応)upsert_knowledge.py を順に呼ぶuv run .kiro/skills/agent-admin/scripts/delete_knowledge.py \
--table-name "$TABLE" --region "$REGION" \
--id 3f2c1d4e-... --name k1
--id は Agent の ID です。省略時は default を対象にします。
--name は削除対象の frontmatter の name と完全一致する必要があります。存在しなければエラー終了します。
⛔ db_schema の変更は厳禁。このスキルからは変更手段を提供していません。
db_schema は Admin UI の CSV アップロード → AI 分析 → Apply フローによってのみ管理されます。CLI やスクリプトから db_schema を変更すると、Redshift 上の実テーブル定義との不整合が発生し、Agent が誤った SQL を生成する原因となります。
ユーザーから db_schema の変更を依頼された場合:
get_agent.py 経由)のみ可能get_agent.py で現在の値を確認することを推奨するfsWrite で一時ファイルに書いてから --*-file で渡すこと失敗時は stderr の内容をそのまま読めば原因がわかる形で返します。get_agent.py で fallback が必要な状況で default Agent が存在しなかった場合は、stderr に警告を出しつつ exit 0 で返します(db_schema_source: "default", db_schema: "")。Kiro は stdout の db_schema_source を見れば判別できます。