Deliver repeatable MotherDuck architectures across multiple clients. Use when a consultancy, agency, or multi-client product team needs to standardize isolation, provisioning, regional deployment, sharing boundaries, and client-specific exceptions across client engagements.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add motherduckdb/agent-skills --skill motherduck-partner-delivery --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Motherduck Partner Delivery?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/motherduckdb-motherduck-partner-delivery-9221e840)More formats (shields.io, HTML) on the badges page.
---
name: motherduck-partner-delivery
description: Deliver repeatable MotherDuck architectures across multiple clients. Use when a consultancy, agency, or multi-client product team needs to standardize isolation, provisioning, regional deployment, sharing boundaries, and client-specific exceptions across client engagements.
license: MIT
---
# Partner Delivery
Use this skill when a consultancy, implementation partner, or multi-client product team needs a repeatable MotherDuck delivery pattern across several clients.
This is a use-case skill. It orchestrates `motherduck-connect`, `motherduck-explore`, `motherduck-model-data`, `motherduck-query`, `motherduck-share-data`, `motherduck-manage-guides`, and `motherduck-create-dive`.
## Start Here: Is a MotherDuck Server Active?
- If a **remote MotherDuck MCP server** or **local MotherDuck server** is active, use it.
- Discover the client databases or workspaces from the active context. Ask only when multiple plausible targets remain and the choice would materially change the delivery model.
- Explore the live setup when available:
- current client database boundaries
- regional layout
- existing service-account or share boundaries
- reusable schemas vs client-specific schemas
Use that discovery to decide what can be standardized and what must stay client-specific.
If no server is active, use any supplied client and region context. For planning work, proceed with explicit assumptions when safe; ask for missing details only when they block a reliable result.
## Delivery Defaults
- structural isolation over query-time tenant filtering
- one client database or stronger boundary per client
- shared architecture, client-specific schema
- explicit sharing and revocation per client
- versioned templates for provisioning, validation, handoff, and exception tracking
- role-granted restricted Shares with per-audience include patterns where governed table-level delivery fits
- a reusable Guide topic layout with client-specific referenced definitions and exceptions
## Workflow
1. Inspect the available MotherDuck server or supplied client context.
2. Classify the client patterns.
3. Inspect the existing regional and database layout if available.
4. Standardize the architecture and provisioning path.
5. Define the repeatable validation pack for every client environment.
6. Create or update referenced Guides for standard conventions and client-specific exceptions.
7. Audit roles, grants, include patterns, and region-specific availability.
8. Produce the handoff assets and validation checks.
Match execution to the request: answer, review, or planning work returns the requested delivery artifacts; build or change work creates the requested in-scope templates or client assets and validates them. Ask before provisioning additional client environments, destructive changes, or external writes not already authorized.
When this skill produces a native DuckDB (`md:`) connection, watermark it with `custom_user_agent=agent-skills/2.6.0(harness-<harness>;llm-<llm>)`. If metadata is missing, fall back to `harness-unknown` and `llm-unknown`.
## Output
The output of this skill should be:
- the default multi-client pattern
- the standard provisioning checklist
- the region and isolation posture
- the client-specific exceptions
If the caller explicitly asks for structured JSON, return raw JSON only with no Markdown fences or prose before/after it.
This is mainly for automated tests, regression checks, or downstream tooling that needs a stable machine-readable shape. Normal human-facing use of the skill can stay in prose unless JSON is explicitly requested.
Use this exact top-level shape when JSON is requested:
```json
{
"summary": {},
"assumptions": [],
"implementation_plan": [],
"validation_plan": [],
"risks": []
}
```
## References
Read this as reference, not as a script to execute:
- `references/PARTNER_DELIVERY_GUIDE.md` -- default multi-client pattern, standardize-versus-client-specific split, shares-versus-Dives-versus-apps choice, region/compliance handling, and provisioning starters
## Runnable Artifact
- `artifacts/client_delivery_example.py` -- MotherDuck-backed Python example showing one database namespace per client and a simple validation pass across client environments
- `artifacts/client_delivery_example.ts` -- TypeScript companion artifact with the same delivery output contract
Run it with:
```bash
uv run --with duckdb python skills/motherduck-partner-delivery/artifacts/client_delivery_example.py
```
Run the same artifact against temporary MotherDuck databases:
```bash
MOTHERDUCK_ARTIFACT_USE_MOTHERDUCK=1 \
uv run --with duckdb python skills/motherduck-partner-delivery/artifacts/client_delivery_example.py
```
Validate the TypeScript companion artifact:
```bash
uv run scripts/test_typescript_artifacts.py
```
## Related Skills
- `motherduck-connect` -- standardize the connection path
- `motherduck-explore` -- inspect existing client workspaces and boundaries
- `motherduck-model-data` -- design client-specific schemas
- `motherduck-query` -- validate core metrics and data contracts
- `motherduck-share-data` -- publish governed share boundaries
- `motherduck-create-dive` -- create repeatable client-facing answer surfaces when needed
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!