AWS DynamoDB single-table design, GSI patterns, SDK v3 TypeScript/Python
40
41%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/aws-dynamodb/SKILL.mdQuality
Discovery
40%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description identifies a clear and distinctive niche (DynamoDB single-table design) with some useful technical keywords, but it reads more like a tag list than a proper skill description. It lacks concrete actions (what the skill actually does) and completely omits any 'Use when...' guidance, significantly hurting its completeness and usefulness for skill selection.
Suggestions
Add a 'Use when...' clause such as 'Use when the user asks about DynamoDB table design, NoSQL data modeling, access patterns, or writing DynamoDB queries in TypeScript or Python.'
Convert the topic list into concrete actions, e.g., 'Designs DynamoDB single-table schemas, creates GSI/LSI access patterns, and generates SDK v3 TypeScript/Python code for CRUD operations.'
Include additional natural trigger terms like 'NoSQL', 'partition key', 'sort key', 'access patterns', 'DDB', and 'AWS database' to improve keyword coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (DynamoDB) and some concepts (single-table design, GSI patterns, SDK v3), but these are more like topic labels than concrete actions. It doesn't list specific actions like 'create tables', 'design access patterns', or 'write queries'. | 2 / 3 |
Completeness | Only addresses 'what' at a high level (DynamoDB topics) and completely lacks any 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also weak, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'DynamoDB', 'single-table design', 'GSI', 'SDK v3', 'TypeScript', 'Python' that users might mention, but misses common variations like 'NoSQL', 'partition key', 'sort key', 'access patterns', 'DDB', or 'AWS database'. | 2 / 3 |
Distinctiveness Conflict Risk | DynamoDB single-table design with GSI patterns is a very specific niche that is unlikely to conflict with other skills. The combination of DynamoDB, single-table design, and specific SDK versions creates a clear, distinct identity. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable code examples across TypeScript SDK v3, Python boto3, and CLI, which is its primary strength. However, it is severely over-long and verbose, explaining many concepts Claude already knows (DynamoDB basics, what GSIs are, why single-table design matters). The monolithic structure with no bundle files or progressive disclosure makes it a poor fit for the SKILL.md format, consuming excessive context window for what should be a concise overview pointing to detailed references.
Suggestions
Reduce the skill to ~100 lines: cut the key concepts table, 'Why Single Table?' rationale, and anti-patterns list (Claude knows these). Keep only the schema pattern, one language's CRUD examples, and key builder pattern.
Split into bundle files: move TypeScript CRUD to `typescript-operations.md`, Python operations to `python-operations.md`, CLI reference to `cli-reference.md`, and GSI patterns to `gsi-patterns.md`, with clear one-level-deep references from SKILL.md.
Add retry/validation logic for batch operations: handle `UnprocessedItems` in BatchWrite and `UnprocessedKeys` in BatchGet with explicit feedback loops.
Remove the 'Multi-Attribute Composite Keys (Nov 2025+)' section or move it to a clearly labeled 'new features' reference file, as time-sensitive content in the main skill body is problematic.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines, explaining concepts Claude already knows (what DynamoDB is, what partition keys are, basic CRUD patterns). The key concepts table, 'Why Single Table?' section, and anti-patterns list are all common knowledge for Claude. Much of this could be cut by 60-70% while preserving the actionable content. | 1 / 3 |
Actionability | The code examples are fully executable, copy-paste ready TypeScript and Python with proper imports, type definitions, and real SDK v3 commands. The CLI reference, Docker setup, and table creation commands are all concrete and complete. | 3 / 3 |
Workflow Clarity | The skill covers individual operations well but lacks explicit workflow sequencing for multi-step processes. Batch operations don't handle UnprocessedItems (retry logic), and there's no validation/verification step after batch writes or transactions. The local development section has a clear sequence but the overall design-to-implementation workflow is implicit. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no bundle files and no references to separate documents. The TypeScript CRUD, Python operations, GSI patterns, CLI reference, and local development setup are all inlined when they could be split into focused reference files. For a skill this large, the lack of any structural decomposition is a significant weakness. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (670 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
65efb33
Table of Contents
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.