# Marten Guide

> Marten guide covering event-sourced aggregates, projections (single-stream, multi-stream, composite, event), and query endpoints (get-by-id, paged list). Use for any Marten modeling or read-side query task.

- Skill: `majiayu000/marten-guide` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/marten-guide`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/marten-guide/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/marten-guide

---


Use this skill for all Marten tasks in the ApiService — aggregates, projections, and query endpoints.

## Task Routing

Read only the sub-file for your task:

| Task | Read |
|------|------|
| Create a new event-sourced aggregate | [`aggregate.md`](aggregate.md) |
| Build a read model from a single aggregate stream | [`projections.md`](projections.md) — Single-stream section |
| Build a read model aggregating multiple streams (dashboards, rollups) | [`projections.md`](projections.md) — Multi-stream section |
| Chain or stage multiple projections for throughput | [`projections.md`](projections.md) — Composite section |
| Emit one document per event (audit log, history, side table) | [`projections.md`](projections.md) — Event projection section |
| Add `GET /resource/{id}` with caching | [`queries.md`](queries.md) — Get-by-ID section |
| Add paged `GET /resource` list with filtering and caching | [`queries.md`](queries.md) — List query section |
| Understand or review Marten/Wolverine greenfield configuration settings | [`configuration.md`](configuration.md) |

## Related Skills

- [`/wolverine__guide`](../wolverine__guide/SKILL.md) — Write-side operations (POST/PUT/DELETE endpoints)


