# emdash-cms

Get guidance for adding EmDash to Astro, configuring content storage, and querying entries. Useful when starting a CMS project or extending an existing site.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 719 installs · ★ 88
- Author: reason-machines
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/reason-machines/trending-skills/tree/HEAD/skills/emdash-cms/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/emdash-cms

## What it does

This skill walks through integrating EmDash with Astro, choosing a database and storage backend, defining content types, and fetching entries for pages. Its examples cover Cloudflare D1, SQLite on Node.js, PostgreSQL, and Turso, along with commands for schema types and database migrations.

EmDash represents rich text as Portable Text data, so pages need a renderer for that content. Its plugins run in isolated Workers; the Cloudflare setup shown here uses Worker Loaders. That configuration matters: without Worker Loaders, plugins cannot run in the sandboxed setup described by the skill.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill emdash-cms -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/emdash-cms/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/emdash-cms/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill emdash-cms -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/emdash-cms/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill emdash-cms -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/emdash-cms/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install reason-machines/trending-skills emdash-cms
```

2. **Manually: put the files in place**
- File: `.github/skills/emdash-cms/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill emdash-cms -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/reason-machines/trending-skills --path skills/emdash-cms
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/emdash-cms/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill emdash-cms -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/reason-machines/trending-skills/tree/HEAD/skills/emdash-cms/SKILL.md

## When to use it
- add EmDash to an existing Astro project
- configure a database and content storage
- generate TypeScript definitions from a content schema
- fetch and sort published collection entries
- render Portable Text in an Astro page

## Example prompts
- Add EmDash to my Astro project and configure SQLite.
- Create a content type for posts, then generate its TypeScript definitions.
- Show me how to fetch published entries sorted by date.

## Similar
- [mcp-builder](https://affpapa.org/en/nevibecode/skills/mcp-builder.md) — skill · 130949 installs
- [claude-api](https://affpapa.org/en/nevibecode/skills/claude-api.md) — skill · 74198 installs
- [lark-im](https://affpapa.org/en/nevibecode/skills/lark-im.md) — skill · 472900 installs
- [lark-event](https://affpapa.org/en/nevibecode/skills/lark-event.md) — skill · 466800 installs
- [caveman-discover](https://affpapa.org/en/nevibecode/skills/caveman-discover.md) — skill · 104400 installs
- [migration](https://affpapa.org/en/nevibecode/skills/migration.md) — skill · 103900 installs

From the same set: [reason-machines/trending-skills](https://affpapa.org/en/nevibecode/by/reason-machines/trending-skills.md) — 139 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
