data-source-patterns SKILL.md skillA
data-source-patterns from robsonkades/agent-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add robsonkades/agent-skills/data-source-patterns@git:20261016.c769bd8Pins git:20261016.c769bd8 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- robsonkades/agent-skills
- Path
skills/data-source-patterns/SKILL.md- Versions recorded
- 5
- Latest version
- git:20261016.c769bd8, committed Oct 16, 2026
- First version recorded
- Sep 6, 2026
- Size
- 11,458 bytes
- Repository stars
- 3
- License
- Apache-2.0
Choosing how code reaches the database — Table Data Gateway, Row Data Gateway, Active Record or Data Mapper — from the shape of the domain logic rather than from framework habit, and knowing what each one couples together. Use when a new module's persistence approach is being chosen, when entities carry both business rules and save() methods, when JPA is being applied to a schema that fights it, when SQL is scattered through service classes, when a "DAO" layer duplicates what the ORM already…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Data Source Patterns
## Purpose
Pick the data-access pattern that matches the logic it will serve, and know precisely what
each one couples to what. Inspect both **who owns database access** and how independently
the object model must evolve from the schema. Shape alone does not classify a pattern.
The failure this prevents is choosing by default — JPA entities for everything because the
starter is on the classpath, or a hand-rolled DAO layer because the previous project had
one — and then fighting the consequences for years in code that looks like a mapping
problem but is a pattern-selection problem.
## The four patterns
```text
Table Data Gateway one gateway for a table or view; its SQL lives
there; methods take and return primitives or record
sets. No domain objects, no per-row identity.
Row Data Gateway one object per row; it holds the row's data and
knows how to load and save itself. No business
logic — that distinction is the whole point.
Active Record Row Data Gateway plus the business logic for that
…Read the whole file at its exact version.
How to install
mdr add robsonkades/agent-skills/data-source-patterns@sha256:3b5190d4fe85f1e7The line at the top of this page pins the label git:20261016.c769bd8, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_ls2z3pgi3i5rtdvb)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 5 versions of this file, between Sep 6, 2026 and Oct 16, 2026, about one every 10 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261016.c769bd8 latest | 2026-10-16 | c769bd8 | 11,458 B | A | view · diff |
| git:20260927.9ecadfd | 2026-09-27 | 9ecadfd | 10,915 B | A | view · diff |
| git:20260923.832673e | 2026-09-23 | 832673e | 10,394 B | A | view · diff |
| git:20260911.37b054b | 2026-09-11 | 37b054b | 10,180 B | A | view · diff |
| git:20260906.e6ad4bd | 2026-09-06 | e6ad4bd | 9,992 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (11458 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
robsonkades/agent-skills · 3 stars · license Apache-2.0 · pushed 2026-10-28 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ls2z3pgi3i5rtdvb GET https://markdownregistry.com/api/v1/resolve?ref=robsonkades/agent-skills/data-source-patterns GET https://markdownregistry.com/api/v1/blob/3b5190d4fe85f1e722f4ade677fa4eac2889f7f9b86b248b177352f60378e1fb
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.