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 technical niche (DynamoDB single-table design) with relevant technology keywords, but reads more like a tag list than a proper skill description. It lacks concrete actions describing what the skill does and entirely omits 'when to use' guidance, significantly reducing its effectiveness for skill selection.
Suggestions
Add concrete actions describing what the skill does, e.g., 'Designs single-table schemas, defines GSI access patterns, and generates SDK v3 client code for DynamoDB in TypeScript and Python.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about DynamoDB table design, NoSQL data modeling, access patterns, partition/sort key strategies, or writing DynamoDB queries with AWS SDK v3.'
Include common natural language variations users might say, such as 'NoSQL', 'access patterns', 'partition key', 'sort key', 'DynamoDB queries', or 'AWS database'.
| 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 table schemas', 'design access patterns', or 'write queries'. | 2 / 3 |
Completeness | Only partially addresses 'what' (lists topics but not actions) and completely lacks a 'when' clause. There is no 'Use when...' guidance, which per the rubric should cap completeness at 2, and since the 'what' is also weak, 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. However, it misses common variations like 'NoSQL', 'partition key', 'sort key', 'access patterns', 'DynamoDB table', or 'AWS database'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of DynamoDB, single-table design, GSI patterns, and specific SDK versions creates a very clear niche that is unlikely to conflict with other skills. This is highly distinctive. | 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 and Python SDKs, which is its primary strength. However, it is far too verbose for a skill file—it explains many concepts Claude already knows (what DynamoDB is, basic key concepts, why single-table design) and packs everything into a single monolithic document. The lack of progressive disclosure and missing error handling/retry logic in batch operations are significant weaknesses.
Suggestions
Remove explanatory content Claude already knows (DynamoDB description, key concepts table, 'Why Single Table?' rationale, anti-patterns list) to cut token usage by ~40%.
Split into multiple files: keep SKILL.md as a concise overview with key patterns and key builders, then reference separate files like TYPESCRIPT.md, PYTHON.md, CLI.md, and GSI_PATTERNS.md.
Add retry/error handling for batch operations (UnprocessedItems/UnprocessedKeys) and include a validation step or feedback loop for schema design verification.
Remove the 'Multi-Attribute Composite Keys (Nov 2025+)' section or move it to a deprecated/future patterns file, as time-sensitive information clutters the main skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines. It explains 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 things Claude knows well. Much of this could be cut to focus on the specific patterns and conventions unique to this project/team. | 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 workflow sequencing for multi-step processes. Batch operations don't handle UnprocessedItems (retry logic for partial failures), and there's no validation/verification guidance for schema design or data migration scenarios. The batch write section is missing error handling for unprocessed items, which is a critical gap. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no bundle files and no references to separate documents. The entire content—setup, CRUD, batch ops, transactions, GSI patterns, Python SDK, local dev, CLI reference, and anti-patterns—is all inline in one massive file. Much of this should be split into separate reference files (e.g., Python operations, CLI reference, GSI patterns). | 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 | |
7e5f7a2
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.