Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plugins/aws-startup-advisor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The thirteen skills below are the catalog. Install them together.
| 10 | `knowledge-base-for-startups` | AWS Activate FAQ, credits guide, programs, partner offers, sample architectures, and AWS-curated learn articles | [SKILL.md](skills/knowledge-base-for-startups/SKILL.md) |
| 11 | `prompt-library-for-startups` | AWS-curated copy-paste prompts for AI coding agents, plus downloadable installable agents | [SKILL.md](skills/prompt-library-for-startups/SKILL.md) |
| 12 | `contextual-offers-for-startups` | Appends at most one relevant AWS Activate partner offer as optional context after another skill's output is final | [SKILL.md](skills/contextual-offers-for-startups/SKILL.md) |
| 13 | `bedrock-migration-assessment` | Scans your code for OpenAI, Anthropic, Gemini, and OpenRouter calls (or validates a provider-neutral `ai-workload-profile.json`), can measure OpenAI usage read-only with your consent, and runs the AI-only migration questions. Needs no infrastructure skill. This release stops after Clarify; Design, Estimate, and Generate land in later releases | [SKILL.md](skills/bedrock-migration-assessment/SKILL.md) |
| 13 | `bedrock-migration-assessment` | Scans your code for OpenAI, Anthropic, Gemini, and OpenRouter calls (or validates a provider-neutral `ai-workload-profile.json`), can measure OpenAI and Anthropic usage read-only with your consent, and runs the AI-only migration questions. Needs no infrastructure skill. This release stops after Clarify; Design, Estimate, and Generate land in later releases | [SKILL.md](skills/bedrock-migration-assessment/SKILL.md) |

`contextual-offers-for-startups` is consulted by the other skills rather than invoked directly: it runs only after a recommendation, plan, or build is already final, and it never influences the technical advice.

Expand Down Expand Up @@ -222,7 +222,7 @@ npx skills add aws/agent-toolkit-for-aws/plugins/aws-startup-advisor/skills --sk

When the sibling's Discover captured real spend from the OpenAI Admin API, the OpenRouter API, or the Anthropic Admin API (consent-gated, read-only), `llm-to-bedrock` reuses that usage profile as the cost baseline instead of extrapolating from the golden prompt set.

