CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

prismarine-skill

Build, define, and manage DynamoDB models and client code using Prismarine, the model-driven DynamoDB ORM for EasySAM and Python. Always use this skill when creating Prismarine clusters, defining @c.model or @c.index decorators, configuring resources.yaml prismarine settings, handling TypedDict or Pydantic modelling modes, or performing CRUD database operations via prismarine_client.

Quality

88%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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.

A well-structured, directive-heavy skill body: concrete code for the main workflow, a clear 4-step sequence, and exemplary one-level-deep reference structure. The main gaps are a missing example for the mandated DynamoAccess module, no explicit error-recovery loop for deploy, and slight repetition of the generate-client prohibition.

Suggestions

Add a short code example for the required DynamoAccess module (common/dynamo_access.py with get_dynamo_access()), since Rule 6 and the project layout mandate it but the workflow never shows how to implement it.

Include an explicit validation/error-recovery checkpoint after the deploy step (e.g., what to do when `easysam generate` reports schema validation errors: fix models.py and re-run) to close the feedback loop for database operations.

Deduplicate the standalone `prismarine generate-client` prohibition (stated in Rule 5 and again as a note in workflow step 3) to trim tokens.

DimensionReasoningScore

Conciseness

The body is dense and directive — numbered rules, a layout tree, and code with almost no padding or explanation of concepts Claude already knows (no "what is DynamoDB" prose). It falls short of 5 due to minor redundancy: the prohibition on standalone `prismarine generate-client` is stated in Rule 5 and repeated as a parenthetical note in step 3, and the 'Must be ABOVE @c.model' ordering appears in both Rule 4 and the code comment. It is above 3 because the excess is trimming-level, not unnecessary explanation.

4 / 5

Actionability

Mostly executable guidance: complete model definition code, a full resources.yaml block, exact `uv run easysam --environment dev generate .` commands, and copy-paste CRUD examples covering put, conditional put, get, and index query. It misses 5 because the required `DynamoAccess` module (Rule 6 and the layout show `common/dynamo_access.py` exporting `get_dynamo_access()`) is mandated but never exemplified, leaving a gap in the primary workflow. It is above 3 because nothing is pseudocode and the common cases are covered.

4 / 5

Workflow Clarity

The Data Access Workflow is a clearly sequenced 4-step process (define models → configure resources.yaml → generate/deploy → execute CRUD), with some checkpoints present: generate is noted to validate the schema, and the CRUD step shows error handling via `DbConditionFailed`/`DbNotFound`. It does not reach 5 because there is no explicit validate-then-fix-then-retry loop for the deploy step (relevant given database/deploy operations), and stays above 3 because validation and error handling are at least present rather than absent.

4 / 5

Progressive Disclosure

The body is a concise overview (~125 lines) with a clearly labeled Reference Material section pointing to four one-level-deep files (easysam.md, model-definition.md, crud-api.md, cli-usage.md), each annotated with its scope; all four exist in ./references/ and none nest further references. This matches the 5 anchor's clear overview with well-signaled, one-level-deep references and easy navigation; there is no inline content that belongs in a separate file.

5 / 5

Total

17

/

20

Passed

Description

92%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 names concrete capabilities in third person and pairs them with an explicit, detailed 'Always use this skill when...' trigger clause. Trigger terms are domain-natural and distinctive; only minor synonyms (e.g., 'tables', 'deploy') are missing.

DimensionReasoningScore

Specificity

The description lists multiple concrete, third-person actions — "Build, define, and manage DynamoDB models and client code", creating clusters, defining decorators, configuring resources.yaml, handling modelling modes, and performing CRUD operations — giving comprehensive coverage of the skill's capabilities. It is not below 5 because no concrete capability area is missing, and not below 4 because it goes well beyond 'several specific actions with minor gaps'.

5 / 5

Completeness

It explicitly answers 'what' ("Build, define, and manage DynamoDB models and client code using Prismarine, the model-driven DynamoDB ORM") and 'when' with a concrete trigger clause: "Always use this skill when creating Prismarine clusters, defining @c.model or @c.index decorators, configuring resources.yaml prismarine settings...". Both are explicit with concrete trigger phrases, matching the 5 anchor exactly; 4 would require the 'when' to be less specific.

5 / 5

Trigger Term Quality

Trigger coverage is strong and natural for the domain — "Prismarine clusters", "@c.model or @c.index decorators", "resources.yaml", "TypedDict or Pydantic", "CRUD database operations via prismarine_client" — but a few natural terms a user might say are absent (e.g., "DynamoDB tables", "deploy", "easysam generate/deploy"). It sits above 3 (keywords are domain-natural, not generic) but short of 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche (a named ORM, Prismarine, for EasySAM/Python) and its triggers are qualified by Prismarine-specific artifacts (@c.model, prismarine_client, resources.yaml prismarine settings), so it is unlikely to fire for a generic DynamoDB or Python skill. It is not 4 because even the broadest trigger ("CRUD database operations") is explicitly scoped "via prismarine_client".

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

scartill/easysam-skills

Path

skills/prismarine-skill/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.