Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

Agent Admin

  • 1 installs
  • 8 repo stars
  • Updated July 30, 2026
  • aws-samples/sample-text2sql-agent

Agent Admin is a Claude Code skill that manages a deployed text2sql agent's system prompt and Knowledge entries from the CLI via bundled boto3 scripts.

About

This skill lets an agent administer a deployed text2sql agent's configuration from the CLI using bundled Python scripts. A developer uses it to list agents, create new ones, and view or replace a system prompt and Knowledge entries stored in a DynamoDB config table. It explicitly forbids changing db_schema, which must be managed through the Admin UI to stay consistent with Redshift. Documentation is in Japanese.

  • CLI admin for a deployed text2sql agent: view and edit system_prompt and Knowledge
  • Bundled Python scripts run via uv, auto-resolving boto3 against a DynamoDB config table
  • Strictly read-only for db_schema, which is managed through the Admin UI only

Agent Admin by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #14,102 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
At a glance

agent-admin capabilities & compatibility

Capabilities
agent configuration
Works with
aws
Use cases
database
From the docs

What agent-admin says it does

ターミナルに AWS credentials が設定されていること
SKILL.md
⛔ **db_schema の変更は厳禁。このスキルからは変更手段を提供していません。**
SKILL.md
npx skills add https://github.com/aws-samples/sample-text2sql-agent --skill agent-admin

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars8
Last updatedJuly 30, 2026
Repositoryaws-samples/sample-text2sql-agent

What it does

Manage a deployed text2sql agent's system prompt and Knowledge entries from the CLI via boto3 scripts.

Who is it for?

Viewing and editing a live text2sql agent's system_prompt and Knowledge entries stored in a DynamoDB config table.

Skip if: Changing db_schema, which the docs forbid from the CLI and require the Admin UI CSV upload flow.

When should I use this skill?

The user wants to inspect, create, or update a text2sql agent's system prompt or Knowledge from the terminal.

By the numbers

  • 6 bundled scripts (list, create, get, update prompt, upsert/delete knowledge)

Files

SKILL.mdMarkdownGitHub ↗

Admin

このスキルは Agent 設定(system_prompt, db_schema, Knowledge)を CLI から参照・変更するためのものです。Admin UI と同じ操作の一部を、同梱の Python スクリプト経由で実行できます。

前提条件

  • ターミナルに AWS credentials が設定されていること
  • uv (Python tool manager) がインストールされていること

各スクリプトは PEP 723 のインラインメタデータで boto3 を宣言しているため、uv run が初回実行時に依存を自動解決します。pyproject.toml や venv のセットアップは不要です。

初回セットアップ

このスキルを初めて使うとき、ユーザーに以下を聞いてください:

1. Agent 設定テーブル名

  • 例: DwhAgentStack-DatabaseConfigTableXXXXXX-YYYYYY
  • CDK デプロイ出力や AWS コンソールから確認できる

2. AWS リージョン

  • 例: ap-northeast-1

一度教えてもらったら、以降の会話ではそのまま使い回してください。以下のコマンド例では $TABLE / $REGION をそれぞれの値で置き換えてください。

スクリプト一覧

すべて .kiro/skills/agent-admin/scripts/ 配下にあります。Kiro が実行するときはワークスペース相対パスで呼び出してください。

スクリプト目的
list_agents.pyAgent 一覧を取得
create_agent.py新規 Agent を作成
get_agent.py1 Agent の全属性(system_prompt, db_schema, Knowledge, メタ情報)を取得
update_system_prompt.pysystem_prompt を差し替え
upsert_knowledge.pyKnowledge エントリ 1 件を追加または差し替え
delete_knowledge.pyKnowledge エントリ 1 件を name で削除

各スクリプトは成功時 stdout に JSON を返し、失敗時 stderr にメッセージを出して非ゼロで終了します。成功時だけ json.loads(stdout) してください。

用語対応