`bedrock-migration-assessment` is the provider-neutral AI engine that will take over this work from `gcp-to-aws` ([#389](https://github.com/aws/agent-toolkit-for-aws/issues/389)). Today it scans application code for AI providers, models, gateways, workloads, and agents and their tools, or accepts a provider-neutral `ai-workload-profile.json` (rejecting the older GCP-shaped profile by name), can measure OpenAI usage through the read-only Admin API with consent, and stops after Clarify. It does not depend on any infrastructure skill.
`bedrock-migration-assessment` is the provider-neutral AI engine that will take over this work from `gcp-to-aws` ([#389](https://github.com/aws/agent-toolkit-for-aws/issues/389)). Today it scans application code for AI providers, models, gateways, workloads, and agents and their tools, or accepts a provider-neutral `ai-workload-profile.json` (rejecting the older GCP-shaped profile by name), can measure OpenAI and Anthropic usage through their read-only Admin APIs with consent, and stops after Clarify. It does not depend on any infrastructure skill.

Model mapping is compatibility-guided rather than one-to-one parity. Validate prompts, tool-calling behavior, and evaluation metrics before cutover.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"ai_monthly_spend": {
"value": "$500-$2K",
"chosen_by": "default",
"prompt": "Monthly AI spend on OpenAI or Gemini? (default applied)",
"prompt": "Monthly AI spend with your current AI providers? (default applied)",
"design_consequence": "$500-$2K band sets token volume and model tier assumptions",
"question_id": "Q3",
"source": "default:Q3"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
[
{
"starting_at": "2026-10-19T00:00:00Z",
"ending_at": "2026-10-20T00:00:00Z",
"results": [
{
"amount": "0",
"currency": "USD",
"workspace_id": "wrkspc_app",
"description": "Claude Sonnet 5 Usage - Input Tokens",
"model": "claude-sonnet-5",
"cost_type": "tokens",
"inference_geo": "us",
"context_window": "0-200k",
"service_tier": "standard",
"token_type": null,
"speed": null
}
]
},
{
"starting_at": "2026-10-20T00:00:00Z",
"ending_at": "2026-10-21T00:00:00Z",
"results": [
{
"amount": "1250.4",
"currency": "USD",
"workspace_id": "wrkspc_app",
"description": "Claude Sonnet 5 Usage - Input Tokens",
"model": "claude-sonnet-5",
"cost_type": "tokens",
"inference_geo": "us",
"context_window": "0-200k",
"service_tier": "standard",
"token_type": null,
"speed": null
}
]
},
{
"starting_at": "2026-10-25T00:00:00Z",
"ending_at": "2026-10-26T00:00:00Z",
"results": [
{
"amount": "300",
"currency": "USD",
"workspace_id": null,
"description": "Claude Haiku 5 Usage - Input Tokens",
"model": "claude-haiku-5",
"cost_type": "tokens",
"inference_geo": "not_available",
"context_window": "0-200k",
"service_tier": "standard",
"token_type": null,
"speed": null
},
{
"amount": "100",
"currency": "USD",
"workspace_id": "wrkspc_app",
"description": "Web Search",
"model": null,
"cost_type": "web_search",
"inference_geo": null,
"context_window": null,
"service_tier": null,
"token_type": null,
"speed": null
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"captured_at": "2026-10-31T12:00:00Z",
"window_days": 30,
"window_start": "2026-10-01T00:00:00Z",
"workspace_filter": [
"default",
"wrkspc_app"
],
"result": "complete",
"captures": [
{
"endpoint": "/v1/organizations/cost_report",
"file": "cost-report.json",
"status": "ok",
"note": null
},
{
"endpoint": "/v1/organizations/usage_report/messages",
"file": "usage-messages.json",
"status": "ok",
"note": null
},
{
"endpoint": "/v1/organizations/usage_report/messages",
"file": "usage-messages-hourly.json",
"status": "ok",
"note": null
},
{
"endpoint": "/v1/organizations/usage_report/messages",
"file": "usage-messages-minute.json",
"status": "ok",
"note": null
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
[
{
"starting_at": "2026-10-20T09:00:00Z",
"ending_at": "2026-10-20T10:00:00Z",
"results": [
{
"model": "claude-sonnet-5",
"service_tier": "standard",
"context_window": "0-200k",
"inference_geo": "us",
"speed": "standard",
"workspace_id": "wrkspc_app",
"uncached_input_tokens": 1000,
"cache_read_input_tokens": 500,
"cache_creation": {
"ephemeral_5m_input_tokens": 200,
"ephemeral_1h_input_tokens": 100
},
"output_tokens": 300,
"server_tool_use": {
"web_search_requests": 2
},
"account_id": null,
"api_key_id": null,
"service_account_id": null
}
]
},
{
"starting_at": "2026-10-25T03:00:00Z",
"ending_at": "2026-10-25T04:00:00Z",
"results": [
{
"model": "claude-haiku-5",
"service_tier": "batch",
"context_window": "0-200k",
"inference_geo": "not_available",
"speed": "standard",
"workspace_id": null,
"uncached_input_tokens": 4000,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 1000,
"server_tool_use": {
"web_search_requests": 0
},
"account_id": null,
"api_key_id": null,
"service_account_id": null
}
]
},
{
"starting_at": "2026-10-25T10:00:00Z",
"ending_at": "2026-10-25T11:00:00Z",
"results": [
{
"model": "claude-sonnet-5",
"service_tier": "standard",
"context_window": "0-200k",
"inference_geo": "us",
"speed": "standard",
"workspace_id": "wrkspc_app",
"uncached_input_tokens": 1200,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 600,
"server_tool_use": {
"web_search_requests": 0
},
"account_id": null,
"api_key_id": null,
"service_account_id": null
}
]
},
{
"starting_at": "2026-10-25T11:00:00Z",
"ending_at": "2026-10-25T12:00:00Z",
"results": [
{
"model": "claude-sonnet-5",
"service_tier": "standard",
"context_window": "0-200k",
"inference_geo": "us",
"speed": "standard",
"workspace_id": "wrkspc_app",
"uncached_input_tokens": 800,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 100,
"server_tool_use": {
"web_search_requests": 0
},
"account_id": null,
"api_key_id": null,
"service_account_id": null
}
]
},
{
"starting_at": "2026-10-26T01:00:00Z",
"ending_at": "2026-10-26T02:00:00Z",
"results": [
{
"model": "claude-opus-5-5",
"service_tier": "priority",
"context_window": "200k-1M",
"inference_geo": "global",
"speed": "standard",
"workspace_id": "wrkspc_app",
"uncached_input_tokens": 100,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 50,
"server_tool_use": {
"web_search_requests": 0
},
"account_id": null,
"api_key_id": null,
"service_account_id": null
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[
{
"starting_at": "2026-10-25T10:05:00Z",
"ending_at": "2026-10-25T10:06:00Z",
"results": [
{
"model": "claude-sonnet-5",
"service_tier": "standard",
"context_window": "0-200k",
"inference_geo": "us",
"speed": "standard",
"workspace_id": "wrkspc_app",
"uncached_input_tokens": 90,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 5,
"server_tool_use": {
"web_search_requests": 0
},
"account_id": null,
"api_key_id": null,
"service_account_id": null
}
]
}
]
Loading
Loading