{"id":"7a101006-36d4-45e4-9965-676c6afa77fd","shortId":"pd2CF7","kind":"skill","title":"EmDash Full-Stack TypeScript CMS by Cloudflare","tagline":"EmDash is an open-source, full-stack TypeScript CMS built on Astro and Cloudflare, designed as a spiritual successor to WordPress. It features sandboxed plugins, structured content via Portable Text, a built-in MCP server for AI agents, and runs on Cloudflare Workers, D1, and R2 ","description":"# EmDash Full-Stack TypeScript CMS by Cloudflare\n\nEmDash is an open-source, full-stack TypeScript CMS built on Astro and Cloudflare, designed as a spiritual successor to WordPress. It features sandboxed plugins, structured content via Portable Text, a built-in MCP server for AI agents, and runs on Cloudflare Workers, D1, and R2 or any Node.js server with SQLite.\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- npm create emdash@latest\n- npx emdash types\n- git clone https://github.com/emdash-cms/emdash.git && cd emdash\n- pnpm install\n\nRequirements and caveats from upstream:\n- EmDash depends on Dynamic Workers to run secure sandboxed plugins. Dynamic Workers are currently only available on paid accounts. [Upgrade your account](https://www.cloudflare.com/plans/developer-platform/) (starting...\n- EmDash runs on Cloudflare (D1 + R2 + Workers) or any Node.js server with SQLite. No PHP, no separate hosting tier -- just deploy your Astro site.\n\nBasic usage or getting-started notes:\n- A full-stack TypeScript CMS built on [Astro](https://astro.build/) and [Cloudflare](https://www.cloudflare.com/). EmDash takes the ideas that made WordPress dominant -- extensibility, admin UX, a plugin ecosystem -- a...\n- **Sandboxed plugins.** WordPress plugins have full access to the database, filesystem, and user data. A single vulnerable plugin can compromise the entire site. EmDash plugins run in isolated [Worker sandboxes](https:...\n- to: \"editors@example.com\",\n\n- Source: https://github.com/emdash-cms/emdash\n- Extracted from upstream docs: https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/README.md\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/emdash-full-stack-typescript-cms-cloudflare/)","tags":["emdash","full","stack","typescript","cms","cloudflare","skills","agentskillexchange","agent-skills","ai-agents","ai-tools","awesome-list"],"capabilities":["skill","source-agentskillexchange","skill-emdash-full-stack-typescript-cms-cloudflare","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-awesome-list","topic-claude-code","topic-codex","topic-cursor","topic-llm","topic-mcp","topic-npx-skills","topic-openclaw","topic-skills-catalog"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/agentskillexchange/skills/emdash-full-stack-typescript-cms-cloudflare","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add agentskillexchange/skills","source_repo":"https://github.com/agentskillexchange/skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,772 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:10:19.069Z","embedding":null,"createdAt":"2026-05-18T13:16:21.434Z","updatedAt":"2026-05-18T19:10:19.069Z","lastSeenAt":"2026-05-18T19:10:19.069Z","tsv":"'/)':222 '/).':227 '/emdash-cms/emdash':279 '/emdash-cms/emdash.git':144 '/emdash-cms/emdash/head/readme.md':286 '/plans/developer-platform/)':178 '/skills/emdash-full-stack-typescript-cms-cloudflare/)':293 'access':249 'account':172,175 'admin':237 'agent':49,106,288 'agentskillexchange.com':292 'agentskillexchange.com/skills/emdash-full-stack-typescript-cms-cloudflare/)':291 'ai':48,105 'astro':22,79,202,219 'astro.build':221 'astro.build/)':220 'avail':169 'basic':204 'built':20,43,77,100,217 'built-in':42,99 'caveat':151 'cd':145 'clone':141 'cloudflar':8,24,53,65,81,110,183,224 'cms':6,19,63,76,216 'compromis':262 'content':37,94 'creat':134 'current':167 'd1':55,112,184 'data':256 'databas':252 'depend':155 'deploy':200 'design':25,82 'doc':283 'domin':235 'dynam':157,164 'ecosystem':241 'editors@example.com':275 'emdash':1,9,58,66,135,138,146,154,180,228,266 'entir':264 'environ':132 'exchang':290 'extens':236 'extract':280 'featur':33,90 'filesystem':253 'full':3,16,60,73,213,248 'full-stack':2,15,59,72,212 'get':208 'getting-start':207 'git':140 'github.com':143,278 'github.com/emdash-cms/emdash':277 'github.com/emdash-cms/emdash.git':142 'host':197 'https':273 'idea':231 'instal':121,125,148 'isol':270 'latest':136 'made':233 'match':130 'mcp':45,102 'node.js':117,189 'note':210 'npm':133 'npx':137 'open':13,70 'open-sourc':12,69 'paid':171 'path':128 'php':194 'plugin':35,92,163,240,244,246,260,267 'pnpm':147 'portabl':39,96 'r2':57,114,185 'raw.githubusercontent.com':285 'raw.githubusercontent.com/emdash-cms/emdash/head/readme.md':284 'requir':149 'run':51,108,160,181,268 'sandbox':34,91,162,243,272 'secur':161 'separ':196 'server':46,103,118,190 'setup':127 'singl':258 'site':203,265 'skill':289 'skill-emdash-full-stack-typescript-cms-cloudflare' 'sourc':14,71,276,287 'source-agentskillexchange' 'spiritu':28,85 'sqlite':120,192 'stack':4,17,61,74,214 'start':179,209 'structur':36,93 'successor':29,86 'take':229 'text':40,97 'tier':198 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-awesome-list' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-npx-skills' 'topic-openclaw' 'topic-skills-catalog' 'type':139 'typescript':5,18,62,75,215 'upgrad':173 'upstream':124,153,282 'usag':205 'use':122 'user':255 'ux':238 'via':38,95 'vulner':259 'wordpress':31,88,234,245 'worker':54,111,158,165,186,271 'www.cloudflare.com':177,226 'www.cloudflare.com/).':225 'www.cloudflare.com/plans/developer-platform/)':176","prices":[{"id":"d6553291-aeb5-4cff-9a6a-6c584395ff51","listingId":"7a101006-36d4-45e4-9965-676c6afa77fd","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"agentskillexchange","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:16:21.434Z"}],"sources":[{"listingId":"7a101006-36d4-45e4-9965-676c6afa77fd","source":"github","sourceId":"agentskillexchange/skills/emdash-full-stack-typescript-cms-cloudflare","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/emdash-full-stack-typescript-cms-cloudflare","isPrimary":false,"firstSeenAt":"2026-05-18T13:16:21.434Z","lastSeenAt":"2026-05-18T19:10:19.069Z"}],"details":{"listingId":"7a101006-36d4-45e4-9965-676c6afa77fd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"emdash-full-stack-typescript-cms-cloudflare","github":{"repo":"agentskillexchange/skills","stars":8,"topics":["agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor","llm","mcp","npx-skills","openclaw","skills-catalog"],"license":"mit","html_url":"https://github.com/agentskillexchange/skills","pushed_at":"2026-05-18T19:02:17Z","description":"The open catalog of AI agent skills — 2,000+ security-scanned skills for Claude Code, Cursor, Codex, and more.","skill_md_sha":"5164b2afaebae85cbb7e5fd514c32a625c37d8f9","skill_md_path":"skills/emdash-full-stack-typescript-cms-cloudflare/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/emdash-full-stack-typescript-cms-cloudflare"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"EmDash Full-Stack TypeScript CMS by Cloudflare","description":"EmDash is an open-source, full-stack TypeScript CMS built on Astro and Cloudflare, designed as a spiritual successor to WordPress. It features sandboxed plugins, structured content via Portable Text, a built-in MCP server for AI agents, and runs on Cloudflare Workers, D1, and R2 or any Node.js server with SQLite."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/emdash-full-stack-typescript-cms-cloudflare"},"updatedAt":"2026-05-18T19:10:19.069Z"}}