CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bedrock-inference

Amazon Bedrock Runtime API for model inference including Claude, Nova, Titan, and third-party models. Covers invoke-model, converse API, streaming responses, token counting, async invocation, and guardrails. Use when invoking foundation models, building conversational AI, streaming model responses, optimizing token usage, or implementing runtime guardrails.

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/bedrock-inference/SKILL.md

The canonical home for this skill is bedrock-inference in fernandezbaptiste/Skrillz

SKILL.md
Quality
Evals
Security

Quality

Content

50%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-organized, largely executable API reference with concrete code, model IDs, IAM policies, and error handling, but it is a ~1100-line monolith that is noticeably padded and duplicates request boilerplate across samples. Its five advertised reference files are missing from the bundle, and batch/async flows lack validation checkpoints, capping workflow clarity and progressive disclosure.

Suggestions

Ship the advertised bundle: create references/advanced-invocation.md, multimodal.md, tool-use.md, performance.md, and monitoring.md, and move the inlined model ID tables, IAM policies, error-handling catalog, and best-practices detail into them so SKILL.md stays a lean overview.

Cut padded and duplicated content: remove the "Quality Targets" section, the "Best Practices" entries that restate known concepts (streaming UX, lru_cache, async wrappers), and factor the repeated anthropic_version/max_tokens/messages request boilerplate into one shared snippet.

Add validation checkpoints: have use_async_for_batch check invocation status and handle Failed results before reading S3 output, and fix the unreachable Sonnet branch in cost_optimized_inference.

DimensionReasoningScore

Conciseness

Noticeably verbose with several padded sections: the marketing-style "Quality Targets" ("Latency: < 1s first token for streaming", "Availability: 99.9% SLA"), an entire "Best Practices" section that restates known concepts ("Streaming reduces perceived latency / Users see tokens immediately instead of waiting", an lru_cache caching example, a dead "Use Async for Long Tasks" wrapper), a multi-turn example teaching conversation-history patterns Claude already knows, and the full request boilerplate ("anthropic_version": "bedrock-2023-05-31" plus max_tokens/messages) duplicated across ~10 code samples. Time-sensitive pricing marked "(as of December 2024, prices vary by region)" sits in main content rather than a deprecated/old-patterns section, which the guidelines say should penalize conciseness. Not level 3: the padding is pervasive (roughly a quarter of the ~1100 lines is removable), not isolated; not level 1 because the bulk is genuine API reference material Claude does not know (model IDs, error codes, IAM policies).

2 / 5

Actionability

Mostly executable, copy-paste-ready guidance: complete functions ("def invoke_claude", "def converse_with_model", "def async_invoke_model") with imports and usage lines, concrete IAM JSON policies, and specific error-code handling ("ThrottlingException" with exponential backoff, "ModelTimeoutException", "AccessDeniedException"). Not level 5 due to minor gaps: the cost_optimized_inference branch logic is broken (the Sonnet else-branch is unreachable since the first if catches require_high_accuracy=False), and some samples gloss over steps ("# Execute tool and return result / (Add tool result to messages and call converse again)", "# (Use boto3 S3 client to retrieve)"). Not level 3: the code is real and runnable, not pseudocode or high-level hints.

4 / 5

Workflow Clarity

Operations are organized as numbered tasks with sequences where they exist (async invocation shows Start → "Check Async Status" → "List Async Invocations", and the retry pattern has a backoff loop), but validation checkpoints are implicit at best. The batch example "use_async_for_batch" loops over prompts firing async invocations with no status checking or failure handling, and per the rubric's feedback-loop rule for batch operations, workflow clarity is capped at 3. Not level 4: there is no explicit validate-then-proceed guidance anywhere (e.g. confirming async completion before reading S3 output, verifying model access before invoking); not level 2: rough sequences are present and well-labeled.

3 / 5

Progressive Disclosure

Structure is good — clear section headers plus a "Progressive Disclosure" section that signals five references with one-line descriptions ("[Advanced Invocation Patterns](references/advanced-invocation.md): Batch processing, parallel requests...", multimodal, tool-use, performance, monitoring). However, the bundle contains no references/ directory, so every cited reference file does not exist, and ~1100 lines of content that belongs in those files (model ID tables, IAM policies, error handling, monitoring) are inlined in SKILL.md. Not level 4: the split is announced but not actually realized; not level 2: section structure is well organized and references are clearly signaled rather than buried or absent.

3 / 5

Total

12

/

20

Passed

Description

88%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly and concretely states what the skill covers and when to use it, in third person, with named API operations. The only weaknesses are a few missing natural trigger phrasings (e.g. "call a model", "boto3") and minor trigger overlap with sibling Bedrock skills around guardrails and conversational AI.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions: "Covers invoke-model, converse API, streaming responses, token counting, async invocation, and guardrails" — named API operations with comprehensive coverage across the Bedrock Runtime domain ("including Claude, Nova, Titan, and third-party models"). Not level 4: coverage of the domain's operations is comprehensive rather than having minor gaps; not below since nothing is vague.

5 / 5

Completeness

Explicitly answers both: the "what" ("Amazon Bedrock Runtime API for model inference including Claude, Nova, Titan, and third-party models. Covers invoke-model, converse API, streaming responses, token counting, async invocation, and guardrails") and the "when" ("Use when invoking foundation models, building conversational AI, streaming model responses, optimizing token usage, or implementing runtime guardrails") with concrete trigger phrases. Matches the anchor-5 pattern exactly; voice is third person ("Covers"), so no penalty applies.

5 / 5

Trigger Term Quality

"Use when invoking foundation models, building conversational AI, streaming model responses, optimizing token usage, or implementing runtime guardrails" gives good natural-phrase coverage. Not level 5: common phrasings users would actually say are missing — e.g. "call/invoke a model on AWS", "boto3 bedrock-runtime", "count tokens", "chat with Claude". Not level 3: the present terms are varied and natural, not just a couple of generic keywords.

4 / 5

Distinctiveness Conflict Risk

"Amazon Bedrock Runtime" establishes a clear niche with distinct triggers. Not level 5: "implementing runtime guardrails" overlaps the separate bedrock-guardrails skill referenced in the body, and "building conversational AI" is broad enough to also pull in agent-building skills (bedrock-agentcore). Not level 3: overlap is confined to closely related sibling skills, not many skills broadly.

4 / 5

Total

18

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1128 lines); consider splitting into references/ and linking

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

relative_links

Relative link issues: 5 missing

Warning

referenced_paths_exist

Referenced path issues: 5 missing

Warning

Total

12

/

16

Passed

Repository

fernandezbaptiste/Skrillz

Path

.claude/skills/bedrock-inference/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.