UI・スクリプト・このドキュメントではすべて Knowledge と呼びます。

入力ファイルの作成ルール(重要)

system_prompt や Knowledge エントリのように改行・引用符を含みうるテキストを渡すときは、必ず Kiro の native `fsWrite` ツール で一時ファイルを作成し、そのパスを --*-file 引数に渡してください。

  • echo ... >, cat <<EOF >, ヒアドキュメントなどのシェル経由のファイル作成は 使わない
  • fsWrite はシェルを介さないので、クォート・エスケープ・EOF マーカーの問題が原理的に発生しない
  • スクリプトは inline 文字列引数や stdin を受け付けない(ファイルパス渡しのみ)

操作

Agent 一覧取得

uv run .kiro/skills/agent-admin/scripts/list_agents.py \
  --table-name "$TABLE" --region "$REGION"

Agent の新規作成

ユーザーが新しい Agent を追加したいと言ったら:

1. agent_name(表示名)と system_prompt をユーザの要望にあわせて決定し、system_prompt を fsWrite で一時ファイルに書き出す 2. 以下を実行

# 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 をフォールバックとして使用します。

Agent の現状を見る

# 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 で判別してください。

system_prompt の更新

1. fsWrite で新しい system_prompt を一時ファイルに書く(例: ./tmp/new_prompt.txt) 2. 以下を実行

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 の追加 / 差し替え

Knowledge エントリは以下の形式の Markdown 文字列です:

---
name: <kebab-case の識別子>
description: <説明と、どの様な会話でこのknowledgeを使うかについて簡潔に>
---
<Markdown 形式の指示内容>

1. fsWrite で 1 エントリ分を一時ファイルに書く(例: ./tmp/k1.md) 2. 以下を実行

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 を対象にします。

動作:

  • ファイル冒頭の frontmatter--- で挟まれた YAML メタデータブロック)から name を抽出
  • 既存の Knowledge に同じ name があれば その場で差し替え、なければ 末尾に追加
  • 出力 JSON の action"updated""added" かで結果がわかる
  • description には、簡潔な説明とともに、どのような会話でこの Knowledge を使うかについても簡潔に記述すること。

制約:

  • name は空でない文字列であること(空白のみも不可)
  • ファイルには 1 エントリだけ書く(複数エントリを --- で連結したファイルは非対応)
  • 複数エントリを追加したいときは、エントリごとにファイルを書いて upsert_knowledge.py を順に呼ぶ

Knowledge の削除

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 の変更は厳禁。このスキルからは変更手段を提供していません。

db_schema は Admin UI の CSV アップロード → AI 分析 → Apply フローによってのみ管理されます。CLI やスクリプトから db_schema を変更すると、Redshift 上の実テーブル定義との不整合が発生し、Agent が誤った SQL を生成する原因となります。

ユーザーから db_schema の変更を依頼された場合:

  • db_schema の変更は Admin UI からのみ行えることを説明する
  • CSV の再アップロードと Apply を案内する
  • このスキルでは db_schema の参照(get_agent.py 経由)のみ可能

注意事項

  • db_schema は絶対に変更しないこと(厳禁)。参照のみ可。
  • 設定の変更は即座に Agent の動作に反映される(次回の /chat リクエストから)
  • 変更前に get_agent.py で現在の値を確認することを推奨する
  • 入力が必要な長文(system_prompt, Knowledge の本文)は必ず fsWrite で一時ファイルに書いてから --*-file で渡すこと

エラーハンドリング

  • 成功時: exit 0, stdout に JSON
  • 失敗時: 非ゼロ exit, stderr に原因メッセージ, stdout は空

失敗時は stderr の内容をそのまま読めば原因がわかる形で返します。get_agent.py で fallback が必要な状況で default Agent が存在しなかった場合は、stderr に警告を出しつつ exit 0 で返します(db_schema_source: "default", db_schema: "")。Kiro は stdout の db_schema_source を見れば判別できます。

Related skills

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.