Development guide for using the Prismarine DynamoDB ORM. Use when defining DynamoDB models, generating client code, or performing database operations using Prismarine.
76
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill provides guidance for using Prismarine, a Pythonic ORM for DynamoDB.
models.py file in your cluster package (e.g., common/models.py). Models must be in a file named models.py, not __init__.py.prismarine generate-client CLI command.db.py file (e.g., common/db.py) to extend the generated client and use it for CRUD operations.Models define the schema and keys for DynamoDB tables.
@c.model(PK='...', SK='...') to define primary keys.@c.index(...) for Secondary Indexes (place ABOVE @c.model).Generate the type-safe client using the CLI. The command expects to import your models from the models submodule.
uv run prismarine generate-client <base_pkg> --base . --model-library pydanticExample:
uv run prismarine generate-client common --base . --model-library pydanticThe generated client provides a high-level API for interacting with DynamoDB.
from common.db import TeamModel
# Create
TeamModel.put({'Foo': 'val1', 'Bar': 'val2'})
# Get
item = TeamModel.get(foo='val1', bar='val2')
# Query (if SK exists)
items = TeamModel.list(foo='val1')Prismarine tables are auto-generated by EasySAM. Do not define tables manually in easysam.yaml.
prismarine: section in the root resources.yaml.b2bd8e2
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.