Skip to content

feat(aws-agents): update agent skills for AgentCore CLI v1 - #502

Open
notgitika wants to merge 28 commits into
mainfrom
gitika/agentcore-cli-v1
Open

notgitika wants to merge 28 commits into
mainfrom
gitika/agentcore-cli-v1

Conversation

@notgitika

Copy link
Copy Markdown
Contributor

Description

Updates the aws-agents skills owned by this half of the AgentCore CLI v1 split. Every agentcore command, flag, config key and behaviour claim now matches AgentCore CLI v1.0.0 (@aws/agentcore@latest).

Skills and files covered

  • agents-get-started:
    • v1 templates (create --name --template)
    • Harness vs Runtime choice
    • new project layout
    • dev ports and behaviour
    • first deploy and invoke for both Runtime and Harness
  • agents-deploy and references/versioning.md:
    • build plus a real cdk diff preview
    • targets and status
    • Runtime and Harness versions and endpoints, rollback, canary options
    • extending the vended CDK app
    • export
    • a teardown that is scoped to one target, asks for confirmation, and cleans up what survives stack deletion
  • agents-debug and references/doctor.md:
    • v1 status, logs, traces and invoke forms
    • finding startup crashes
    • preflight checks that work with assumed-role and SSO credentials and a region taken from env vars
    • routing v0 projects to agentcore migrate
  • agents-optimize (evals, observability, cost):
    • the eval command tree: on-demand, batch, online, datasets, recommendations
    • working code-evaluator recipes
    • the AWS/Bedrock-AgentCore metrics
    • realistic trace and online-eval timing
    • current pricing
  • agents-harden and references/limits.md:
    • agentcore.json v2 and harness.yaml keys
    • auth defaults, including gateways defaulting to NONE
    • least-privilege IAM that works with cross-region inference profiles
    • Harness coverage
    • quotas with quota codes
  • CloudWatch Omni (omni-agents-instrumentation.md), AgentCore path only:
    • v1 detection ("version": 2, including Harness-only projects)
    • agentcore dev --no-traces with .env.local
    • streaming-response instrumentation
    • removed the "Python-only" claim
  • plugins/aws-agents/README.md:
    • prerequisites updated to v1.0.0+, Node.js 20.12+ and git/jq
    • references column matches the files on disk

Version policy: all updated skills declare requires-cli: ">=1.0.0". If a user has an older CLI, the skills tell them to upgrade. For v0 projects ("version": 1) they say to commit, then review the agentcore migrate plan, then apply it with --yes.

Not in this PR (owned separately): agents-build, agents-connect, agents-pay and amazon-bedrock. agents-build/references/teardown.md still describes v0, so agents-deploy no longer links to it.

How this was validated

  • Every agentcore invocation in the changed files was checked against the v1 CLI's --help and source.
  • Agents using only these skills ran two rounds of end-to-end tests with real deploys, covering:
    • scaffold, dev, deploy and invoke;
    • Harness endpoints and teardown;
    • debugging a startup crash;
    • every eval path;
    • Omni local traces;
    • migrating a v0 project.
  • Independent reviews followed each round; the findings from both rounds are applied.

Type of Change

  • New plugin
  • New skill
  • Bug fix
  • Documentation update
  • CI/CD change
  • Other

Checklist

  • I have read the CONTRIBUTING guide
  • My changes pass python3 tools/validate.py
  • I have updated relevant documentation

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@nborges-aws nborges-aws left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few callouts, but all minor changes. Overall LGTM

cp agentcore/agentcore.json /tmp/agentcore.json.bak
cp agentcore/.env.local /tmp/env.local.bak 2>/dev/null
agentcore remove all --yes
agentcore deploy --yes

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this specify --target the example above uses staging as the target. If staging is not the default, this command would target the wrong stack

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in 48b40fd. Step 0 is now agentcore status --json --target <target> and step 2 is agentcore deploy --yes --target <target>, with a note that without --target deploy uses the default target, which may be a different stack.


