AWS上でのAIエージェント構築に向けた統合的な入口:実行環境(プログラム実行の基盤となるコンピューティング環境)を評価・選定し、本格的な移行計画を立てて、動作確認用のプロトタイプを構築する——すべてが一つの流れで完結します。 次のような場合に使用: どの実行環境がエージェントに適しているのか、AgentCore・ECS・EKS・Lambdaのどれを選ぶべきか、AgentCore対Lambdaマイクロ仮想マシン(OS機能を含む軽量な隔離環境)、AWSへのAIエージェント導入、AWS上のエージェント構成、エージェントの構想がある場合の選択肢、既存エージェントのAWS移行、計画を伴うエージェント移行、AgentCoreサービスの追加、メモリ・ゲートウェイ・ID管理・ポリシーの組み込み、AgentCore Memoryの有効化、エージェントへの監視機能の追加、AWSを既に使っていてエージェント機能を追加したい場合、Temporal(分散ワークフローエンジン)ワーカーのAWS移行、TemporalからAWSへの移行、AWSでのTemporal実行、AWS上のTemporalワーカー、Temporalを使っている場合のAWS移行、サービスがTemporal経由で制御されている場合、TemporalワーカーのAWS環境設計、Temporal基盤のサービス移行、Temporal Cloudまたはセルフホスト型からAWSへの移行。 **段階的な処理フロー:** 1. **受け付け段階**:入口での聞き取り+技術背景の確認 2. **検出段階**:軽量なコード検出 3. **明確化段階**:状況に応じた質問 4. **スコア算出**:客観的な評点付け 5. **設計段階**:実行環境・デプロイ方式・サービス・モデルの決定 6. **見積もり段階**:粗い費用算出 7. **生成段階**:段階化された提案文書とスケルトンコード(基本枠組み)を作成 その後、選択的な詳細段階として: - **移行計画**:このプラグイン内蔵のGCP→AWS変換エンジンを再利用した本格計画を生成。顧問の決定内容を引き継ぎます - **プロトタイプ(POC)**:デプロイ計画と実行可能なプロトタイプを、推奨された実行環境(AgentCore・ECS・EKS・Lambda)上に構築。デフォルトは成果物を生成、明示的な承認で利用者のアカウント内での支援建築に切り替え可能 複数のワークロード(相互作用するエージェント、独立したエージェント、バッチ処理、サービス)を持つシステムは、個別のワークロード単位に分解され、各々が個別の評価を受けた上で統合オプションが提供されます。 AWSで既にエージェントを稼働させているチーム向けの「機能追加ブランチ」では、どのAgentCoreサービスをどの実行環境でも有効化すべきかを提案——実行環境の評点付けは行いません。 Temporalシステムは同じワークロード単位フローに変換されます。ワーカーのポーリング段階とアクティビティ実行クラス(処理分類)がユニットになります(Temporal決定リファレンス内のルール参照)。ワークフロー制御コードは決して書き直されません——Step Functions(AWSのタスク自動化サービス)への変換は行いません。 **適用条件**:最低1つのエージェント成分が必須。純粋な非エージェント型システム(通常のサービス・バッチ処理・HTTPエンドポイントのみ、もしくはTemporalワーカーのアクティビティがすべて非エージェント型)は対象外です。明確化段階で処理を中止し、GCP→AWS / Heroku→AWS / LLM→Bedrock用のツールに案内します。 **対象外**:AIエージェントを伴わない純粋な計算・データ移行、エージェント構成設計なしのLLMツールキットの書き直し(llm-to-bedrockを使用してください)、詳細なモデル別料金設定。
Unified entry point for AI-agent work on AWS: evaluate and pick a runtime, generate a full migration plan (for existing workloads), and build an executable POC — all in one flow. Triggers on: which runtime for my agent, AgentCore vs ECS vs EKS vs Lambda, AgentCore vs Lambda MicroVMs, deploy an AI agent on AWS, agent architecture on AWS, I have an agent idea what do I build, move my agents to AWS, migrate my agents to AWS with a plan, agent migration plan, add AgentCore services, add memory/gateway/identity/policy to my agent, enable AgentCore Memory, add observability to my agent, I'm already on AWS and want to add agent capabilities, migrate Temporal workers to AWS, Temporal to AWS, run Temporal on AWS, Temporal workers on AWS, we use Temporal and want to move to AWS, our service is orchestrated by Temporal, what do I build on AWS for my Temporal workers, move a Temporal-based service to AWS, Temporal Cloud or self-hosted on AWS. Runs a phased flow: Intake (entry point + technical background), Discover (lightweight code detection), Clarify (adaptive questions), deterministic scoring, Design (runtime + deployment model + services + model), Estimate (coarse cost), Generate (layered recommendation doc + scaffolding), then optional gated stages: Migration Plan (full plan generated in-skill by reusing this plugin's gcp-to-aws engine, with the advisor's decisions carried over) and POC (deployment plan + deployable proof-of-concept on the recommended runtime — AgentCore, ECS, EKS, or Lambda; generated deliverables by default, or assisted build in your account on explicit opt-in). Systems with several workloads (interacting or independent agents, batch jobs, services) are decomposed into workload units, each getting its own verdict with a consolidation option. An add-capabilities branch (for teams already running agents on AWS) recommends which AgentCore services to enable on any runtime — no runtime scoring. Temporal systems dissolve into the same unit flow — worker polling tiers and Activity execution classes become units (rules in the Temporal decision reference); Workflow orchestration code is never rewritten — never a Step Functions translation. Requires at least one agentic component: a purely non-agent system (only plain services / batch jobs / HTTP endpoints, or a Temporal worker whose Activities are all non-agent) is out of scope — Clarify halts it (scope gate) and points to gcp-to-aws / heroku-to-aws / llm-to-bedrock. Not for: pure compute/data migration with no AI agent; pure LLM SDK rewrite without agent architecture (use llm-to-bedrock); or detailed per-model pricing.
Helps startups decide how and where to run AI agents on AWS. Deterministic scoring recommends a runtime; the conversation adapts to the user's technical background.
$RUN_DIR = the run directory under .agent-advisor/ (e.g. .agent-advisor/0630-1430/),
created in Intake.$PLUGIN = ${CLAUDE_PLUGIN_ROOT} (the installed plugin root). On Claude Code this token
substitutes inline. If ${CLAUDE_PLUGIN_ROOT} does not resolve (some Cursor/Codex builds,
or a literal ${CLAUDE_PLUGIN_ROOT} string showing up in a path error), fall back to the
skill's own directory: this SKILL.md lives at <plugin>/skills/agent-advisor/SKILL.md, so the
engine and its data are all inside this skill — scripts at ./scripts/..., runtime profiles at
./references/runtimes/..., and decision refs at ./references/decision-refs/... relative to
it. Prefer ${CLAUDE_PLUGIN_ROOT}/skills/agent-advisor/...; use the relative fallback only when
it fails to resolve.uv available (for scoring). Check: uv --version. If missing, tell the user to install
it from the official install guide (https://docs.astral.sh/uv/getting-started/installation/ — e.g. brew install uv or pipx install uv) and stop.Phase, fragment, and assembler files carry a YAML frontmatter block that declares how each
phase is composed — its inputs, triggers, fragments, assembler, artifacts, gates, and
ordering. The execution contract is the vendored references/vendored/dsl/INTERPRETER.md:
it defines every frontmatter key, the fragment/assembler model, the gate protocol
(HANDOFF_OK / GATE_FAIL), and the interpreter loop. Load it first (once, at the
start of a run), then execute each phase file's prose body. Elsewhere in this skill,
INTERPRETER.md (without a path) refers to this loaded contract.
This skill is driven by the interpreter loop in INTERPRETER.md (§ The interpreter loop):
it reads .phase-status.json, determines the current phase, runs each phase's
_preconditions / fragments / _assemble / _postconditions, advances on HANDOFF_OK
via _advances_to, and validates state. The backbone (intake → discover → clarify →
confirm → design → estimate → generate → migration-plan → poc → complete) and the
one sidebar branch (add-capabilities) are derived
from the phase files' frontmatter — they are not restated here.
Cold start (entry phase). With no run under .agent-advisor/ carrying a
.phase-status.json, begin at references/phases/intake/intake.md — this skill's entry
phase (the one carrying _init: true). On a warm start, current_phase in
.phase-status.json is authoritative (INTERPRETER.md § The interpreter loop).
Skill bindings (INTERPRETER.md § Skill bindings). This skill declares:
.agent-advisor/ — $RUN_DIR is this skill's name for the run directory
(.agent-advisor/[MMDD-HHMM]/). Intake's own prose performs the _init bootstrap.entry_point,
audience, recommendation_reviewed, migration_plan_ctx, migration_plan_unavailable);
the shared state schema is not vendored.$RUN_DIR/seed.json, else .agent-advisor/seed.json at the run root
(schema scripts/schemas/seed.json) supplies
machine-readable answers for a non-interactive run — the Clarify dimensions, the two gate
answers, the POC mode, the live-probe answer, and a co_recommend tie-break. It is the
HIGHEST-precedence source for every value it carries (clarify.md Step 2.5), which is what makes
a repeated run's score comparable: the deterministic engine gets byte-identical input. A gate
the seed omits is declined; a dimension the seed omits falls through to detection, then prose,
then an assumed value that MUST be recorded in $RUN_DIR/UNANSWERED.md. With no seed, the
interactive flow is unchanged.skipped (routing resolved the phase without running it), plus
not_applicable for migration_plan only.skipped and advance through its _advances_to in
the same state write.Sidebar placement and conditional backbone routing are orchestration prose owned by
this file (INTERPRETER.md § Skill bindings, § Backbone vs sidebar).
Entry-point routing:
build_scratch → skip Discover; Clarify → Confirm → Design → Estimate → Generate → Gate 2 → POC (any winning runtime). No migration plan (nothing existing to migrate).build_deploy → Discover (if code) → Clarify → Confirm → Design → Estimate → Generate → Gate 1 → Migration Plan (if existing non-AWS AI workload detected and user confirms) → Gate 2 → POC (any winning runtime).migrate → Discover (if code) → Clarify → Confirm → Design → Estimate (target-state run cost; migration TCO comparison stays with the Migration Plan engine) → Generate → Gate 1 → Migration Plan (in-skill, reusing the sibling gcp-to-aws skill) → Gate 2 → POC (any winning runtime, when the plan was produced). Declining Gate 1 keeps the classic handoff: pointer to /aws-startup-advisor:llm-to-bedrock with handoff-summary.md.add_capabilities → load references/phases/add-capabilities/add-capabilities.md and follow it (no runtime
scoring; writes capabilities-recommendation.md). This is a self-contained branch — it does
NOT pass through Clarify / Confirm / Design / Estimate / Generate, so the phase gate
below never applies to it.migrate with temporal units pre-seeded (see discover).Gate semantics (backbone tail):
migration_plan runs only when generate is done AND
recommendation_reviewed == true (generate.md Step 5.5) AND entry point ∈ {migrate,
build_deploy} AND the run is migration-eligible (generate.md Step 6) AND the user
confirmed Gate 1. Otherwise resolve it: not_applicable (build_scratch / no migratable
workload) or skipped (declined) — and advance.poc runs only when phases.poc == "in_progress" (set when the user
answers Gate 2 "yes" — asked in generate.md Step 7 or migration-plan.md Step 6) AND
recommendation_reviewed == true. Any winning runtime (agentcore / ecs / eks / lambda /
lambda_microvms) — the POC shape follows the verdict (poc.md Step 3 dispatch on
references/decision-refs/poc-shapes.md). Gate 2 is only offered when migration_plan
∈ {completed, skipped, not_applicable} — or in_progress on build_deploy only (Stage 2
failed/aborted; fallback POC from design.json per migration-plan.md failure handling);
for entry point migrate, only when migration_plan == "completed" (the POC implements the
plan) OR when the stage resolved not_applicable with migration_plan_unavailable == "engine_absent" — a standalone deployment that does not bundle the migration engine, where
Gate 2 is offered by migration-plan.md Step -1 and the POC is design-backed. A migrate-POC
with no plan for any OTHER reason (the user declined) has nothing to implement.phases.poc = "in_progress" BEFORE poc.md loads makes the
confirmation resumable: if the session breaks between the "yes" and the load, the
interpreter re-enters poc without re-asking. (A declared deviation from
INTERPRETER.md § The interpreter loop step 5's gate-then-in_progress ordering — the
user's confirmation is the entry event worth persisting.)Phase gate: Do NOT load design.md / estimate.md / generate.md unless
$RUN_DIR/.phase-status.json exists and BOTH phases.clarify == "completed" AND
phases.confirm == "completed". Confirm confirms the deployment model, the service
set, and (for a co_recommend tie) the user's chosen_runtime — Design and the diagram depend on
its confirm.json output, so it must not be skipped. If the user asks to skip Clarify or Pass 2,
refuse briefly and run it.
.phase-status.json){
"run_id": "0630-1430",
"entry_point": "build_scratch",
"audience": "technical",
"current_phase": "clarify",
"phases": {
"intake": "completed",
"discover": "skipped",
"clarify": "in_progress",
"confirm": "pending",
"design": "pending",
"estimate": "pending",
"generate": "pending",
"migration_plan": "pending",
"poc": "pending"
}
}
Status values: pending → in_progress → completed, plus skipped. Use read-merge-write:
read before each update, change only the advancing keys, keep prior phases.
recommendation_reviewed (top level, boolean) is set to true by generate.md Step 5.5 when
the user explicitly confirms they have seen the recommendation. Gate 1, Gate 2, and the
migration_plan / poc states all require it — no gate may be asked while it is absent.
migration_plan additionally uses not_applicable (build_scratch, or no migratable workload
detected). When Stage 2 runs, migration_plan_ctx is added at the top level:
{"repo": "<abs path to target repo>", "migration_dir": "<abs path to .migration/<id>/>"} —
Stage 3 reads gcp-to-aws artifacts ONLY via this recorded path, never by re-globbing.
| File | Purpose |
|---|---|
references/vendored/dsl/INTERPRETER.md |
Vendored DSL execution contract (interpreter loop + gate protocol) |
references/phases/intake/intake.md |
Entry point + technical background + open context |
references/phases/discover/discover.md |
Lightweight code detection |
references/phases/clarify/clarify.md |
Clarify orchestrator + answer mapping to scoring keys |
references/phases/clarify/clarify-technical.md |
Technical-background question wording |
references/phases/clarify/clarify-business.md |
Business-background question wording |
references/phases/confirm/confirm.md |
Winner-specific follow-ups |
references/phases/design/design.md |
Assemble recommendation; Migrate handoff branch |
references/phases/estimate/estimate.md |
Coarse cost magnitude |
references/phases/generate/generate.md |
Layered recommendation doc + scaffolding |
references/phases/migration-plan/migration-plan.md |
Stage 2: full migration plan via the sibling gcp-to-aws engine |
references/decision-refs/temporal.md |
Temporal rules: Tier 1/2 tables, adapter, runbooks, commercials (consumed by discover/clarify/design/generate) |
references/decision-refs/poc-shapes.md |
Per-runtime POC deploy shapes (ECS/EKS/Lambda/MicroVMs/Temporal) |
references/decision-refs/*.md |
Runtime service cards, model defaults, freshness |
references/decision-refs/workload-classes.md |
Deterministic verdicts for non-agent workload units (batch/service/io) |
references/runtimes/*.json |
Runtime registry (read by scoring.py) |
scripts/scoring.py |
Deterministic scoring engine |
scripts/test_temporal_decision_refs.py |
Content lock for the Temporal decision reference |
scripts/test_poc_shapes.py |
Content lock for the POC deploy shapes |
scripts/test_workload_classes.py |
Content lock for workload-classes.md (verdicts table) |
scripts/test_unit_grouping.py |
Unit grouping + pattern matching (workload-class assignment) |
scripts/test_collapse_invariant.py |
Collapse-invariant ordering enforcement (A→B implies [B] ⊆ [A] outputs) |
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。