AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Amazon Braket is a managed service for quantum computing. This skill provides guidance on using the Amazon Braket Python SDK to design, execute, and manage quantum circuits and algorithms. It covers the full lifecycle of quantum workloads, including device discovery, task submission, hybrid job orchestration, cost management, and integration with frameworks like Qiskit and PennyLane.
What it does
- Discover and filter quantum processing units (QPUs) and simulators by region and capability.
- Execute quantum circuits, analog Hamiltonian simulations, and OpenQASM programs.
- Manage complex quantum-classical loops using Hybrid Jobs.
- Implement cost guardrails through service-side spending limits.
- Integrate with third-party quantum frameworks like Qiskit and PennyLane.
- Configure and monitor quantum task execution and result retrieval via S3.
When to use it
- When you need to run quantum algorithms on real hardware or simulators via AWS.
- When you are setting up a new quantum development environment or notebook instance.
- When you need to optimize costs for large-scale quantum experiments.
- When you are building hybrid quantum-classical applications requiring managed orchestration.
- When you need to verify device availability, connectivity, or calibration data.
Advantages
- Provides a unified interface for diverse quantum hardware and simulators.
- Enables cost control through explicit spending limits and tracking.
- Supports advanced workflows like parameter sweeps and hybrid job management.
- Facilitates seamless integration with existing Python-based quantum ecosystems.
- Ensures consistent attribution and security practices for AWS-based quantum tasks.
Usage examples
- “List all available online QPU devices in the us-east-1 region.”
- The agent uses the Braket SDK to query the device fleet, filtering by status and type, and returns a list of available QPU ARNs.
- “How do I set a spending limit for my Braket QPU tasks?”
- The agent provides the steps to create a spending limit using the Braket API or SDK, ensuring the user understands the enforcement mechanism.
- “Help me run a circuit on the IonQ Aria device.”
- The agent guides you through selecting the device, preparing the circuit using the SDK, and submitting the task with appropriate attribution.
- “How can I run multiple circuits efficiently in one task?”
- The agent explains how to use Program Sets to bundle multiple independent programs into a single service-side task to optimize performance and costs.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/aws/amazon-braket/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip amazon-braket.zip -d .agents/skills
Documentation by AWS
<!-- markdownlint-disable MD013 -->
Amazon Braket
Primitives
The vocabulary of a Braket workflow, and which reference to open for each.
| Primitive | What it is | Related References | Open it when the request involves |
|---|---|---|---|
| Device | A simulator or QPU, identified by a region-scoped ARN | devices.md | anything about a device: what exists, discovering or filtering the fleet, availability and status (online, offline, retired), which region a device lives in, ARNs, choosing a device for a workload, qubit count, connectivity or topology, native gates, fidelities, calibration data, queue depth, shot and gate limits, paradigm (gate-model vs analog Hamiltonian simulation), whether a device supports program sets, simulators and local emulators |
| Program | The workload/input — one executable (Circuit, AHS, OpenQASM). Which type is legal depends on the device's paradigm | - | - |
| Quantum task | One program + shots, run once (the atomic unit Braket meters) | - | - |
| Task batch | Many independent tasks — SDK-only fallback for when a program set does not fit; works on all devices | program-sets.md | see the Program set row; also running multiple programs |
| Program set | Many programs in one service-side task — preferred way to run multiple programs instead of task batch | program-sets.md | running more than one program: parameter sweeps, scanning parameter values, task batches, run_batch, several circuits submitted together, attaching observables across programs, and minimizing per-task fees when many programs run, program sets. Also getting started with program sets |
| Hybrid job | Managed classical-quantum loop that orchestrates many tasks | hybrid-job.md | hybrid jobs: @hybrid_job, algorithm scripts and source modules, entry_point, embedded simulators, BYOC and custom container images, CUDA-Q, job execution roles, hyperparameters, checkpoints, and retrieving job results |
| Spending limit | Service-side hard cap that rejects QPU tasks — the only true enforcement (not SDK) | spending-limit.md | capping or enforcing spend: spending limits (create, update, delete, search), and cost guardrails |
| Cost tracking | In-session cost estimate (not enforcement) | spending-limit.md | in-session cost tracking with Tracker |
| Pricing | Current Braket rates and pricing models | pricing.md | current price or rate, simulator pricing, QPU per-task/per-shot pricing, Hybrid Job or reservation pricing, AWS Pricing API, bulk price list |
| Reservation | Exclusive device access for a booked window (Braket Direct) | reservation.md | reservations: DirectReservation, reservation_arn, booking/cancelling a reservation, running tasks or hybrid jobs during a reservation window |
| Notebooks | Jupyter/JupyterLab notebook instances for exploring Braket | notebooks.md | creating or managing a Braket notebook instance, Jupyter, getting-started environment for Braket |
| Pulse control / gate calibrations | Native gate calibrations and custom pulse sequences on supported QPUs | pulse-control.md | pulse control, gate calibrations, gate_calibrations, refresh_gate_calibrations, gate_definitions |
| Experimental capabilities | Opt-in device features outside the published specifications | experimental-capabilities.md | features that not all QPUs support, EnableExperimentalCapability, experimental_capabilities |
| Library integrations | Third-party frameworks using Braket-owned providers or plugins | Qiskit, PennyLane | Qiskit or PennyLane workflows targeting Braket; provider/plugin behavior and Braket-specific compilation, submission, or result retrieval |
Each reference carries the domain detail for its own area — field paths, key names, API shapes, and billing models.
Additional notes:
Setup — first-time account setup, prerequisites, roles, notebooks, and the results S3 bucket are covered in setup.md.
Critical Rules
These rules apply to every Braket request, whatever it involves.
Use credentials with IAM-administrative permissions only for setup actions, such as creating IAM roles and policies, creating or updating spending limits, and creating S3 buckets or other resources. After setup, use workload credentials with permissions scoped to the workflow.
The Amazon Braket Python SDK (
pip install amazon-braket-sdk, imported asbraket) is the primary entry point. Prefer it for every operation including Braket API operations, and understand what it covers by reading the docs or inspecting the SDK's modules locally.Use local execution tools for running the Braket SDK, such as
shellwithpython3 -c "<code>".
The AWS MCP server is recommended for executing any other AWS API calls in this skill, especially operations not present in the Python SDK, although not required. Note: the AWS MCP's
run_scripttool executes code in a minimal sandbox without Braket libraries, so prefer using other tools for code execution, especially when using the Braket SDK.A small set of primitives composes every workflow — see Primitives for the vocabulary and the reference for each.
Devices, quantum tasks, and hybrid jobs are region-scoped, so fan out across every Braket region whenever you use the API, CLI, or boto3 to search for resources. The SDK handles fanout for you where it can —
AwsDevice.get_devicessearches QPUs in all regions. Get the list of regions Braket supports fromaws___get_regional_availabilitywhen the AWS MCP server is available, or from the supported devices and regions documentation. Resource ARNs containing a region may only be queried from that same region, otherwise you will see aResourceNotFoundException.Open the matching reference before you write code or answer. Use the Primitives table to find and read references. Note: A request that asks for several things, e.g. executing a series of circuits and controlling the cost thereof, may require reading multiple reference files.
Verify, never recall. Device ARNs and statuses, API signatures, supported features, and prices (and other values) all change and may post-date training data.
Confirm a signature from documentation before you write code that calls it. This applies to the Braket SDK and to every third-party library that integrates with Braket. A guessed parameter or a guessed unit can produce a quantum task that runs, charges the customer, and returns a wrong answer.
For the Braket SDK, read the SDK reference docs.
For a third-party library, open its matching library reference from the Primitives table and verify signatures against the linked provider or plugin documentation.
If no available tool reaches the documentation, read the signature from the installed package with
shell:# subpackages: ahs, circuits, pulse, program_sets, ... PAGER=cat python -c "import braket; help(braket)" # names: DrivingField, AtomArrangement, ... python -c "import braket.ahs; print(dir(braket.ahs))" python -c "import inspect; from braket.ahs import DrivingField; \ print(inspect.signature(DrivingField.from_lists)); print(inspect.getdoc(DrivingField.from_lists))"Attribute skill usage. In every Python script that uses the Braket SDK, insert this block before any Braket SDK code, including
import braket:import botocore def _braket_attribution(session): session.user_agent_extra = ( f"{session.user_agent_extra} AWSSkill-Braket/1.0.0" ).strip() botocore.register_initializer(_braket_attribution)If using the AWS CLI, prepend this skill's identifier to
AWS_SDK_UA_APP_ID. The variable holds one value and other tools also write it, so always append the existing value instead of replacing it:# sh, bash, zsh, ksh, fish 3.1+ AWS_SDK_UA_APP_ID="AWSSkill-Braket-$AWS_SDK_UA_APP_ID" aws braket ...# PowerShell — session-scoped if ($env:AWS_SDK_UA_APP_ID -notlike 'AWSSkill-Braket*') { $env:AWS_SDK_UA_APP_ID = "AWSSkill-Braket-$env:AWS_SDK_UA_APP_ID" }This marks AWS calls as originating from use with this skill. This is not needed when using AWS MCP tools as the AWS MCP automatically attributes during tool calls.
Before the first QPU task on each device, search for an existing spending limit on that device ARN in its region; if none exists, create one with an amount the user confirms. Do not raise or delete a limit without an explicit user instruction. See spending-limit.md.
Guardrail — where this skill's own files live (MCP vs local install)
This skill can be loaded two ways, and they resolve the skill's own bundled files from different places. Determine how the skill was loaded before reading a reference:
Loaded through the AWS MCP
retrieve_skilltool: The skill is not installed on the local filesystem. You MUST fetch each reference viaretrieve_skillwith thefileparameter (e.g.file="references/devices.md"). Do NOTfile_readthese paths locally — they do not exist on disk.Installed locally (e.g.
~/.kiro/skills/amazon-braket/,.kiro/skills/amazon-braket/, or~/.claude/skills/amazon-braket/): Read files from the local skill directory using relative paths.
references/ is a sibling of this SKILL.md — resolve reference paths against
that directory, not your working directory, and do not search the filesystem for
them.
If a skill tool returns this overview instead of the file you asked for, it did
not fetch it: read it from that directory instead, and do not write code from
memory because a reference read failed.
This distinction applies only to the skill's own packaged files. User data and
session artifacts are always read from and written to the user's working
directory — do not cd before running a script that writes a relative artifact
path.
Common mistakes
| Symptom | Cause | Fix |
|---|---|---|
| Treats "task", "batch", "job" as interchangeable | Primitive confusion | Task = one run; batch = many parallel tasks; job = managed loop |
Missing required parameter: filters on SearchQuantumTasks, SearchJobs, or SearchDevices | filters is required on all three — only SearchSpendingLimits lets you omit it | Pass filters=[] (--filters '[]') for an unfiltered search. A populated filter needs name and values, plus operator on tasks and jobs; SearchDevices has no operator member |
Missing required parameter: clientToken when using AWS MCP run_script tool | CreateQuantumTask, CreateJob, CancelQuantumTask, CreateSpendingLimit, UpdateSpendingLimit require a clientToken for idempotency. The SDK, CLI, and boto3 generate one automatically; the run_script tool requires explicit passing | Pass clientToken=str(uuid.uuid4()) on APIs taking clientToken when calling through run_script. Otherwise, prefer the SDK for these operations when possible. |
| Builds program IR as JAQCD | JAQCD is deprecated on Amazon Braket | Use OpenQASM — see OpenQASM on Braket |
| Denies a feature or SDK construct exists | Training data outdated | Verify against the docs or GetDevice before saying it does not exist |
| Invents a class, method, or parameter | Writing API names from memory | Confirm the signature first. If uncertain, say so rather than inventing |
Security considerations
Braket workflows touch IAM, S3, and (for hybrid jobs) container execution.
Least-privilege IAM. Derive custom policies as subsets of the AWS managed policy for the workflow, scoped to the actions, device ARNs, and buckets the workload uses. Avoid using
braket:*when possible. All Braket actions are listed at the Service Authorization Reference. Call Braket APIs with IAM roles, not long-lived IAM user access keys. See Security best practices in IAM for additional best practices.Tasks, devices, and spending limits. Derive from
AmazonBraketFullAccess. Restrictbraket:UpdateSpendingLimitandbraket:DeleteSpendingLimitto prevent accidental removal of a spending limit. See Restricting access to devices.Notebook and hybrid job execution roles. Create as written in setup.md.
Encryption. Keep each service's default encryption, listed below. If the user has security, compliance, or other requirements for encryption, use a customer managed KMS key that the user specifies instead.
S3 buckets for task and job results: always encrypted by default with SSE-S3. Using server-side encryption with Amazon S3 managed keys (SSE-S3). If using a customer managed key, use the key-policy and role grants in setup.md.
CloudWatch Logs: always encrypted by default. Encrypt log data in CloudWatch Logs using AWS Key Management Service
Notebook storage: always encrypted by default. Notebook instances, SageMaker AI jobs, and Endpoints
S3 bucket setup. Create buckets as described in setup.md.
Auditing. Follow Getting started with AWS CloudTrail tutorials and Security Best Practices in AWS CloudTrail to set up a Trail to capture all Braket management events.
Cost guardrail. Enforce QPU spend caps with spending limits, per the spending-limit rule in Critical Rules.
Secrets. Hybrid job hyperparameters are stored in job metadata and echoed into the job's CloudWatch log stream, so never pass a secret as a hyperparameter; fetch it from Secrets Manager or SSM Parameter Store inside the algorithm script.
For details, see the Amazon Braket security documentation.
Reference links
Authoritative sources — prefer these over recalled details, since device ARNs, quotas, prices, and supported features change.
Official documentation (stable entry points — navigate/search from here)
Developer Guide — https://docs.aws.amazon.com/braket/latest/developerguide/what-is-braket.html
Prerequisites & account setup — https://docs.aws.amazon.com/braket/latest/developerguide/braket-get-started.html
How Amazon Braket works — https://docs.aws.amazon.com/braket/latest/developerguide/braket-how-it-works.html
API Reference — https://docs.aws.amazon.com/braket/latest/APIReference/Welcome.html
Python SDK API docs — https://amazon-braket-sdk-python.readthedocs.io/en/stable/
Getting started — https://aws.amazon.com/braket/getting-started/
OpenQASM 3.0 spec — https://openqasm.com/versions/3.0/index.html
OpenQASM on Braket — https://docs.aws.amazon.com/braket/latest/developerguide/braket-openqasm.html
Supported OpenQASM features (pragmas, verbatim rules, dynamic circuits) — https://docs.aws.amazon.com/braket/latest/developerguide/braket-openqasm-supported-features.html
boto3
braketclient — https://docs.aws.amazon.com/boto3/latest/reference/services/braket.htmlSecurity — https://docs.aws.amazon.com/braket/latest/developerguide/security.html
For anything not covered here, search the documentation rather than guessing
page slugs or recalling details: if the AWS MCP server is available, its
aws___search_documentation tool can help; otherwise start from the Developer
Guide or API Reference above and navigate.
GitHub
amazon-braket-sdk-python(core SDK) — https://github.com/amazon-braket/amazon-braket-sdk-pythonamazon-braket-schemas-python(schemas and models for public Braket data) — https://github.com/amazon-braket/amazon-braket-schemas-pythonamazon-braket-examples— https://github.com/amazon-braket/amazon-braket-examples
Files
- ATTRIBUTION.mdAdded by AutoGineer923 B
- LICENSELicence file added by AutoGineer9.9 KiB
- NOTICELicence file added by AutoGineer67 B
- SKILL.md17.8 KiB
- references/devices.md12.1 KiB
- references/experimental-capabilities.md1.4 KiB
- references/hybrid-job.md11.0 KiB
- references/libraries-pennylane.md3.6 KiB
- references/libraries-qiskit.md5.1 KiB
- references/notebooks.md3.1 KiB
- references/pricing.md5.7 KiB
- references/program-sets.md3.8 KiB
- references/pulse-control.md2.9 KiB
- references/reservation.md2.1 KiB
- references/setup.md10.7 KiB
- references/spending-limit.md3.2 KiB
LICENSE
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an MCP server, Needs Python
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- AWS
- Publisher
- AWS (Official)
- Source
- aws/agent-toolkit-for-aws · skills/specialized-skills/quantum-computing-skills/amazon-braket · commit 0a218f8
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- NOTICE (added by AutoGineer from NOTICE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by AWS or AWS.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download amazon-braket.zip