score=$(echo "$result" | jq -r '.run.results[0].aggregateScore // empty')
# Recent-traffic gate:
result=$(agentcore eval ondemand evaluate \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this pass a session-id? The text on L#313 says "score the sessions your integration tests just produced", but this would include results even outside of that session

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed — fixed in 48b40fd. The recent-traffic gate now takes SESSION_IDS (the IDs the integration tests passed to agentcore invoke --session-id) and runs eval ondemand evaluate --session-ids instead of --lookback-days 1, so it only scores the sessions from that CI run.

# --payload-template '{"prompt":"{input}"}' \
# --evaluators "$EVALUATOR") || { echo "⚠️ Dataset replay failed" >&2; exit 1; }

score=$(echo "$result" | jq -r '[.results[] | select(.value != null) | .value] | if length == 0 then empty else add / length end')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see we're dropping null in this calculation. Not sure exactly how this works, but would the value be null if the evaluation errored out? Because if so, we're gonna filter out all the errors and the result will be a false-positive success

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that was a false-pass risk. A result that fails to evaluate comes back with errorCode/errorMessage and no value, so filtering out nulls hid errors. Fixed in 48b40fd: the gate now counts results with an errorCode or a missing value, prints them, and exits 1 before computing the average. I checked the script against a stubbed result with one errored evaluation, and it fails as expected.

nborges-aws
nborges-aws previously approved these changes Oct 27, 2026
nborges-aws
nborges-aws previously approved these changes Nov 6, 2026
@nborges-aws
nborges-aws force-pushed the gitika/agentcore-cli-v1 branch 2 times, most recently from 38e65ef to 7a802fa Compare November 6, 2026 16:44
tejaskash
tejaskash previously approved these changes Nov 6, 2026
Comment thread mise.toml Outdated
Comment on lines +34 to +40
[tasks."test:payment-scripts"]
description = "Run payment skill script tests"
run = """
uv run --with pytest python -m pytest \
plugins/aws-agents/skills/agents-build/scripts/test_setup_payment_user.py \
plugins/aws-agents/skills/agents-pay/scripts/test_resource_resolution.py
"""

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want custom ci workflows, please do something like startup-advisor so they are limited to changes in your plugin folder

@nborges-aws
nborges-aws dismissed stale reviews from tejaskash and themself via 97fa394 November 11, 2026 16:09
gitikavj and others added 11 commits November 11, 2026 11:39
Update agents-get-started, agents-deploy, agents-debug, agents-optimize,
agents-harden, the CloudWatch Omni instrumentation reference, and the
plugin README for AgentCore CLI v1.0.0 (templates, Harness vs Runtime,
build/deploy/targets, logs/traces/status, eval subcommands, migrate).
Harness-endpoint-aware teardown and leftover cleanup, startup-crash debugging,
inference-profile IAM scoping, preflight fixes for assumed-role creds and env
regions, code-evaluator recipes, trace timing, metrics namespace, cost rates,
dataset schema, and migrate git precondition.
Scope teardown to one target with explicit confirmation, fix startup-crash
log query, consistent migrate approval flow, --json for non-TTY list
commands, gateway auth table, CreateEvent quotas, CDK/ECR IAM naming,
and trace timing consistency.
Judge model that accepts temperature, online-eval and trace timing, commit-
before-plan migrate flow, complete BYO ECR/KMS and deploy IAM checks,
target-safe teardown with .env.local backup and service-side eval cleanup,
Harness coverage in harden, CodeZip version-creation caveat, Omni collector
install, and accuracy nits.
- Teardown names the target on status/deploy so it can't hit the default stack.
- Quality gate scores only the CI run's own sessions (--session-ids) and fails
  on errored evaluations (errorCode / no value) instead of dropping them.
- Add teardown trigger phrases to agents-deploy; 'tear down' prompts were
  routing to agents-build's v0 teardown reference.
* feat(aws-agents): update skills to reflect AgentCore CLI v1

* fix(aws-agents): fix runtime and harness configuration guidance

* fix(aws-agents): correct header allowlist example

* fix(aws-agents): ensure agent deployment workflows persist selected target

* fix(aws-agents): fix Privy guidance in payments skill

* fix(aws-agents): persist selected target on gateway and policy operations

* fix(aws-agents): fix payment admin setup instructions

* fix(aws-agents): update agent auth and cross-session memory examples

* fix: address review findings for agentcore CLI v1 skill updates

* fix(aws-agents): require shim manifests and prefer v1 payment status
jariy17 and others added 17 commits November 11, 2026 11:39
* fix(agents-build): require human approval for payment sessions

* fix(agents-pay): validate deployment target configuration

* docs(payments): correct v1 setup and spending guidance

* docs(agents-build): correct browser setup guidance

* docs(observability): clarify local traces and streaming errors

* docs(agents-get-started): explain failed create recovery

* docs(agents-connect): require MCP for semantic search

* docs(amazon-bedrock): clarify Harness CLI inputs and cleanup

* docs(amazon-bedrock): correct Harness migration and rollback guidance
Co-authored-by: jariy17 <tjariy+jariy17@users.noreply.github.com>
Added warning about deploying the Strands agent with the Browser tool as a Container Runtime due to packaging limitations.
@nborges-aws
nborges-aws force-pushed the gitika/agentcore-cli-v1 branch from 97fa394 to 7f39e0a Compare November 11, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants