dir: out

description:
Fetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to "confirm" or "round out" an answer -- the chunk is the real page text; treat it as authoritative.

Reading the full page is justified ONLY when the chunks genuinely lack the content:
- an enumeration or aggregation ("list all X", "how many X") needs the complete set and the chunks show only part of it;
- no search result is on-topic after refining the query, and a known doc URL would have the answer.
Otherwise, answer from the chunks. Use exact URLs from `search_documentation`; don't guess slugs.

Input: `requests: [{url, max_length?, start_index?}]`. Batch 2-5.
- `max_length` default 10000.
- `start_index` default 0; use prior `end_index` to continue, TOC offset to jump.

Allow-listed prefixes: docs.aws.amazon.com; aws.amazon.com (not /marketplace); repost.aws/knowledge-center; docs.amplify.aws; ui.docs.amplify.aws; github.com/{aws-cloudformation/aws-cloudformation-templates, aws-samples/{aws-cdk-examples, generative-ai-cdk-constructs-samples, serverless-patterns}, awsdocs/aws-cdk-guide, awslabs/aws-solutions-constructs, cdklabs/cdk-nag} (README on `main`); constructs.dev/packages/{@aws-cdk-containers, @aws-cdk, @cdk-cloudformation, aws-analytics-reference-architecture, aws-cdk-lib, cdk-amazon-chime-resources, cdk-aws-lambda-powertools-layer, cdk-ecr-deployment, cdk-lambda-powertools-python-layer, cdk-serverless-clamscan, cdk8s, cdk8s-plus-33}; strandsagents.com/latest/documentation/docs/; karpenter.sh/docs/; Amazon Braket: {amazon-braket-sdk-python, amazon-braket-schemas-python, amazon-braket-default-simulator-python, amazon-braket-pennylane-plugin-python, amazon-braket-algorithm-library, qiskit-braket-provider, autoqasm, qirtoqasm}.readthedocs.io and github.com/amazon-braket/* (blob/tree/raw).

Output: SUCCESS -- markdown + `total_length, start_index, end_index, truncated, redirected_url?` (truncated includes TOC with char ranges). ERROR -- `error_code` in {not_found, invalid_url, throttled, downstream_error, validation_error}.

type: object

type: array

type: string

description: Doc URL with allow-listed prefix; use exact URL from search.

type: integer

description: Chars returned (default 10000).

description: Char offset (default 0). Use prior `end_index` to continue, or TOC offset to jump.

description: List of `{url, max_length?, start_index?}`. Batch 2-5.

description:
AWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answer, so answer directly from it. Use `read_documentation` only when the chunks genuinely lack the needed detail.

Pick ONE topic. Add a 2nd ONLY if query genuinely spans domains. Extra topics dilute ranking.

- reference_documentation -- API/SDK/CLI specs, config params
- current_awareness -- new/released/announced
- troubleshooting -- errors, "how to fix" (NOT for conceptual/feature questions)
- amplify_docs -- Amplify (+ language)
- cdk_docs -- CDK concepts/guides
- cdk_constructs -- CDK code samples, L3
- cloudformation -- CFN/SAM templates
- strands_docs -- Strands Agents SDK (its Skills/agents concepts go here, NOT agent_skills)
- agent_skills -- this tool's guided skills (load via `retrieve_skill`)
- general (default) -- architecture, best practices, tutorials, feature behavior

Results: rank_order (lower=better), url, title, context (verbatim page chunk -- answer directly from it).

description: Maximum number of results to return (default 4).

description: Keywords; preserve exact error strings and all task terms verbatim.

description: topic name

description: Up to 3 from: reference_documentation, current_awareness, troubleshooting, amplify_docs, cdk_docs, cdk_constructs, cloudformation, agent_skills, strands_docs, general. Default ["general"].

description: Retrieve a list of all AWS regions.

description:
AWS resource availability per region.

- Max 10 regions; multi-region needs `filters`; single-region supports `next_token`.
- Status: isAvailableIn | isNotAvailableIn | isPlannedIn | Not Found.
- Response key: products | service_apis | cfn_resources.

Not for region counts/docs/vague queries -- use `search_documentation` / `list_regions`.

Filter values must EXACTLY match AWS's catalog names; guessed, partial, or pluralized names are rejected ("values in filter parameter do not exist"). If unsure of the exact name, first call once for a single region with resource_type set and NO filters to list all valid names, then re-call filtering on the exact match.

description: AWS region codes (max 10). Multi-region requires `filters`; single-region supports `next_token`.

description: Required: 'product' | 'api' | 'cfn'.

description:
Use exact AWS product or sub-feature name.

- product: 'Amazon Bedrock' (service), or sub-features like 'Comprehend Auto Scaling', 'Latency-Based Routing', 'PrivateLink Support'. When the user names a specific sub-feature, filter on the sub-feature -- do NOT generalize to the parent service ('Amazon Comprehend'); that returns availability for the wrong scope.
- api: 'SdkServiceId+Operation' (e.g. 'CloudFormation+CreateStack', 'IAM+GetSSHPublicKey') or 'SdkServiceId' (e.g. 'EC2'). Use a literal '+' between service and operation -- not space, colon, or hyphen.
- cfn: 'AWS::EC2::Instance', 'AWS::Lambda::Function'.

Include every region the user named; don't add filters they didn't request.

Values must EXACTLY match AWS's catalog (e.g. 'AWS Lambda', not 'Lambda' or 'AWS Lambda Service'). If unsure of the exact name, first call once for one region with NO filters to list valid names, then filter on the exact match.

next_token: [REDACTED]

description: Unused; use `regions`.

description:
Retrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given.

Call `search_documentation` FIRST and copy `skill_name` verbatim -- it is an opaque registry ID. Never guess or fabricate `skill_name` or `file`.

description: Optional file path within the skill, copied as cited (e.g. `references/architecture.md`). Don't add or strip a `references/` prefix. Omit for SKILL.md.

description: Required. Exact `skill_name` from a search_documentation result, copied verbatim. Do not invent or modify.