Borrowing it
Nothing to install: this file belongs to LedgerHQ/ledger-live. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/LedgerHQ/ledger-live/develop/.agents/skills/ddd-data-layer-advanced/SKILL.mdgit clone --depth 1 https://github.com/LedgerHQ/ledger-liveWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ledgerhq/ledger-live/ddd-data-layer-advanced)<a href="https://agentmods.dev/skills/ledgerhq/ledger-live/ddd-data-layer-advanced"><img src="https://agentmods.dev/badge/skills/ledgerhq/ledger-live/ddd-data-layer-advanced.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.00457 |
| Opus 5 | $0.00028 | $0.00229 |
| Sonnet 5 | $0.00011 | $0.00091 |
| Haiku 4.5 | $0.00006 | $0.00046 |
Grade A, and why
ddd-data-layer-advanced scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
DDD Data Layer: Multiple Entities
Apply only when one API response maps to several autonomous entities. Use ddd-types-state-mocks for the rules inside each entity package.
Source: Data Layer Advanced Use Case
Split Ownership
domain/entity/<first>/src/schema.ts
domain/entity/<second>/src/schema.ts
domain/api/<orchestrator>/src/api.ts
- Let each entity own its schema and inferred type. Add state, selectors, mocks, and tests only when that entity needs them.
- Let one
domain/apipackage own the cross-entity response contract, request, transformation, and validation. - Keep UI and feature state in
features/flow. - Keep app composition out of the domain package.
Process The Response
- Fetch with RTK Query,
createAsyncThunk, or both. - In the API layer, validate and transform each response collection with its owning entity schema.
- Keep the result in RTK Query or dispatch the validated entities when slices must be hydrated.
Validate the collection before iterating over it: prefer entitySchema.array().parse(value) to .map() on untrusted data.
Test The Orchestration
- Use entity mock builders when available; otherwise build schema-valid fixtures.
- Test RTK Query endpoints, thunks, or their integration according to the chosen orchestration.
- When reducers are involved, create a minimal local store or use an existing domain test harness.
- Never import an app store or app alias into a domain test.
- Assert the validated result, cache entry, and any hydrated slice that the orchestration owns.
- Cover transport failure, invalid collection shape, and invalid entity data when relevant.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 41 lines · 55 tokens per session scan A 287afba5bb25
ddd-data-layer-advanced is a skill published in the GitHub repository LedgerHQ/ledger-live (616 stars, last pushed today), licensed MIT. It adds 55 tokens to every session and 457 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
event-store-design
Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
convex-explain-app
Explain an existing Convex app — data model + relationships, public vs internal functions, auth/ownership model, components, a request→data flow — read from the schema and function surface. Read-only.
platform-custom-field-generate
Use this skill when users need to create, generate, or validate Salesforce Custom Field metadata. Trigger when users mention custom fields, field types, Roll-up Summary fields, Master-Detail relationships, Lookup relationships, formula fields, picklists, dependent (controlling) picklists, referencing a value set from…
openloomi-api
OpenLoomi ships a local-first HTTP API served from the desktop app (port 3414, fallback 3515). All auth, Memory, AI, RAG, Loop, and Audit data live in a local SQLite database — your data stays on your machine and the OpenLoomi app is the source of truth. The only externally-routed auth path is the Composio OAuth…
nornicdb-grpc
Drive NornicDB over gRPC — the Qdrant-compatible surface (Collections, Points, Snapshots) plus the additive NornicSearch service. Use when ingesting via Qdrant SDKs, migrating from Qdrant, or running hybrid text+vector search from a non-Bolt client. Covers connection, RPC catalog, collection→database mapping…
field-service-sobject-create-configure
Headless 360 REST API deployment step for creating sObject records. Handles describe-based field discovery, required-field derivation, entity-relationship ordering, and composite graph transactions. Use this skill when a designer skill (or a user directly) needs to create sObject records after design confirmation…