{"owner":"emdash-cms","repo":"emdash","hasSkills":true,"totalSkillsCount":357,"totalTokensCount":117556,"categories":["anthropic-skill","root-instruction","subagent-persona","plugin-manifest","mcp-config"],"hasMcp":true,"mcpConfig":{"mcpServers":{"emdash":{"command":"npx","args":["-y","@modelcontextprotocol/server-emdash"]}}},"found":["skills/emdash-cli/SKILL.md","skills/creating-plugins/SKILL.md","skills/adversarial-reviewer/SKILL.md","skills/building-emdash-site/SKILL.md","skills/wordpress-plugin-to-emdash/SKILL.md","infra/flue-review/.flue/skills/review/SKILL.md","skills/wordpress-theme-to-emdash/SKILL.md","skills/agent-browser/SKILL.md","infra/emdash-bot/.flue/skills/investigate/SKILL.md","infra/emdash-bot/.flue/skills/implement/SKILL.md","infra/emdash-bot/.flue/skills/fix/SKILL.md","infra/emdash-bot/.flue/skills/diagnose/SKILL.md","templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md","templates/portfolio/.agents/skills/emdash-cli/SKILL.md","templates/portfolio/.agents/skills/creating-plugins/SKILL.md","templates/portfolio/.agents/skills/building-emdash-site/SKILL.md","templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md","templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md","templates/marketing/.agents/skills/emdash-cli/SKILL.md","templates/marketing/.agents/skills/creating-plugins/SKILL.md","templates/marketing/.agents/skills/building-emdash-site/SKILL.md","templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md","templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md","templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md","templates/blog/.agents/skills/emdash-cli/SKILL.md","templates/blog/.agents/skills/creating-plugins/SKILL.md","templates/blog/.agents/skills/building-emdash-site/SKILL.md","templates/blank/.agents/skills/emdash-cli/SKILL.md","templates/blank/.agents/skills/creating-plugins/SKILL.md","templates/blank/.agents/skills/building-emdash-site/SKILL.md","templates/starter/.agents/skills/emdash-cli/SKILL.md","templates/starter/.agents/skills/creating-plugins/SKILL.md","templates/starter/.agents/skills/building-emdash-site/SKILL.md","templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md","templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md","templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md","AGENTS.md",".opencode/agents/auto-implementer.md",".opencode/agents/auto-reviewer.md","packages/x402/CHANGELOG.md","packages/x402/package.json","packages/x402/tsconfig.json","packages/workerd/CHANGELOG.md","packages/workerd/package.json","packages/workerd/tsconfig.json","packages/registry-verification/CHANGELOG.md","packages/registry-verification/package.json","packages/registry-verification/tsconfig.json","packages/registry-lexicons/CHANGELOG.md","packages/registry-lexicons/package.json","packages/registry-lexicons/README.md","packages/registry-lexicons/tsconfig.json","packages/registry-client/CHANGELOG.md","packages/registry-client/package.json","packages/registry-client/README.md","packages/registry-client/tsconfig.json","packages/plugins/README.md","packages/plugins/tsconfig.base.json","packages/plugin-types/CHANGELOG.md","packages/plugin-types/package.json","packages/plugin-types/tsconfig.json","packages/plugin-cli/CHANGELOG.md","packages/plugin-cli/package.json","packages/plugin-cli/README.md","packages/plugin-cli/tsconfig.json","packages/marketplace/package.json","packages/marketplace/README.md","packages/marketplace/tsconfig.json","packages/gutenberg-to-portable-text/CHANGELOG.md","packages/gutenberg-to-portable-text/package.json","packages/gutenberg-to-portable-text/tsconfig.json","packages/create-emdash/CHANGELOG.md","packages/create-emdash/package.json","packages/create-emdash/tsconfig.json","packages/core/CHANGELOG.md","packages/core/package.json","packages/core/README.md","packages/core/tsconfig.json","packages/contentful-to-portable-text/CHANGELOG.md","packages/contentful-to-portable-text/package.json","packages/contentful-to-portable-text/tsconfig.json","packages/cloudflare/CHANGELOG.md","packages/cloudflare/package.json","packages/cloudflare/tsconfig.json","packages/blocks/CHANGELOG.md","packages/blocks/package.json","packages/blocks/tsconfig.json","packages/auth-atproto/CHANGELOG.md","packages/auth-atproto/package.json","packages/auth-atproto/README.md","packages/auth-atproto/tsconfig.json","packages/auth/CHANGELOG.md","packages/auth/package.json","packages/auth/tsconfig.json","packages/atproto-test-utils/package.json","packages/atproto-test-utils/tsconfig.json","packages/admin/CHANGELOG.md","packages/admin/package.json","packages/admin/tsconfig.json","skills/emdash-cli/EDITING-FLOW.md","infra/emdash-bot/evals/CUTOVER.md","infra/emdash-bot/evals/dataset.json","infra/emdash-bot/evals/dataset.md","infra/emdash-bot/evals/README.md","packages/plugins/mcp-smoke/CHANGELOG.md","packages/plugins/mcp-smoke/package.json","packages/plugins/mcp-smoke/tsconfig.json","packages/plugins/marketplace-test/CHANGELOG.md","packages/plugins/marketplace-test/emdash-plugin.jsonc","packages/plugins/marketplace-test/package.json","packages/plugins/marketplace-test/README.md","packages/plugins/marketplace-test/tsconfig.json","packages/plugins/forms/CHANGELOG.md","packages/plugins/forms/package.json","packages/plugins/forms/tsconfig.json","packages/plugins/field-kit/CHANGELOG.md","packages/plugins/field-kit/package.json","packages/plugins/field-kit/tsconfig.json","packages/plugins/embeds/CHANGELOG.md","packages/plugins/embeds/package.json","packages/plugins/embeds/tsconfig.json","packages/plugins/color/CHANGELOG.md","packages/plugins/color/package.json","packages/plugins/color/tsconfig.json","packages/plugins/audit-log/CHANGELOG.md","packages/plugins/audit-log/emdash-plugin.jsonc","packages/plugins/audit-log/package.json","packages/plugins/audit-log/tsconfig.json","packages/plugins/atproto/CHANGELOG.md","packages/plugins/atproto/emdash-plugin.jsonc","packages/plugins/atproto/package.json","packages/plugins/atproto/tsconfig.json","packages/plugins/api-test/CHANGELOG.md","packages/plugins/api-test/package.json","packages/plugins/ai-moderation/CHANGELOG.md","packages/plugins/ai-moderation/package.json","packages/plugins/ai-moderation/tsconfig.json","packages/plugins/sandboxed-test/CHANGELOG.md","packages/plugins/sandboxed-test/emdash-plugin.jsonc","packages/plugins/sandboxed-test/package.json","packages/plugins/sandboxed-test/tsconfig.json","packages/plugins/webhook-notifier/CHANGELOG.md","packages/plugins/webhook-notifier/emdash-plugin.jsonc","packages/plugins/webhook-notifier/package.json","packages/plugins/webhook-notifier/tsconfig.json","packages/plugin-cli/schemas/emdash-plugin.schema.json","packages/marketplace/tests/tsconfig.json","packages/blocks/playground/package.json","packages/blocks/playground/tsconfig.json","skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md","skills/wordpress-theme-to-emdash/scaffold/package.json","skills/wordpress-theme-to-emdash/scaffold/README.md","skills/wordpress-theme-to-emdash/scaffold/tsconfig.json","skills/wordpress-theme-to-emdash/references/astro-essentials.md","skills/wordpress-theme-to-emdash/references/concept-mapping.md","skills/wordpress-theme-to-emdash/references/design-extraction.md","skills/wordpress-theme-to-emdash/references/emdash-api.md","skills/wordpress-theme-to-emdash/references/template-patterns.md","skills/wordpress-theme-to-emdash/phases/1-discovery.md","skills/wordpress-theme-to-emdash/phases/2-design.md","skills/wordpress-theme-to-emdash/phases/3-templates.md","skills/wordpress-theme-to-emdash/phases/4-dynamic.md","skills/wordpress-theme-to-emdash/phases/5-seed.md","skills/wordpress-theme-to-emdash/phases/6-verify.md","skills/creating-plugins/references/admin-ui.md","skills/creating-plugins/references/api-routes.md","skills/creating-plugins/references/block-kit.md","skills/creating-plugins/references/hooks.md","skills/creating-plugins/references/portable-text-blocks.md","skills/creating-plugins/references/publishing.md","skills/creating-plugins/references/storage.md","skills/building-emdash-site/references/configuration.md","skills/building-emdash-site/references/querying-and-rendering.md","skills/building-emdash-site/references/schema-and-seed.md","skills/building-emdash-site/references/site-features.md","templates/portfolio-cloudflare/.cursor/mcp.json","templates/portfolio-cloudflare/.vscode/mcp.json","templates/portfolio/.cursor/mcp.json","templates/portfolio/.vscode/mcp.json","templates/marketing-cloudflare/.cursor/mcp.json","templates/marketing-cloudflare/.vscode/mcp.json","templates/marketing/.cursor/mcp.json","templates/marketing/.vscode/mcp.json","templates/blog-cloudflare/.cursor/mcp.json","templates/blog-cloudflare/.vscode/mcp.json","templates/blog/.cursor/mcp.json","templates/blog/.vscode/mcp.json","templates/blank/.cursor/mcp.json","templates/blank/.vscode/mcp.json","templates/starter/.cursor/mcp.json","templates/starter/.vscode/mcp.json","templates/starter-cloudflare/.cursor/mcp.json","templates/starter-cloudflare/.vscode/mcp.json","demos/cloudflare/plugins/sandbox-test/manifest.json","packages/registry-verification/fixtures/records/profile.json","packages/registry-verification/fixtures/records/release.json","packages/registry-verification/fixtures/provenance/README.md","packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json","packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json","packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json","packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc","packages/plugin-cli/tests/fixtures/minimal-plugin/package.json","packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc","packages/plugin-cli/tests/fixtures/bad-plugin/package.json","packages/core/tests/integration/fixture/package.json","packages/core/tests/integration/fixture/tsconfig.json","templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md","templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","packages/marketplace/tests/fixtures/audit/social-engineering/expected.json","packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json","packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json","packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json","packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json","packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json","packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json","packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json","packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json","packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json","packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json","packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json","packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json","packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json","packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json","packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json","packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json","packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json","packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json","packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json","packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json","packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json","packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json","packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json","packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json","packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json","packages/core/tests/integration/fixture/.emdash/seed.json","packages/core/tests/integration/smoke/fixtures/README.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md","templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md","templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md","templates/portfolio/.agents/skills/creating-plugins/references/hooks.md","templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/portfolio/.agents/skills/creating-plugins/references/publishing.md","templates/portfolio/.agents/skills/creating-plugins/references/storage.md","templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md","templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md","templates/marketing/.agents/skills/creating-plugins/references/api-routes.md","templates/marketing/.agents/skills/creating-plugins/references/block-kit.md","templates/marketing/.agents/skills/creating-plugins/references/hooks.md","templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/marketing/.agents/skills/creating-plugins/references/publishing.md","templates/marketing/.agents/skills/creating-plugins/references/storage.md","templates/marketing/.agents/skills/building-emdash-site/references/configuration.md","templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/marketing/.agents/skills/building-emdash-site/references/site-features.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md","templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","templates/blog/.agents/skills/creating-plugins/references/admin-ui.md","templates/blog/.agents/skills/creating-plugins/references/api-routes.md","templates/blog/.agents/skills/creating-plugins/references/block-kit.md","templates/blog/.agents/skills/creating-plugins/references/hooks.md","templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/blog/.agents/skills/creating-plugins/references/publishing.md","templates/blog/.agents/skills/creating-plugins/references/storage.md","templates/blog/.agents/skills/building-emdash-site/references/configuration.md","templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/blog/.agents/skills/building-emdash-site/references/site-features.md","templates/blank/.agents/skills/creating-plugins/references/admin-ui.md","templates/blank/.agents/skills/creating-plugins/references/api-routes.md","templates/blank/.agents/skills/creating-plugins/references/block-kit.md","templates/blank/.agents/skills/creating-plugins/references/hooks.md","templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/blank/.agents/skills/creating-plugins/references/publishing.md","templates/blank/.agents/skills/creating-plugins/references/storage.md","templates/blank/.agents/skills/building-emdash-site/references/configuration.md","templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/blank/.agents/skills/building-emdash-site/references/site-features.md","templates/starter/.agents/skills/creating-plugins/references/admin-ui.md","templates/starter/.agents/skills/creating-plugins/references/api-routes.md","templates/starter/.agents/skills/creating-plugins/references/block-kit.md","templates/starter/.agents/skills/creating-plugins/references/hooks.md","templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/starter/.agents/skills/creating-plugins/references/publishing.md","templates/starter/.agents/skills/creating-plugins/references/storage.md","templates/starter/.agents/skills/building-emdash-site/references/configuration.md","templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/starter/.agents/skills/building-emdash-site/references/site-features.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md","templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json"],"skills":{"skills/emdash-cli/SKILL.md":"---\nname: emdash-cli\ndescription: Use the EmDash CLI to inspect and manage an EmDash instance from the command line, including content, schema, media, taxonomies, menus, search, authentication, seeds, migrations, generated types, and whole-site export and import.\n---\n\n# EmDash CLI\n\nThe EmDash CLI (`emdash`, with the short alias `em`) manages EmDash CMS instances. Commands fall into two categories:\n\n- **Local commands** work with project files or a configured database: `init`, `doctor`, `seed`, `migrate`, `export-seed`, and `secrets`.\n- **Remote commands** talk to a running EmDash instance: `types`, `login`, `logout`, `whoami`, `content`, `schema`, `media`, `search`, `taxonomy`, `menu`, and `site`.\n\nRun `npx emdash --help` and `npx emdash <command> --help` for the installed version's exact commands and flags. Resolve the current target with a read command before a destructive or bulk mutation; examples in this skill do not authorize changing an instance the user did not place in scope.\n\n## Authentication\n\nRemote commands resolve auth automatically:\n\n1. `--token` flag\n2. `EMDASH_TOKEN` env var\n3. Stored credentials from `emdash login`\n4. Dev bypass (localhost only — no token needed)\n\nFor a localhost development server with the development bypass enabled, the client can authenticate automatically. For a remote instance, run `emdash login --url https://example.com` or provide a scoped token.\n\n## Custom Headers & Reverse Proxies\n\nSites behind Cloudflare Access or other reverse proxies need auth headers on every request. The CLI supports this via `--header` flags and environment variables.\n\n### Service tokens for automation\n\n```bash\n# Provide sensitive headers through the environment in CI.\nexport EMDASH_HEADERS=\"CF-Access-Client-Id: xxx\nCF-Access-Client-Secret: yyy\"\nnpx emdash whoami --url https://example.com\n```\n\n`emdash login --header` persists custom headers to `~/.config/emdash/auth.json` for later commands. Prefer environment-provided headers in CI so a service secret is not written to the credential file or shell history.\n\n### Cloudflare Access Browser Flow\n\nIf you don't have service tokens and `cloudflared` is installed, the CLI will automatically:\n\n1. Detect when Access blocks the request\n2. Try to get a cached JWT via `cloudflared access token`\n3. Fall back to `cloudflared access login` for browser-based auth\n\nThis works for interactive use but isn't suitable for CI. Use service tokens for automation.\n\n### Generic Reverse Proxy Auth\n\nThe `--header` flag works with any auth scheme:\n\n```bash\n# Basic auth\nnpx emdash login --url https://example.com -H \"Authorization: Basic dXNlcjpwYXNz\"\n\n# Custom auth header\nnpx emdash login --url https://example.com -H \"X-API-Key: secret123\"\n```\n\n## Quick Reference\n\n### Database Setup\n\nFor normal site startup, use the project's package script. The first request runs pending migrations and, before setup is completed, applies the bundled seed's schema and structure once; sample content comes from the setup wizard, `/_emdash/api/setup/dev-bypass`, or `emdash seed`. The Astro integration generates `emdash-env.d.ts` when the server starts.\n\n```bash\n# Start the site with its package script\npnpm dev\n\n# Export an existing database as a seed file\n# (the runtime auto-discovers .emdash/seed.json on first boot;\n# `mkdir -p` because the directory may not exist yet)\nmkdir -p .emdash\nnpx emdash export-seed > .emdash/seed.json\nnpx emdash export-seed --with-content=all > .emdash/seed.json\n```\n\n### Type Generation\n\n```bash\n# Generate types from local dev server\nnpx emdash types\n\n# Generate from remote\nnpx emdash types --url https://example.com\n\n# Custom output path\nnpx emdash types --output src/types/cms.ts\n```\n\nWrites `.emdash/types.ts` (TypeScript interfaces) and `.emdash/schema.json`.\n\n### Authentication\n\n```bash\n# Login (OAuth Device Flow)\nnpx emdash login --url https://example.com\n\n# Check current user\nnpx emdash whoami\n\n# Logout\nnpx emdash logout\n\n# Generate an encryption key for deployment\nnpx emdash secrets generate\n```\n\n### Content CRUD\n\nThe CLI is designed for agents. Create and update auto-publish by default so agents get read-after-write consistency without managing drafts.\n\n```bash\n# List content\nnpx emdash content list posts\nnpx emdash content list posts --status published --limit 10\n\n# Get a single item (Portable Text fields converted to markdown)\n# Returns draft data if a pending draft exists\nnpx emdash content get posts 01ABC123\nnpx emdash content get posts 01ABC123 --raw        # skip PT->markdown conversion\nnpx emdash content get posts 01ABC123 --published   # ignore pending drafts\n\n# Create content (auto-publishes by default)\nnpx emdash content create posts --data '{\"title\": \"Hello\", \"body\": \"# World\"}'\nnpx emdash content create posts --file post.json --slug hello-world\nnpx emdash content create posts --draft --data '...'  # keep as draft\ncat post.json | npx emdash content create posts --stdin\n\n# Update (requires --rev from a prior get, auto-publishes by default)\nnpx emdash content update posts 01ABC123 --rev MToyMDI2... --data '{\"title\": \"Updated\"}'\nnpx emdash content update posts 01ABC123 --rev MToyMDI2... --draft --data '...'  # keep as draft\n\n# Delete (soft delete)\nnpx emdash content delete posts 01ABC123\n\n# Lifecycle\nnpx emdash content publish posts 01ABC123\nnpx emdash content unpublish posts 01ABC123\nnpx emdash content schedule posts 01ABC123 --at 2026-03-01T09:00:00Z\nnpx emdash content restore posts 01ABC123\n```\n\n### Schema Management\n\n```bash\n# List collections\nnpx emdash schema list\n\n# Get collection with fields\nnpx emdash schema get posts\n\n# Create collection\nnpx emdash schema create articles --label Articles --description \"Blog articles\"\n\n# Delete a collection after inspecting it and confirming the target\nnpx emdash schema get articles\nnpx emdash schema delete articles\n\n# Add field\nnpx emdash schema add-field posts body --type portableText --label \"Body Content\"\nnpx emdash schema add-field posts featured --type boolean --required\n\n# Remove field\nnpx emdash schema remove-field posts featured\n```\n\n`schema add-field` supports the field types printed by `npx emdash schema add-field --help`. The full product schema supports additional field types that are not necessarily creatable through this command.\n\n### Media\n\n```bash\n# List media\nnpx emdash media list\nnpx emdash media list --mime image/png\n\n# Upload\nnpx emdash media upload ./photo.jpg --alt \"A sunset\" --caption \"Bristol, 2026\"\n\n# Get / delete\nnpx emdash media get 01MEDIA123\nnpx emdash media delete 01MEDIA123\n```\n\n### Search\n\n```bash\nnpx emdash search \"hello world\"\nnpx emdash search \"hello\" --collection posts --limit 5\n```\n\n### Taxonomies\n\n```bash\nnpx emdash taxonomy list\nnpx emdash taxonomy terms categories\nnpx emdash taxonomy add-term categories --name \"Tech\" --slug tech\nnpx emdash taxonomy add-term categories --name \"Frontend\" --parent 01PARENT123\n```\n\n### Menus\n\n```bash\nnpx emdash menu list\nnpx emdash menu get primary\n```\n\n### Site Export and Import\n\n`emdash site` copies a whole site (content model, content, history, settings, and media, but no users or secrets) into a `.emdash` site package, and imports a package into an empty site. The token needs `admin`, which the `emdash login` token has, or the `transfer:export`, `transfer:analyze`, and `transfer:execute` scopes. An `INSUFFICIENT_SCOPE` error means the token has neither. A package holds every entry and the email addresses of authors and commenters: treat it like a database backup.\n\n```bash\n# Export (re-run the same command to resume after an interruption)\nnpx emdash site export --url https://old.example.com --output site.emdash\nnpx emdash site export --url https://old.example.com --output site.emdash --no-comments\n\n# Import, step 1: upload and analyze; prints the plan and its digest\nnpx emdash site import site.emdash --url https://new.example.com --analyze\nnpx emdash site import site.emdash --url https://new.example.com --analyze \\\n  --map-principal editor@example.com=editor@example.com --use-target-title\n\n# Import, step 2: execute exactly the reviewed plan\nnpx emdash site import site.emdash --url https://new.example.com --plan sha256:<hex> --confirm\n\n# Follow up on an import by operation id\nnpx emdash site import status <operation-id> --url https://new.example.com\nnpx emdash site import resume <operation-id> [site.emdash] --url https://new.example.com\nnpx emdash site import receipt <operation-id> --url https://new.example.com\n\n# Stop an import, or lift the write block a failed or cancelled import leaves\n# (neither deletes what the import wrote; --yes skips the prompt)\nnpx emdash site import cancel <operation-id> --url https://new.example.com\nnpx emdash site import abandon <operation-id> --url https://new.example.com\n```\n\nShow the user the plan (differences from the source site, warnings, blockers, principal mappings) and get their confirmation before running `--confirm`; it writes to the target site and blocks other writes there until it finishes. `site import` exits `2` when the plan has blockers, and `site import status` exits `1` for an import that failed, was cancelled or abandoned, or expired. Only cancel or abandon an import when the user asks: abandoning leaves partial data on the site, which then has to be reset before another import. `--map-principal` takes `<principal id or email>=<user id, email, or none>` and is repeatable; decision flags only work with `--analyze`, and each change produces a new plan digest. The public site is not hidden during an import, so the target should stay private until the command prints a receipt with `receiptDigestValid: true`.\n\n## Drafts and Publishing\n\nThe CLI auto-publishes on `create` and `update` by default. This means:\n\n- **`create`** creates the item and immediately publishes it\n- **`update`** updates the item and publishes if a draft revision was created\n- **`get`** returns draft data if a pending draft exists (e.g. from the admin UI)\n\nUse `--draft` on create/update to skip auto-publishing. Use `--published` on get to ignore pending drafts.\n\nCollections that support revisions store edits as draft revisions. The CLI handles this transparently — agents don't need to know whether a collection uses revisions or not.\n\n## JSON Output\n\nAll remote commands support `--json` for machine-readable output. It's auto-enabled when stdout is piped. `emdash site` always writes progress to stderr, so stdout holds only the JSON result; errors are `{ \"error\": { \"code\", \"message\" } }`.\n\n```bash\n# Pipe to jq\nnpx emdash content list posts --json | jq '.items[].slug'\n\n# Use in scripts\nID=$(npx emdash content create posts --data '{\"title\":\"Hello\"}' --json | jq -r '.id')\n```\n\n## Editing Flow\n\nFor details on how content editing works — Portable Text/markdown conversion, `_rev` tokens, and raw mode — see **[EDITING-FLOW.md](./EDITING-FLOW.md)**.\n","skills/creating-plugins/SKILL.md":"---\nname: creating-plugins\ndescription: Create EmDash CMS plugins with sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions. Use when scaffolding or implementing an EmDash plugin.\n---\n\n# Creating EmDash plugins\n\nBuild against the API that reaches the intended execution mode. Source types and production-boundary tests take precedence over examples in this skill when they disagree.\n\n## Choose a format\n\n| Format    | Runtime source                                      | Admin UI                                                  | Distribution                 |\n| --------- | --------------------------------------------------- | --------------------------------------------------------- | ---------------------------- |\n| Sandboxed | `src/plugin.ts` default-exports a `SandboxedPlugin` | Block Kit pages, widgets, saved-entry panels, and actions | Plugin CLI and registry      |\n| Native    | `definePlugin()` / `createPlugin()`                 | React, Block Kit, and Astro components                    | Trusted site dependency only |\n\nUse a sandboxed plugin unless the feature needs host-process access, React admin code, Astro rendering components, raw page fragments, or custom Portable Text block definitions. Native plugins run with the site's authority and cannot be installed from the registry.\n\n## Scaffold a sandboxed plugin\n\n```sh\npnpm dlx @emdash-cms/plugin-cli init my-plugin\ncd my-plugin\npnpm install\npnpm run test\n```\n\nThe manifest is the identity and trust contract. Runtime hooks and routes live in `src/plugin.ts`; the CLI generates descriptors, manifests, and bundles. Do not create a separate descriptor factory or `sandbox-entry.ts`.\n\n```typescript title=\"src/plugin.ts\"\nimport type { SandboxedPlugin } from \"emdash/plugin\";\n\nconst plugin: SandboxedPlugin = {\n\thooks: {\n\t\t\"content:afterSave\": async (event, ctx) => {\n\t\t\tctx.log.info(\"Content saved\", { id: event.content.id });\n\t\t},\n\t},\n};\n\nexport default plugin;\n```\n\nImport authoring types from `emdash/plugin` with `import type`. The CLI bundles value imports such as `pluginRoute()` and `pluginResponse()` from `emdash/plugin` and `portableTextToMarkdown()` from `emdash/client`. Sandboxed runtime code can use Web APIs but not Node.js built-ins.\n\n## Declare access\n\nDeclare every host API in `emdash-plugin.jsonc`. Adding authority, exposing a route publicly, or adding MCP tools requires renewed administrator approval.\n\n| Capability                       | Grants                                                                     |\n| -------------------------------- | -------------------------------------------------------------------------- |\n| `schema:read`                    | Public collection and field definitions                                    |\n| `admin.editor-draft:read`        | Selected unsaved field values after an explicit editor interaction         |\n| `admin.editor-draft:patch`       | Host-validated unsaved field changes proposed for editor review            |\n| `content:read`                   | Content identity, translations, and published public URLs                  |\n| `content:revisions:read`         | Retained revision data; implies content read                               |\n| `content:write`                  | Create, update, delete, and translation creation; implies read             |\n| `content:publish`                | Revision-fenced publish, unpublish, schedule, and unschedule; implies read |\n| `content:restore`                | Revision-fenced reads and restoration of trashed content                   |\n| `hooks.content-policy:register`  | Pre-publish, pre-schedule, and pre-unpublish policy hooks                  |\n| `taxonomies:read`                | Taxonomy definitions, terms, and entry assignments                         |\n| `taxonomies:write`               | Term creation and assignment deltas; implies read                          |\n| `bylines:read`                   | Public byline profiles and single or batched entry credits                 |\n| `redirects:read`                 | Versioned redirect inspection                                              |\n| `redirects:write`                | Versioned redirect creation, update, and deletion; implies read            |\n| `comments:read`                  | Stored non-trashed comments and their personal data                        |\n| `comments:moderate`              | Expected-status moderation; implies read                                   |\n| `media:read`                     | Ready-media metadata and authenticated asset URLs                          |\n| `media:bytes:read`               | Bounded media bytes and content hashes                                     |\n| `media:metadata:write`           | Alt text, caption, and focal-point updates                                 |\n| `media:write`                    | Upload and delete; implies media read                                      |\n| `network:request`                | `ctx.http.fetch()` restricted to `allowedHosts`                            |\n| `network:request:unrestricted`   | `ctx.http.fetch()` without a host list                                     |\n| `users:read`                     | User directory lookup; also required by comment hooks                      |\n| `email:send`                     | Email delivery when a transport is configured                              |\n| `hooks.email-transport:register` | Exclusive `email:deliver` hook                                             |\n| `hooks.email-events:register`    | Email before/after hooks                                                   |\n| `hooks.page-fragments:register`  | Trusted-only page fragments; excluded from sandbox registration            |\n\nSettings, KV, declared storage, logging, and cron scheduling are plugin-scoped and need no capability. Use `ctx.settings` for user configuration, `ctx.kv` for internal key-value state, and declared `ctx.storage.<collection>` for queryable records.\n\nRead the focused reference for the API being used:\n\n- [Content, schema, translations, and publication](./references/content.md)\n- [Taxonomies and redirects](./references/taxonomies-and-redirects.md)\n- [Comments](./references/comments.md)\n- [Media](./references/media.md)\n- [Storage, KV, and encrypted settings](./references/storage.md)\n\n## Routes, HTTP, and MCP\n\nRoutes are private by default and require authentication, their declared RBAC permission, token scope or CSRF as appropriate. Public routes are internet-facing and require explicit install consent.\n\nUndeclared routes keep the legacy JSON/query envelope. Declare methods and body modes for host-enforced parsing. Use `pluginResponse()` only on a route that declares a raw response. Outbound `ctx.http.fetch()` responses and declared route bodies are buffered and bounded.\n\nMCP tools reference private JSON routes with explicit permissions and Zod input schemas. Mark difficult-to-reverse operations `destructive: true`. Read [API routes and MCP tools](./references/api-routes.md).\n\n## Hooks\n\nSandboxed hooks enter the same priority, dependency, timeout, error-policy, enablement, exclusive-provider, and capability pipeline as trusted hooks. Publication policy hooks identify action origin and actor without granting publication authority. Comment moderation invoked through `ctx.comments` reports plugin origin and runs the normal after-hook once. Read [Hooks](./references/hooks.md).\n\n## Declarative admin UI\n\nSandboxed pages and widgets return validated Block Kit. Structured links use host-resolved targets; `routeCtx.ui` carries host-attested locale, direction, and surface. External images require matching network authority.\n\nSaved-entry panels and actions point to private routes. Ordinary panel load receives only host-reloaded saved identity and version. Add `admin.editor-draft:read` or `admin.editor-draft:patch` plus extension-level collection and field selectors when an explicit interaction must receive selected unsaved fields or propose an atomic whole-field patch. Patch does not imply read. The host previews accepted patches, marks the form dirty, and never saves them automatically. Read saved content through capability-gated `ctx.content`.\n\nDeclarative field widgets currently compose supported Block Kit elements into a JSON value. Custom Portable Text blocks and Astro render components remain native-only. Read [Admin UI](./references/admin-ui.md), [Block Kit](./references/block-kit.md), and [Portable Text blocks](./references/portable-text-blocks.md).\n\n## Runner parity\n\nCloudflare Worker Loader and Node/workerd execute the same bundle behind a plugin-scoped bridge. Both return buffered WHATWG responses from `ctx.http.fetch()` with binary bytes preserved and decoded request/response bodies limited to 8 MiB. Write against exported types, not extra methods found in one wrapper.\n\nRead [Sandbox boundaries](./references/sandbox-boundaries.md) before designing around an API not listed here.\n\n## Test the production boundary\n\nUse `createPluginTestHost()` for fast hook, route, manifest, capability, KV, settings, and storage transport tests. Use `createPluginRuntimeTestHost()` when the test must exercise real content actions, plugin activation, media, comments, redirects, scheduling, restart, authorization, CSRF, caching, Block Kit validation, or saved-entry extensions.\n\nRuntime fixtures establish state without firing hooks. Runtime actions call production boundaries; inspectors read observable state. Queue outbound HTTP responses with `host.http.respond()` and inspect requests with `host.http.requests()`. Dispose every host after use. Add Node/workerd parity only for runner-sensitive behavior.\n\n## References\n\n- [Content, schema, translations, and publication](./references/content.md)\n- [Taxonomies and redirects](./references/taxonomies-and-redirects.md)\n- [Comments](./references/comments.md)\n- [Media](./references/media.md)\n- [Hooks](./references/hooks.md)\n- [Storage, KV, and encrypted settings](./references/storage.md)\n- [Admin UI and field widgets](./references/admin-ui.md)\n- [API routes and MCP tools](./references/api-routes.md)\n- [Block Kit](./references/block-kit.md)\n- [Portable Text blocks](./references/portable-text-blocks.md)\n- [Sandbox boundaries](./references/sandbox-boundaries.md)\n- [Publishing](./references/publishing.md)\n","skills/adversarial-reviewer/SKILL.md":"---\nname: adversarial-reviewer\ndescription: Stress-test a code change for concrete correctness defects, unsafe assumptions, and failure modes. Use when the user explicitly asks for an adversarial review, a deep bug hunt, or to tear a change apart, or to check your own change before submitting it. Do not use for ordinary review, style feedback, or general improvement suggestions.\n---\n\n# Adversarial code review\n\nLook for defects that survive an ordinary review. Treat the implementation's assumptions as claims to verify, while keeping every finding tied to evidence.\n\n## Establish the review boundary\n\n1. Identify the exact diff, branch, pull request head, or files under review.\n2. Read the surrounding code needed to understand data flow and invariants.\n3. Check repository instructions and the tests that define expected behavior.\n4. Compare the change with its stated purpose. Trace the scenario and configuration from the issue, discussion, or accepted design it addresses through the real code, and treat each claim in the description and changeset as something to verify.\n5. Separate defects introduced by the reviewed change from unrelated observations. Report an out-of-scope issue only when it materially affects the change's safety.\n\nDo not modify code, post a review, or expand the review target unless the user asks.\n\n## Hunt for failures\n\nChoose the checks that fit the change instead of mechanically applying every category.\n\n- **Logic and boundaries:** empty and single-item inputs, pagination edges, invalid state transitions, locale handling, Unicode, maximum values, and repeat invocation.\n- **Errors and cleanup:** swallowed failures, partial cleanup, misleading status codes, exposed internals, missing timeouts, and unbounded retries.\n- **State and concurrency:** stale reads, lost updates, time-of-check/time-of-use races, duplicate delivery, non-idempotent retries, leaked listeners, and shared mutable state.\n- **Authorization and trust:** missing permission checks, confused caller identity, CSRF, unsafe redirects, injection, path traversal, secret exposure, and trust transferred across a boundary without validation.\n- **Data integrity:** partial writes, migration restart behavior, dialect differences, uniqueness assumptions, destructive cascades, and old/new version compatibility.\n- **Resources and performance:** unbounded collections, repeated round trips, retained resources, logged-out hot-path regressions, and work that scales with attacker-controlled input.\n- **Scope:** the same defect left in place elsewhere, such as sibling call sites, other storage backends or render paths, and data already stored in the old shape.\n- **Interfaces:** exported types, generated schemas, generated types, and documentation that no longer match the new behavior.\n\nTrace concrete inputs and event sequences through the real implementation. Run focused tests or a minimal reproduction when that is the fastest way to establish a claim. Do not infer a bug solely from an unfamiliar pattern.\n\n## Findings standard\n\nA finding needs all of the following:\n\n- the violated behavior or invariant;\n- the exact code location;\n- a concrete trigger or execution path;\n- the observable consequence;\n- a proportionate fix direction.\n\nUse calibrated language. State confirmed defects directly. Label an unresolved concern as uncertain and explain what evidence is missing. Do not turn naming, formatting, optional hardening, or personal design preference into a correctness finding.\n\nPrioritize by impact and likelihood:\n\n- **Critical:** exploitable security issue, unrecoverable data loss, or broad production outage.\n- **High:** likely user-visible wrong behavior, authorization bypass, or recoverable data corruption.\n- **Medium:** real failure under a plausible edge case, race, or sustained load.\n- **Low:** limited correctness issue with small impact. Omit purely cosmetic observations.\n\n## Report\n\nLead with findings, ordered by severity. For each finding, include a short title, file and line, the failing scenario, impact, and fix direction. Keep line ranges tight.\n\nIf no actionable defects are supported by the evidence, say so. Mention meaningful residual risks or untested boundaries, but do not manufacture findings to make the review appear thorough.\n","skills/building-emdash-site/SKILL.md":"---\nname: building-emdash-site\ndescription: Build the site-facing parts of an EmDash CMS project on Astro, including schema and seeds, content queries, Portable Text rendering, menus, taxonomies, widgets, and deployment configuration. Use for EmDash site and theme work; use creating-plugins instead when the task is plugin authoring alone.\n---\n\n# Building an EmDash Site\n\nEmDash is a CMS built on Astro. It stores schema in the database (not in code), serves content via live content collections, and provides a full admin UI at `/_emdash/admin`. Sites are standard Astro projects with the `emdash` integration.\n\n## Common Gotchas\n\nThese are the things that silently break sites. Know them before you start.\n\n1. **Image fields are objects, not strings.** `post.data.featured_image` is `{ id, src, alt }`. Writing `<img src={post.data.featured_image} />` renders `[object Object]`. Use `<Image image={post.data.featured_image} />` from `\"emdash/ui\"`.\n\n2. **`entry.id` vs `entry.data.id` are different things.** `entry.id` is the slug, prefixed with the locale (`en/my-post`) for locales whose URLs are prefixed (use in URLs; `entry.data.slug` is the bare slug). `entry.data.id` is the database ULID (use for `getEntryTerms`, `Comments`, and other API calls that need the real ID). Mixing them up causes silent empty results.\n\n3. **Taxonomy names must match the seed exactly.** If your seed defines `\"name\": \"category\"`, you must query `getTerm(\"category\", slug)` -- not `\"categories\"`. Wrong name = empty results, no error.\n\n4. **Register cache hints when Astro's cache is enabled.** Content queries return a `cacheHint`; pass it to `Astro.cache.set(cacheHint)`. Use `getSiteSettingsWithCacheHint()`, `getMenuWithCacheHint()`, `getTaxonomyTermsWithCacheHint()`, and `getWidgetAreaWithCacheHint()` when a cached route renders those values.\n\n5. **No `getStaticPaths` for CMS content.** EmDash content is dynamic. Pages must be server-rendered (`output: \"server\"` in `astro.config.mjs`).\n\n## File Structure\n\nEvery EmDash site has these key files:\n\n```\nmy-site/\n├── astro.config.mjs          # Astro config with emdash() integration\n├── src/\n│   ├── live.config.ts         # EmDash loader registration (boilerplate)\n│   ├── pages/                 # Astro pages (all server-rendered)\n│   ├── layouts/               # Layout components\n│   └── components/            # Reusable components\n├── seed/\n│   └── seed.json              # Schema + demo content\n├── emdash-env.d.ts          # Generated types (from `emdash types`)\n└── package.json\n```\n\n## Workflow\n\n### 1. Configure the project\n\nRead **[references/configuration.md](references/configuration.md)** for `astro.config.mjs`, `live.config.ts`, deployment targets (Node vs Cloudflare), and type generation.\n\n### 2. Design the schema\n\nRead **[references/schema-and-seed.md](references/schema-and-seed.md)** for collection definitions, field types, taxonomies, menus, widget areas, sections, bylines, and the complete seed file format.\n\n### 3. Build the pages\n\nRead **[references/querying-and-rendering.md](references/querying-and-rendering.md)** for content queries, Portable Text rendering, the Image component, visual editing attributes, caching, and common page patterns (list, detail, taxonomy archive, RSS, search, 404).\n\n### 4. Wire up site features\n\nRead **[references/site-features.md](references/site-features.md)** for site settings, navigation menus, taxonomies, widget areas, search, SEO meta, comments, and page contributions.\n\n### 5. Create the seed file\n\nWrite `seed/seed.json` with collections, fields, taxonomies, menus, widgets, and sample content.\n\n### 6. Run and verify\n\n```bash\npnpm dev                # Start the Astro dev server\n```\n\nThe runtime runs pending migrations on the first request and, before setup is completed, applies the seed's schema and structure once. Sample content needs an explicit step; see [Applying Seeds](references/schema-and-seed.md#applying-seeds). The Astro integration generates `emdash-env.d.ts` when the server starts. The admin UI is at `http://localhost:4321/_emdash/admin`.\n\n## Quick API Cheat Sheet\n\n```typescript\n// Content (entries have .data.byline and .data.bylines eagerly loaded)\nimport { getEmDashCollection, getEmDashEntry } from \"emdash\";\nconst { entries, nextCursor, cacheHint } = await getEmDashCollection(\"posts\", {\n\tlimit: 10,\n\tcursor,\n\torderBy: { published_at: \"desc\" },\n});\nconst { entry: post, cacheHint: entryCacheHint } = await getEmDashEntry(\"posts\", slug);\n\n// Site features\nimport {\n\tgetSiteSettings,\n\tgetSiteSettingsWithCacheHint,\n\tgetMenu,\n\tgetMenuWithCacheHint,\n\tgetTaxonomyTerms,\n\tgetTaxonomyTermsWithCacheHint,\n\tgetTerm,\n\tgetEntryTerms,\n\tgetEntriesByTerm,\n\tgetWidgetArea,\n\tgetWidgetAreaWithCacheHint,\n\tsearch,\n\tgetSection,\n\tgetSeoMeta,\n} from \"emdash\";\n\n// Bylines (standalone queries -- usually not needed since entries have bylines attached)\nimport { getByline, getBylineBySlug } from \"emdash\";\n\n// UI components\nimport {\n\tPortableText,\n\tBlocks,\n\tdefineBlockComponents,\n\tImage,\n\tWidgetArea,\n\tEmDashHead,\n\tEmDashBodyStart,\n\tEmDashBodyEnd,\n} from \"emdash/ui\";\nimport { Comments, CommentForm } from \"emdash/ui/comments\";\nimport LiveSearch from \"emdash/ui/search\";\n\n// Page context (for plugin contributions)\nimport { createPublicPageContext } from \"emdash/page\";\n```\n\n## Plugins\n\nEmDash supports plugins for extending the CMS with hooks, storage, settings, admin UI, API routes, and custom Portable Text block types. Consider a plugin when you need to:\n\n- React to content lifecycle events (e.g., send a notification on publish, sync to an external service)\n- Add custom admin pages or dashboard widgets\n- Add reusable behavior or custom Portable Text types (e.g., embedded maps or code playgrounds)\n- Provide a reusable service (e.g., analytics, forms, comments via a third-party provider)\n\nPlugins are registered in `astro.config.mjs`:\n\n```javascript\nemdash({\n\tdatabase: sqlite({ url: \"file:./data.db\" }),\n\tstorage: local({ directory: \"./uploads\", baseUrl: \"/_emdash/api/media/file\" }),\n\tplugins: [myPlugin()],\n}),\n```\n\n**To build a plugin, load the `creating-plugins` skill** (in `.agents/skills/creating-plugins/`). It covers plugin anatomy, hooks, storage, admin UI, API routes, Portable Text blocks, capabilities, and the full `definePlugin()` API.\n\n## Reference Documents\n\n| File                                                                         | Contents                                                            |\n| ---------------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| [references/configuration.md](references/configuration.md)                   | Project setup, astro.config, live.config, deployment, types         |\n| [references/schema-and-seed.md](references/schema-and-seed.md)               | Collections, fields, taxonomies, menus, widgets, seed format        |\n| [references/querying-and-rendering.md](references/querying-and-rendering.md) | Content APIs, PortableText, Image, caching, page patterns           |\n| [references/site-features.md](references/site-features.md)                   | Settings, menus, widgets, search, SEO, comments, page contributions |\n","skills/wordpress-plugin-to-emdash/SKILL.md":"---\nname: wordpress-plugin-to-emdash\ndescription: Analyze and port WordPress plugin behavior, custom post types, shortcodes, admin workflows, and stored data to current EmDash extension points. Use for WordPress-plugin migrations or when deciding which behavior belongs in an EmDash plugin, site schema, seed, or Astro code. Do not use for visual theme ports without plugin functionality.\n---\n\n# Port a WordPress plugin to EmDash\n\nPreserve the plugin's user-visible behavior and data model without translating PHP line by line. WordPress and EmDash divide responsibilities differently, so first decide whether each feature belongs in site schema, Astro code, a sandboxed plugin, or a trusted native plugin.\n\nLoad [creating-plugins](../creating-plugins/SKILL.md) before implementing plugin code. Load [building-emdash-site](../building-emdash-site/SKILL.md) when the port changes collections, seeds, queries, or frontend templates. Those skills define the current APIs; this skill covers migration decisions.\n\n## Understand the source\n\nInspect the plugin source, installation behavior, database changes, hooks, REST endpoints, scheduled work, admin screens, shortcodes or blocks, frontend output, permissions, and external services. Identify behavior that users rely on separately from WordPress-specific implementation.\n\nRecord:\n\n- required content and configuration data;\n- actions that mutate or publish data;\n- authorization and trust boundaries;\n- background or retry behavior;\n- frontend and administrator interactions;\n- import, migration, and rollback needs;\n- license obligations for copied assets or code.\n\nIf the source, expected behavior, or target EmDash environment is missing, report the gap instead of inventing an equivalent.\n\n## Assign each responsibility\n\n| WordPress responsibility                        | EmDash destination                                                                                           |\n| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| Custom post type, taxonomy, or metadata         | Collection, taxonomy, and fields created through the site schema or seed                                     |\n| Site-wide presentation setting                  | Site setting read by Astro templates                                                                         |\n| Plugin-owned user settings                      | `ctx.settings`; declare credentials as encrypted `secret` fields                                             |\n| Plugin-owned cursors, caches, or internal state | Plugin-scoped `ctx.kv`                                                                                       |\n| Plugin-owned queryable records                  | Declared `ctx.storage.<collection>` storage                                                                  |\n| Content discovery, translation, or publication  | Capability-gated `ctx.content` and `ctx.schema`; policy hooks and actions have separate authority            |\n| Runtime taxonomy or redirect management         | `ctx.taxonomies` or `ctx.redirects` with narrow read/write capability                                        |\n| Comment administration                          | `ctx.comments`; reads expose personal data and moderation uses expected status                               |\n| WordPress REST endpoint                         | Declared plugin route with explicit methods, inputs, headers, and response mode                              |\n| Scheduled event                                 | `cron` hook and `ctx.cron` scheduling                                                                        |\n| Admin page or form                              | Block Kit for sandboxed plugins; React only for a trusted native plugin                                      |\n| Post editor metabox or saved-entry action       | `admin.editorPanels` or `admin.editorActions` on private routes                                              |\n| User or author lookup                           | `ctx.users` with `users:read`                                                                                |\n| Outbound HTTP request                           | `ctx.http.fetch()` with `network:request` and an `allowedHosts` entry                                        |\n| Media operation                                 | Separate metadata, byte-read, metadata-write, and upload/delete authorities                                  |\n| `WP_Query` or template tag                      | EmDash content API in Astro site code                                                                        |\n| Shortcode or editor block                       | Existing Portable Text content where possible; a custom Portable Text block requires a trusted native plugin |\n| Raw head markup or scripts                      | Trusted native `page:fragments`; registry-installed plugins can contribute validated `page:metadata` only    |\n\nDo not create collections or taxonomies by reaching into EmDash system tables. Use the public schema, seed, CLI, or admin boundary. Do not use internal REST routes to imitate a sandbox API that does not exist.\n\nKeep authorities separate: reading media metadata does not grant bytes, moderation does not grant deletion, publication policy does not grant publication actions, and content restore does not grant ordinary content reads.\n\n## Choose the plugin format\n\nUse a sandboxed plugin by default. It supports portable hooks, routes, declared storage, media, network access, MCP tools, and Block Kit admin UI through an install-time trust contract.\n\nUse a trusted native plugin only when the feature requires host-process access, React admin code, Astro rendering components, raw page fragments, or custom Portable Text block definitions. State the extra authority and distribution limitation in the migration plan.\n\nSome WordPress plugins do not need an EmDash plugin. A custom post type plus frontend templates may become only schema, seed data, and Astro pages. Do not add a runtime extension when static site structure covers the behavior.\n\n## Plan data movement\n\nDescribe how existing WordPress data maps before writing runtime code:\n\n- map post IDs, slugs, locales, authors, statuses, revisions, and publication dates;\n- preserve relationships between posts, terms, media, and plugin-owned records;\n- distinguish a one-time import from data that must continue syncing;\n- make imports restartable and define how duplicates are detected;\n- keep source identifiers when they are needed for reconciliation or redirects;\n- identify content that cannot be represented without a product decision.\n\nUse seed data for a new site's initial schema and sample content. Use an importer or migration path for an existing site's production data; a seed is not a backup or ongoing synchronization mechanism.\n\n## Verify equivalent behavior\n\nTest through the boundary that users and the runtime exercise:\n\n- schema and imported-data assertions for content-model changes;\n- production-boundary plugin tests for sandbox hooks, routes, storage, and permissions;\n- browser verification for admin and frontend journeys;\n- restart, duplicate-delivery, authorization, and failure cases when the source feature depends on them.\n\nCompare observable behavior, not internal structure. Document intentional differences and any WordPress feature that remains unsupported.\n\n## Deliver the port\n\nProvide:\n\n1. a concise inventory of the WordPress behavior and data;\n2. the responsibility map and sandboxed/native decision;\n3. the data migration or seed plan;\n4. the implementation across plugin and site code;\n5. verification evidence and known gaps;\n6. attribution and license notices for reused code or assets.\n","infra/flue-review/.flue/skills/review/SKILL.md":"---\nname: review\ndescription: Review one pull request for real bugs, regressions, and convention violations. Enumerate candidate issues across the whole diff, verify each against the code, then return structured line-anchored findings and a verdict. Read-only on GitHub; the orchestrator posts the review.\n---\n\n# Review a pull request\n\nYou are reviewing a pull request on **emdash-cms/emdash**. Find real bugs, regressions, and gaps, and return structured findings; the orchestrator posts them as a single review.\n\nReview **statically**. Do not run the test suite, linter, builds, or install anything (you have no shell anyway). Read code, trace with searches, and reason. If confirming something would require running tooling, say it's unverified rather than guessing.\n\nThe repo's AGENTS.md is at the repo root in your context. Check the PR against its conventions (Lingui localization, RTL-safe Tailwind, SQL safety, API envelope shape, authorization, locale filtering on content tables, index discipline, changesets, query counts on logged-out routes, comment discipline). A violation is a real finding, not a nit.\n\n## Documentation changes\n\nWhen the diff changes documentation prose, load the `writing-emdash-docs` skill before reviewing those files. This includes public docs, READMEs, contributor guidance, technical specifications, release notes and changesets, and skill instructions. Apply the skill only to documentation; do not spend review context on it for code, tests, generated files, or prose fixtures.\n\nVerify documentation claims against the implementation, types, tests, command output, and adjacent docs. The writing skill does not replace technical investigation.\n\nCalibrate documentation findings by their effect:\n\n- Use `needs_fixing` for a false technical claim, an obsolete or unsafe command, an API example that cannot work, a procedure that cannot reach its stated outcome, a missing prerequisite that causes failure or data loss, or documentation that contradicts shipped behavior.\n- Use `suggestion` for voice, organization, accessibility, verbosity, or anti-slop edits that preserve meaning.\n- Do not flag a watched word or sentence shape by itself. Confirm that it makes the documentation less precise, less useful, or harder to understand.\n\nWhen code changes user-visible behavior, check whether existing documentation becomes false or incomplete. Do not require public documentation for internal changes that do not alter how readers use EmDash.\n\n### Changesets\n\nReview each changeset against [.changeset/README.md](/repo/.changeset/README.md). It is public documentation copied verbatim into a package CHANGELOG, not metadata that passes once its package names, bump type, and frontmatter are valid.\n\nReturn a `needs_fixing` finding when a required entry is technically accurate but does not help readers decide whether the release affects them. This includes vague prose, internal mechanics or commit-message summaries, a recognizable public surface or audience left unnamed, a significant capability buried under incidental details, or a breaking/default change without concrete migration and reversion guidance. Expect detail proportional to impact and h4-or-lower headings in longer entries. Check that useful explanations and examples also appear in the canonical feature or upgrade docs.\n\n## Your only tool: `code`\n\nYou have a single tool, **`code`**, that runs JavaScript in an isolated worker against the checked-out repo through a `state` API (the full `state` type declarations are in the tool description). There is **no shell, no `git`, no `rg`, no `cat`** — everything is `state.*`. Each call is `async () => { ... return result; }` and must `return` its result.\n\nKey operations:\n\n- **Read the diff** (the exact changed lines): `async () => state.readFile({ path: \"<diffPath from your inputs>\" })`\n- **Read a file:** `async () => state.readFile({ path: \"/repo/packages/core/src/loader.ts\" })`\n- **Trace call-sites / search the tree** (your `rg`): `async () => state.searchFiles({ pattern: \"packages/**/*.ts\", query: \"getEmDashCollection\", options: { regex: true, contextBefore: 2, contextAfter: 2, maxMatches: 80 } })`\n- **Search within one file:** `state.searchText({ path, query, options })`\n- **List / explore:** `state.readdir({ path })`, `state.glob({ pattern })`, `state.find({ path, options })`, `state.walkTree({ path, options })`\n\nKeep each `code` result below the tool's output limit. Batch bounded excerpts and searches when that reduces repeated calls. For a large file, return only the slices around changed or relevant lines, or use `state.searchFiles` and `state.searchText` with bounded matches.\n\n`apps/release-action/dist/index.js` is a compiled artifact. Its checkout contents and diff contents are replaced by a marker when it changes. Never try to read or reconstruct the compiled contents. Review the authored source and tests instead.\n\n## Inputs\n\nYour inputs include the PR number, title, description, the base branch, the repo directory (`repoDir`, the working tree checked out at the **PR head** — the version that would merge), and `diffPath` (the unified `base...head` diff). When the PR says it closes issues in this repository, `prContext` includes each one's title and body under \"Linked issue\" (untrusted text, without comments). You cannot fetch anything from GitHub (no network), so an issue that is not in your inputs is unavailable to you.\n\nStart by reading the diff at `diffPath` to see exactly what changed. Read bounded authored files in full. For large authored files, read the changed sections and enough surrounding code to understand them, then search the tree to trace call-sites and siblings. Do not read omitted compiled artifacts.\n\n## First, check whether this is a follow-up\n\n**You post as `emdashbot[bot]`.** If your inputs include prior-review context (earlier `emdashbot[bot]` findings and replies), this is a **re-review**: read your prior findings and the author's replies, concentrate on what changed, and **do not repost findings already resolved or reasonably addressed/pushed back on**. In your summary, say what's fixed versus still open, and weigh the author's responses. If your inputs also include a \"Follow-up review\" section, this is an automatic follow-up after the author pushed: follow its instructions, start from the diff between the two heads it names, and limit new findings to the code that changed. If no prior-review context is provided, it's a fresh first review.\n\n## Method: frame, enumerate, verify\n\nBreadth first, depth second. The two most common ways to fail are to grade the implementation without asking whether the change should exist, and to latch onto the first thread while the rest of the diff goes unread. Work in this order:\n\n1. **Frame the change against what was reported.** Before enumerating candidates, establish: whether the change fixes what was reported, in the reporter's situation and on the path they actually hit; whether every claim in the title, description and changeset is true; whether the same problem exists elsewhere that the change should also cover (sibling call sites, other backends, data already stored in the old shape); and what the tests prove and what they could not catch, including backends and configurations they do not run on.\n2. **Judge the approach.** Read the PR description, the linked issue or accepted design, and the diff. Before grading code, ask whether it is the right code at all: is it solving a real problem, the _right_ problem (did the author misread the issue)? Is the approach sound, does it fit EmDash's architecture and conventions, is there a simpler/more idiomatic way, is it good taste? Most PRs are from external contributors who may have the wrong end of the stick. **A flawless implementation of the wrong thing is still the wrong thing**, and matters more than any line-level bug. For a feature, the PR context lists the proposals accepted by its linked design PR under \"Accepted design\". Read them before reviewing the implementation. Report missing behavior, divergence, unplanned scope, and missing verification against the accepted design. Carry any approach-level concern through to the summary and let it shape the verdict.\n3. **Enumerate candidates.** Read each bounded authored file in full and inspect targeted sections of large authored files. Then write a numbered list of _candidate_ problems, as many as you can generate, specific to what this code does. Use the categories below to jog each kind of bug, tailored to the code. Cover **every changed hunk**. Aim wide — an unconfirmed candidate costs nothing yet.\n4. **Verify each candidate against the code.** Go down the list. For each, read the relevant code in full and trace call-sites/siblings (`state.searchFiles`) only as far as needed to confirm or kill it. **Self-correct**: drop candidates that turn out fine; do not report hypotheses you couldn't confirm. When code _looks_ correct, treat that as a claim to disprove against the runtime semantics in AGENTS.md, not a conclusion.\n5. **Then go deep on systemic issues.** After the per-hunk sweep, trace cross-cutting concerns a line-by-line pass misses: does the change behave differently on the production runtime than in tests; does a cache/invalidation cover every write path; does a new query against a content table miss a `locale` filter; is a sibling implementation now inconsistent.\n6. **Prioritize.** Cull survivors into findings with calibrated severity and choose a verdict. Coverage is the goal; don't conclude until every changed hunk has been considered.\n\n## Candidate categories (a prompt to enumerate from, not a fixed checklist)\n\n- **Logic**: off-by-one, inverted/missing conditions (a stray `!`), wrong operator, fallthrough, coercion.\n- **Edge cases**: empty / null / undefined / 0 / NaN, single-element, max/min/negative, unicode/RTL, called twice vs zero times.\n- **Error handling**: swallowed errors, a missing `await`, over-broad catch, missing cleanup, internals leaked to clients.\n- **State / concurrency / caching**: shared mutable state, stale closures, TOCTOU, cache key stability and lifetime, invalidation on _every_ write path.\n- **Security**: unsanitized input reaching SQL/HTML/shell/paths, missing/wrong authorization, secret/info leakage, open redirect, path traversal.\n- **Data integrity**: validation at boundaries, partial writes without transactions, cascading deletes that orphan rows, schema/code mismatch, a missing `locale` filter on a content-table query.\n- **Resources**: leaked handles/timers/listeners, unbounded growth, missing timeouts, retry without backoff.\n- **Tests**: a fix without a reproducing test is not fixed; a mock that returns the thing the test claims to verify is false confidence. A test that cannot fail on a real regression -- a config literal asserted back at itself, an implementation detail asserted straight back (adding a CSS class and testing the class is present), a mocked unit under test, a test exercising only third-party code -- is worse than no test: it inflates coverage and pins intentional changes. Flag it for deletion, or for rewriting against observable behavior.\n- **Accepted-design conformance**: for a feature, compare every implemented behavior, interface, compatibility constraint, edge case, and verification requirement with the linked proposal. Report an implementation that silently changes the accepted design, omits required behavior, adds unplanned scope, or lacks a required test. If implementation exposes a design flaw, require an explicit proposal amendment instead of accepting an implicit change in code review.\n- **Logged-out query counts**: any new query on a route an anonymous visitor can hit -- including cold-start or first-request-only queries -- needs a _really_ good reason. Check whether it could piggyback on an existing query, batch, defer with `after()`, or use `requestCached`. A query-count snapshot diff that increases a logged-out route is a finding, not bookkeeping.\n- **Comments**: comments that restate what the code does, justify the decision (\"intentionally\", \"for safety\"), address the reviewer, narrate rejected alternatives, or reference issues/PRs/review threads. Comments are evergreen and for future readers of the code; almost all of these should be deleted (or the code made clearer instead). Numbered comments are always wrong. Tool directives are exempt: `eslint-disable`, `oxlint-disable`, `@ts-expect-error`, `@ts-ignore`, `prettier-ignore`, `v8 ignore`, and similar are machine instructions, and the short reason attached to one is required context, not justification -- never flag them under this category.\n- **AGENTS.md conventions** (see above).\n\n## Severity and verdict\n\n- `needs_fixing`: logic bugs, regressions, security issues, broken contracts, a change that defeats its own stated goal, missing required tests, AGENTS.md violations.\n- `suggestion`: style, minor refactor, nice-to-have, low-confidence observations, misleading comments/docstrings.\n\nCalibrate. Don't tag things `needs_fixing` to look thorough, and don't downgrade a real bug to a nit. **Be willing to find nothing**: if the PR is genuinely clean, return an empty `findings` array and say so.\n\n- `verdict: approve` — you'd sign off. Usually no findings or only `suggestion`s.\n- `verdict: comment` — **the default whenever you found things, including several `needs_fixing` ones.** Your findings are advice; the maintainer decides what blocks merge. The number/severity of findings does not by itself escalate the verdict.\n- `verdict: request_changes` — **rare.** Reserve for when merging _as-is_ would cause concrete harm the maintainer must not miss: a security vulnerability, data-loss bug, a build/test break this PR introduces, a backwards-incompatibility violating the post-pre-release stability rule, or a fundamentally wrong/unwanted approach. If torn between `comment` and `request_changes`, it's `comment`.\n\n## Output\n\nReturn the result schema:\n\n- `verdict` as above.\n- `summary`: the markdown review body. **Open with an explicit judgment of the approach** — is this the right change, solving the right problem, in a way that fits EmDash? If the approach is wrong/questionable, lead with that. Then state what you checked and the headline conclusion; if the code is clean, say so.\n- `findings`: one entry per line-anchored comment, each with `path` (repo-relative, e.g. `packages/core/src/loader.ts` — **not** prefixed with `/repo/`), `line` (plus `startLine` for a range), `side` (`RIGHT` for additions/changes, `LEFT` for deletions), `severity`, and a markdown `body` that states what the code does and why it's wrong, cites the line, and uses a ` ```suggestion ` block for a clean inline fix.\n\nCite line numbers, be specific, and keep any hostility pointed at the code, not the author.\n","skills/wordpress-theme-to-emdash/SKILL.md":"---\nname: wordpress-theme-to-emdash\ndescription: Port a WordPress theme's design and template behavior to an EmDash-powered Astro site. Use for theme migrations, design matching, PHP-template conversion, and CMS wiring. Do not use for WordPress plugin behavior that does not affect the site theme.\n---\n\n# Port a WordPress theme to EmDash\n\nRecreate the theme's relevant layouts and interactions as an Astro site backed by EmDash. Preserve the user's requested visual fidelity and feature scope; do not assume every WordPress template or demo feature belongs in the port.\n\nLoad [building-emdash-site](../building-emdash-site/SKILL.md) for current EmDash schema, query, rendering, caching, and seed patterns. When a live reference site is available, use the `agent-browser` CLI for rendered comparison; run `agent-browser skills get core --full` for its command reference.\n\n## Choose the evidence\n\nUse the best available sources in this order:\n\n1. theme source and `theme.json`, stylesheets, templates, and `functions.php`;\n2. a live demo at representative desktop and mobile viewports;\n3. screenshots or design files supplied by the user;\n4. explicit design decisions where the source is ambiguous.\n\nDo not infer that demo content or images share the theme code's license. Reuse an asset only when its license or the user's rights permit it; otherwise use a clearly licensed substitute with similar dimensions and visual weight.\n\n## Plan the port\n\nInventory only the page types, components, responsive states, and interactions needed for the requested site. Map WordPress responsibilities before implementing:\n\n- PHP templates become Astro routes, layouts, and components.\n- Custom post types, metadata, and taxonomies become EmDash collections, fields, and taxonomies.\n- Theme Customizer values become site settings or explicit project configuration.\n- Menu locations become named EmDash menus queried by templates.\n- Sidebars and widgets become widget areas or ordinary Astro components.\n- Shortcodes and plugin-owned behavior may require a separate plugin migration.\n\nRead [WordPress theme concept mapping](references/concept-mapping.md) when translating template hierarchy, `functions.php` registrations, template tags, hooks, widgets, or reusable blocks.\n\nDynamic EmDash content routes must remain server-rendered. Use the EmDash `Image` component for EmDash media fields; ordinary theme assets can use Astro's asset handling.\n\n## Work in scoped phases\n\nRead a phase file only when that phase applies:\n\n- [Discovery and reference capture](phases/1-discovery.md)\n- [Design extraction](phases/2-design.md)\n- [Template conversion](phases/3-templates.md)\n- [Dynamic EmDash features](phases/4-dynamic.md)\n- [Schema and seed data](phases/5-seed.md)\n- [Rendered verification](phases/6-verify.md)\n\nWhen creating a standalone theme project, start from the repository's current site template or the user's existing project. Confirm the destination before writing and do not replace an existing site structure without explicit direction.\n\n## Verify the result\n\nBuild the site and exercise each in-scope page and interaction. Compare matched viewports against the reference, including responsive navigation, content with long and missing values, RTL when admin or theme behavior depends on direction, and relevant empty or error states.\n\nCapture before-and-after or reference-and-result screenshots when visual fidelity is part of acceptance. Report deliberate deviations, missing source evidence, unsupported WordPress behavior, and asset substitutions.\n\n## Licensing and attribution\n\nInspect the source theme's actual license and notices. Preserve required copyright and attribution, include the applicable license text for reused code, and identify third-party assets separately. Do not label a port GPL-2.0-or-later merely because the source is a WordPress theme.\n","skills/agent-browser/SKILL.md":"---\nname: agent-browser\ndescription: Use the agent-browser CLI to exercise web interfaces, inspect rendered accessibility state, verify interactions, and capture screenshots. Use for browser-based UI testing and evidence collection. Do not use as a substitute for deterministic Playwright coverage when an automated regression test is the requested deliverable.\n---\n\n# Test interfaces with agent-browser\n\nUse the installed `agent-browser` CLI for rendered, user-facing verification. Load its version-matched instructions before relying on command syntax:\n\n```bash\nagent-browser skills get core --full\n```\n\nUse a specialized bundled guide when the target requires one. `agent-browser skills list` shows the available guides.\n\n## Verification loop\n\n1. Start or identify the target application and record the exact URL and viewport.\n2. Open the page in a named session.\n3. Take an accessibility snapshot and identify controls by role, label, or snapshot reference.\n4. Perform the user action.\n5. Wait for the resulting state, then take a fresh snapshot. References can become stale after navigation or a substantial DOM update.\n6. Verify the observable result, console errors, and relevant network behavior.\n7. Capture screenshots when visual evidence helps establish the result.\n\nFor EmDash admin testing, authenticate through the development bypass rather than attempting to automate passkeys:\n\n```bash\nagent-browser open 'http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin'\n```\n\nUse `auth/dev-bypass` instead when setup is already complete.\n\n## Interaction guidance\n\n- Prefer role and label locators when they express the user-facing control clearly. Use snapshot references for efficient exploration.\n- Re-snapshot after a dialog opens, a route changes, or content is replaced.\n- Wait for a selector or visible state instead of adding a fixed delay unless timing itself is under test.\n- Use a named session for flows that depend on cookies or storage. Close sessions that are no longer needed.\n- Check `agent-browser console` and `agent-browser errors` when the UI behaves unexpectedly.\n- Use `agent-browser network requests` when the result depends on a request or response boundary.\n\n## Evidence\n\nRecord the path tested, inputs, viewport, expected result, actual result, and any console or request failures. For UI changes, capture before-and-after screenshots of every affected screen.\n\nSave screenshots inside the task workspace with descriptive filenames. Inspect the saved image before reporting success; a completed screenshot command does not prove that the intended state was visible.\n\nBrowser exploration does not replace a regression test when stable automated coverage can protect the behavior. Convert a confirmed defect into the narrowest meaningful automated test when the task includes implementation.\n","infra/emdash-bot/.flue/skills/investigate/SKILL.md":"# investigate\n\nPath: `infra/emdash-bot/.flue/skills/investigate/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/investigate/SKILL.md)","infra/emdash-bot/.flue/skills/implement/SKILL.md":"# implement\n\nPath: `infra/emdash-bot/.flue/skills/implement/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/implement/SKILL.md)","infra/emdash-bot/.flue/skills/fix/SKILL.md":"# fix\n\nPath: `infra/emdash-bot/.flue/skills/fix/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/fix/SKILL.md)","infra/emdash-bot/.flue/skills/diagnose/SKILL.md":"# diagnose\n\nPath: `infra/emdash-bot/.flue/skills/diagnose/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/diagnose/SKILL.md)","templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","templates/portfolio/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/portfolio/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/SKILL.md)","templates/portfolio/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/SKILL.md)","templates/portfolio/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/SKILL.md)","templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","templates/marketing/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/marketing/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/SKILL.md)","templates/marketing/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/marketing/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/SKILL.md)","templates/marketing/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/SKILL.md)","templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","templates/blog/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/blog/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/SKILL.md)","templates/blog/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/blog/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/SKILL.md)","templates/blog/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/blog/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/SKILL.md)","templates/blank/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/blank/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/SKILL.md)","templates/blank/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/blank/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/SKILL.md)","templates/blank/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/blank/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/SKILL.md)","templates/starter/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/starter/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/SKILL.md)","templates/starter/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/starter/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/SKILL.md)","templates/starter/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/starter/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/SKILL.md)","templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","AGENTS.md":"# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/AGENTS.md)",".opencode/agents/auto-implementer.md":"# Subagent: auto-implementer\n\nPath: `.opencode/agents/auto-implementer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-implementer.md)",".opencode/agents/auto-reviewer.md":"# Subagent: auto-reviewer\n\nPath: `.opencode/agents/auto-reviewer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-reviewer.md)","packages/x402/CHANGELOG.md":"# X402 Skill\n\nPath: `packages/x402/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/CHANGELOG.md)","packages/x402/package.json":"# X402 Skill\n\nPath: `packages/x402/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/package.json)","packages/x402/tsconfig.json":"# X402 Skill\n\nPath: `packages/x402/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/tsconfig.json)","packages/workerd/CHANGELOG.md":"# Workerd Skill\n\nPath: `packages/workerd/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/CHANGELOG.md)","packages/workerd/package.json":"# Workerd Skill\n\nPath: `packages/workerd/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/package.json)","packages/workerd/tsconfig.json":"# Workerd Skill\n\nPath: `packages/workerd/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/tsconfig.json)","packages/registry-verification/CHANGELOG.md":"# Registry-verification Skill\n\nPath: `packages/registry-verification/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/CHANGELOG.md)","packages/registry-verification/package.json":"# Registry-verification Skill\n\nPath: `packages/registry-verification/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/package.json)","packages/registry-verification/tsconfig.json":"# Registry-verification Skill\n\nPath: `packages/registry-verification/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/tsconfig.json)","packages/registry-lexicons/CHANGELOG.md":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/CHANGELOG.md)","packages/registry-lexicons/package.json":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/package.json)","packages/registry-lexicons/README.md":"# registry-lexicons Documentation\n\nPath: `packages/registry-lexicons/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/README.md)","packages/registry-lexicons/tsconfig.json":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/tsconfig.json)","packages/registry-client/CHANGELOG.md":"# Registry-client Skill\n\nPath: `packages/registry-client/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/CHANGELOG.md)","packages/registry-client/package.json":"# Registry-client Skill\n\nPath: `packages/registry-client/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/package.json)","packages/registry-client/README.md":"# registry-client Documentation\n\nPath: `packages/registry-client/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/README.md)","packages/registry-client/tsconfig.json":"# Registry-client Skill\n\nPath: `packages/registry-client/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/tsconfig.json)","packages/plugins/README.md":"# plugins Documentation\n\nPath: `packages/plugins/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/README.md)","packages/plugins/tsconfig.base.json":"# Plugins Skill\n\nPath: `packages/plugins/tsconfig.base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/tsconfig.base.json)","packages/plugin-types/CHANGELOG.md":"# Plugin-types Skill\n\nPath: `packages/plugin-types/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/CHANGELOG.md)","packages/plugin-types/package.json":"# Plugin-types Skill\n\nPath: `packages/plugin-types/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/package.json)","packages/plugin-types/tsconfig.json":"# Plugin-types Skill\n\nPath: `packages/plugin-types/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/tsconfig.json)","packages/plugin-cli/CHANGELOG.md":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/CHANGELOG.md)","packages/plugin-cli/package.json":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/package.json)","packages/plugin-cli/README.md":"# plugin-cli Documentation\n\nPath: `packages/plugin-cli/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/README.md)","packages/plugin-cli/tsconfig.json":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tsconfig.json)","packages/marketplace/package.json":"# Marketplace Skill\n\nPath: `packages/marketplace/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/package.json)","packages/marketplace/README.md":"# marketplace Documentation\n\nPath: `packages/marketplace/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/README.md)","packages/marketplace/tsconfig.json":"# Marketplace Skill\n\nPath: `packages/marketplace/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tsconfig.json)","packages/gutenberg-to-portable-text/CHANGELOG.md":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/CHANGELOG.md)","packages/gutenberg-to-portable-text/package.json":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/package.json)","packages/gutenberg-to-portable-text/tsconfig.json":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/tsconfig.json)","packages/create-emdash/CHANGELOG.md":"# Create-emdash Skill\n\nPath: `packages/create-emdash/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/CHANGELOG.md)","packages/create-emdash/package.json":"# Create-emdash Skill\n\nPath: `packages/create-emdash/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/package.json)","packages/create-emdash/tsconfig.json":"# Create-emdash Skill\n\nPath: `packages/create-emdash/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/tsconfig.json)","packages/core/CHANGELOG.md":"# Core Skill\n\nPath: `packages/core/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/CHANGELOG.md)","packages/core/package.json":"# Core Skill\n\nPath: `packages/core/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/package.json)","packages/core/README.md":"# core Documentation\n\nPath: `packages/core/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/README.md)","packages/core/tsconfig.json":"# Core Skill\n\nPath: `packages/core/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tsconfig.json)","packages/contentful-to-portable-text/CHANGELOG.md":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/CHANGELOG.md)","packages/contentful-to-portable-text/package.json":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/package.json)","packages/contentful-to-portable-text/tsconfig.json":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/tsconfig.json)","packages/cloudflare/CHANGELOG.md":"# Cloudflare Skill\n\nPath: `packages/cloudflare/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/CHANGELOG.md)","packages/cloudflare/package.json":"# Cloudflare Skill\n\nPath: `packages/cloudflare/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/package.json)","packages/cloudflare/tsconfig.json":"# Cloudflare Skill\n\nPath: `packages/cloudflare/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/tsconfig.json)","packages/blocks/CHANGELOG.md":"# Blocks Skill\n\nPath: `packages/blocks/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/CHANGELOG.md)","packages/blocks/package.json":"# Blocks Skill\n\nPath: `packages/blocks/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/package.json)","packages/blocks/tsconfig.json":"# Blocks Skill\n\nPath: `packages/blocks/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/tsconfig.json)","packages/auth-atproto/CHANGELOG.md":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/CHANGELOG.md)","packages/auth-atproto/package.json":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/package.json)","packages/auth-atproto/README.md":"# auth-atproto Documentation\n\nPath: `packages/auth-atproto/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/README.md)","packages/auth-atproto/tsconfig.json":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/tsconfig.json)","packages/auth/CHANGELOG.md":"# Auth Skill\n\nPath: `packages/auth/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/CHANGELOG.md)","packages/auth/package.json":"# Auth Skill\n\nPath: `packages/auth/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/package.json)","packages/auth/tsconfig.json":"# Auth Skill\n\nPath: `packages/auth/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/tsconfig.json)","packages/atproto-test-utils/package.json":"# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/package.json)","packages/atproto-test-utils/tsconfig.json":"# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/tsconfig.json)","packages/admin/CHANGELOG.md":"# Admin Skill\n\nPath: `packages/admin/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/CHANGELOG.md)","packages/admin/package.json":"# Admin Skill\n\nPath: `packages/admin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/package.json)","packages/admin/tsconfig.json":"# Admin Skill\n\nPath: `packages/admin/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/tsconfig.json)","skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/emdash-cli/EDITING-FLOW.md)","infra/emdash-bot/evals/CUTOVER.md":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/CUTOVER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/CUTOVER.md)","infra/emdash-bot/evals/dataset.json":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.json)","infra/emdash-bot/evals/dataset.md":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.md)","infra/emdash-bot/evals/README.md":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/README.md)","packages/plugins/mcp-smoke/CHANGELOG.md":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/CHANGELOG.md)","packages/plugins/mcp-smoke/package.json":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/package.json)","packages/plugins/mcp-smoke/tsconfig.json":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/tsconfig.json)","packages/plugins/marketplace-test/CHANGELOG.md":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/CHANGELOG.md)","packages/plugins/marketplace-test/emdash-plugin.jsonc":"# marketplace-test Plugin Manifest\n\nPath: `packages/plugins/marketplace-test/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/emdash-plugin.jsonc)","packages/plugins/marketplace-test/package.json":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/package.json)","packages/plugins/marketplace-test/README.md":"# marketplace-test Documentation\n\nPath: `packages/plugins/marketplace-test/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/README.md)","packages/plugins/marketplace-test/tsconfig.json":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/tsconfig.json)","packages/plugins/forms/CHANGELOG.md":"# Forms Skill\n\nPath: `packages/plugins/forms/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/CHANGELOG.md)","packages/plugins/forms/package.json":"# Forms Skill\n\nPath: `packages/plugins/forms/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/package.json)","packages/plugins/forms/tsconfig.json":"# Forms Skill\n\nPath: `packages/plugins/forms/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/tsconfig.json)","packages/plugins/field-kit/CHANGELOG.md":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/CHANGELOG.md)","packages/plugins/field-kit/package.json":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/package.json)","packages/plugins/field-kit/tsconfig.json":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/tsconfig.json)","packages/plugins/embeds/CHANGELOG.md":"# Embeds Skill\n\nPath: `packages/plugins/embeds/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/CHANGELOG.md)","packages/plugins/embeds/package.json":"# Embeds Skill\n\nPath: `packages/plugins/embeds/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/package.json)","packages/plugins/embeds/tsconfig.json":"# Embeds Skill\n\nPath: `packages/plugins/embeds/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/tsconfig.json)","packages/plugins/color/CHANGELOG.md":"# Color Skill\n\nPath: `packages/plugins/color/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/CHANGELOG.md)","packages/plugins/color/package.json":"# Color Skill\n\nPath: `packages/plugins/color/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/package.json)","packages/plugins/color/tsconfig.json":"# Color Skill\n\nPath: `packages/plugins/color/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/tsconfig.json)","packages/plugins/audit-log/CHANGELOG.md":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/CHANGELOG.md)","packages/plugins/audit-log/emdash-plugin.jsonc":"# audit-log Plugin Manifest\n\nPath: `packages/plugins/audit-log/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/emdash-plugin.jsonc)","packages/plugins/audit-log/package.json":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/package.json)","packages/plugins/audit-log/tsconfig.json":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/tsconfig.json)","packages/plugins/atproto/CHANGELOG.md":"# Atproto Skill\n\nPath: `packages/plugins/atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/CHANGELOG.md)","packages/plugins/atproto/emdash-plugin.jsonc":"# atproto Plugin Manifest\n\nPath: `packages/plugins/atproto/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/emdash-plugin.jsonc)","packages/plugins/atproto/package.json":"# Atproto Skill\n\nPath: `packages/plugins/atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/package.json)","packages/plugins/atproto/tsconfig.json":"# Atproto Skill\n\nPath: `packages/plugins/atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/tsconfig.json)","packages/plugins/api-test/CHANGELOG.md":"# Api-test Skill\n\nPath: `packages/plugins/api-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/CHANGELOG.md)","packages/plugins/api-test/package.json":"# Api-test Skill\n\nPath: `packages/plugins/api-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/package.json)","packages/plugins/ai-moderation/CHANGELOG.md":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/CHANGELOG.md)","packages/plugins/ai-moderation/package.json":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/package.json)","packages/plugins/ai-moderation/tsconfig.json":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/tsconfig.json)","packages/plugins/sandboxed-test/CHANGELOG.md":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/CHANGELOG.md)","packages/plugins/sandboxed-test/emdash-plugin.jsonc":"# sandboxed-test Plugin Manifest\n\nPath: `packages/plugins/sandboxed-test/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/emdash-plugin.jsonc)","packages/plugins/sandboxed-test/package.json":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/package.json)","packages/plugins/sandboxed-test/tsconfig.json":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/tsconfig.json)","packages/plugins/webhook-notifier/CHANGELOG.md":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/CHANGELOG.md)","packages/plugins/webhook-notifier/emdash-plugin.jsonc":"# webhook-notifier Plugin Manifest\n\nPath: `packages/plugins/webhook-notifier/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/emdash-plugin.jsonc)","packages/plugins/webhook-notifier/package.json":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/package.json)","packages/plugins/webhook-notifier/tsconfig.json":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/tsconfig.json)","packages/plugin-cli/schemas/emdash-plugin.schema.json":"# Schemas Skill\n\nPath: `packages/plugin-cli/schemas/emdash-plugin.schema.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/schemas/emdash-plugin.schema.json)","packages/marketplace/tests/tsconfig.json":"# Tests Skill\n\nPath: `packages/marketplace/tests/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/tsconfig.json)","packages/blocks/playground/package.json":"# Playground Skill\n\nPath: `packages/blocks/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/package.json)","packages/blocks/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/blocks/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/tsconfig.json)","skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md)","skills/wordpress-theme-to-emdash/scaffold/package.json":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/package.json)","skills/wordpress-theme-to-emdash/scaffold/README.md":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/README.md)","skills/wordpress-theme-to-emdash/scaffold/tsconfig.json":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/tsconfig.json)","skills/wordpress-theme-to-emdash/references/astro-essentials.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/astro-essentials.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/astro-essentials.md)","skills/wordpress-theme-to-emdash/references/concept-mapping.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/concept-mapping.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/concept-mapping.md)","skills/wordpress-theme-to-emdash/references/design-extraction.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/design-extraction.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/design-extraction.md)","skills/wordpress-theme-to-emdash/references/emdash-api.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/emdash-api.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/emdash-api.md)","skills/wordpress-theme-to-emdash/references/template-patterns.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/template-patterns.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/template-patterns.md)","skills/wordpress-theme-to-emdash/phases/1-discovery.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/1-discovery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/1-discovery.md)","skills/wordpress-theme-to-emdash/phases/2-design.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/2-design.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/2-design.md)","skills/wordpress-theme-to-emdash/phases/3-templates.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/3-templates.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/3-templates.md)","skills/wordpress-theme-to-emdash/phases/4-dynamic.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/4-dynamic.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/4-dynamic.md)","skills/wordpress-theme-to-emdash/phases/5-seed.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/5-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/5-seed.md)","skills/wordpress-theme-to-emdash/phases/6-verify.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/6-verify.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/6-verify.md)","skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/admin-ui.md)","skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/api-routes.md)","skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/block-kit.md)","skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/hooks.md)","skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/portable-text-blocks.md)","skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/publishing.md)","skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/storage.md)","skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/configuration.md)","skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/querying-and-rendering.md)","skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/schema-and-seed.md)","skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/site-features.md)","templates/portfolio-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.cursor/mcp.json)","templates/portfolio-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.vscode/mcp.json)","templates/portfolio/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.cursor/mcp.json)","templates/portfolio/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.vscode/mcp.json)","templates/marketing-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.cursor/mcp.json)","templates/marketing-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.vscode/mcp.json)","templates/marketing/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.cursor/mcp.json)","templates/marketing/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.vscode/mcp.json)","templates/blog-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.cursor/mcp.json)","templates/blog-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.vscode/mcp.json)","templates/blog/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.cursor/mcp.json)","templates/blog/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.vscode/mcp.json)","templates/blank/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blank/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.cursor/mcp.json)","templates/blank/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blank/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.vscode/mcp.json)","templates/starter/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.cursor/mcp.json)","templates/starter/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.vscode/mcp.json)","templates/starter-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.cursor/mcp.json)","templates/starter-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.vscode/mcp.json)","demos/cloudflare/plugins/sandbox-test/manifest.json":"# Sandbox-test Skill\n\nPath: `demos/cloudflare/plugins/sandbox-test/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/demos/cloudflare/plugins/sandbox-test/manifest.json)","packages/registry-verification/fixtures/records/profile.json":"# Records Skill\n\nPath: `packages/registry-verification/fixtures/records/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/profile.json)","packages/registry-verification/fixtures/records/release.json":"# Records Skill\n\nPath: `packages/registry-verification/fixtures/records/release.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/release.json)","packages/registry-verification/fixtures/provenance/README.md":"# provenance Documentation\n\nPath: `packages/registry-verification/fixtures/provenance/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/README.md)","packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json":"# Provenance Skill\n\nPath: `packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json)","packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json":"# Trust-roots Skill\n\nPath: `packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json)","packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json":"# Fixtures Skill\n\nPath: `packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json)","packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc":"# minimal-plugin Plugin Manifest\n\nPath: `packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc)","packages/plugin-cli/tests/fixtures/minimal-plugin/package.json":"# Minimal-plugin Skill\n\nPath: `packages/plugin-cli/tests/fixtures/minimal-plugin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/package.json)","packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc":"# bad-plugin Plugin Manifest\n\nPath: `packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc)","packages/plugin-cli/tests/fixtures/bad-plugin/package.json":"# Bad-plugin Skill\n\nPath: `packages/plugin-cli/tests/fixtures/bad-plugin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/package.json)","packages/core/tests/integration/fixture/package.json":"# Fixture Skill\n\nPath: `packages/core/tests/integration/fixture/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/package.json)","packages/core/tests/integration/fixture/tsconfig.json":"# Fixture Skill\n\nPath: `packages/core/tests/integration/fixture/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/tsconfig.json)","templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","packages/marketplace/tests/fixtures/audit/social-engineering/expected.json":"# Social-engineering Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/social-engineering/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/expected.json)","packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json":"# Social-engineering Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json)","packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json":"# Prompt-injection Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json)","packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json":"# Prompt-injection Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json)","packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json":"# Obfuscated-payload Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json)","packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json":"# Obfuscated-payload Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json)","packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json":"# Misleading-screenshot Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json)","packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json":"# Misleading-screenshot Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json)","packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json":"# Hate-imagery Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json)","packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json":"# Hate-imagery Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json)","packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json":"# Dynamic-url-construction Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json)","packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json":"# Dynamic-url-construction Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json)","packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json":"# Data-exfiltration Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json)","packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json":"# Data-exfiltration Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json)","packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json":"# Crypto-miner Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json)","packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json":"# Crypto-miner Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json)","packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json":"# Credential-harvester Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json)","packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json":"# Credential-harvester Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json)","packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json":"# Clean-with-images Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json)","packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json":"# Clean-with-images Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json)","packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json":"# Clean-seo-plugin Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json)","packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json":"# Clean-seo-plugin Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json)","packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json":"# Brand-impersonation Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json)","packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json":"# Brand-impersonation Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json)","packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json":"# Benign-network-usage Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json)","packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json":"# Benign-network-usage Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json)","packages/core/tests/integration/fixture/.emdash/seed.json":"# .emdash Skill\n\nPath: `packages/core/tests/integration/fixture/.emdash/seed.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/.emdash/seed.json)","packages/core/tests/integration/smoke/fixtures/README.md":"# fixtures Documentation\n\nPath: `packages/core/tests/integration/smoke/fixtures/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/smoke/fixtures/README.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md)","templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md)","templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md)","templates/portfolio/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/hooks.md)","templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/portfolio/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/publishing.md)","templates/portfolio/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/storage.md)","templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md)","templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md)","templates/marketing/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/api-routes.md)","templates/marketing/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/block-kit.md)","templates/marketing/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/hooks.md)","templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/marketing/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/publishing.md)","templates/marketing/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/storage.md)","templates/marketing/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/configuration.md)","templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/marketing/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/site-features.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","templates/blog/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/admin-ui.md)","templates/blog/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/api-routes.md)","templates/blog/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/block-kit.md)","templates/blog/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/hooks.md)","templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/blog/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/publishing.md)","templates/blog/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/storage.md)","templates/blog/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/configuration.md)","templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/blog/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/site-features.md)","templates/blank/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/admin-ui.md)","templates/blank/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/api-routes.md)","templates/blank/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/block-kit.md)","templates/blank/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/hooks.md)","templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/blank/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/publishing.md)","templates/blank/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/storage.md)","templates/blank/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/configuration.md)","templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/blank/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/site-features.md)","templates/starter/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/admin-ui.md)","templates/starter/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/api-routes.md)","templates/starter/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/block-kit.md)","templates/starter/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/hooks.md)","templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/starter/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/publishing.md)","templates/starter/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/storage.md)","templates/starter/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/configuration.md)","templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/starter/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/site-features.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json":"# Publisher Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json":"# Publisher Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json)"},"files":{"skills/emdash-cli/SKILL.md":"---\nname: emdash-cli\ndescription: Use the EmDash CLI to inspect and manage an EmDash instance from the command line, including content, schema, media, taxonomies, menus, search, authentication, seeds, migrations, generated types, and whole-site export and import.\n---\n\n# EmDash CLI\n\nThe EmDash CLI (`emdash`, with the short alias `em`) manages EmDash CMS instances. Commands fall into two categories:\n\n- **Local commands** work with project files or a configured database: `init`, `doctor`, `seed`, `migrate`, `export-seed`, and `secrets`.\n- **Remote commands** talk to a running EmDash instance: `types`, `login`, `logout`, `whoami`, `content`, `schema`, `media`, `search`, `taxonomy`, `menu`, and `site`.\n\nRun `npx emdash --help` and `npx emdash <command> --help` for the installed version's exact commands and flags. Resolve the current target with a read command before a destructive or bulk mutation; examples in this skill do not authorize changing an instance the user did not place in scope.\n\n## Authentication\n\nRemote commands resolve auth automatically:\n\n1. `--token` flag\n2. `EMDASH_TOKEN` env var\n3. Stored credentials from `emdash login`\n4. Dev bypass (localhost only — no token needed)\n\nFor a localhost development server with the development bypass enabled, the client can authenticate automatically. For a remote instance, run `emdash login --url https://example.com` or provide a scoped token.\n\n## Custom Headers & Reverse Proxies\n\nSites behind Cloudflare Access or other reverse proxies need auth headers on every request. The CLI supports this via `--header` flags and environment variables.\n\n### Service tokens for automation\n\n```bash\n# Provide sensitive headers through the environment in CI.\nexport EMDASH_HEADERS=\"CF-Access-Client-Id: xxx\nCF-Access-Client-Secret: yyy\"\nnpx emdash whoami --url https://example.com\n```\n\n`emdash login --header` persists custom headers to `~/.config/emdash/auth.json` for later commands. Prefer environment-provided headers in CI so a service secret is not written to the credential file or shell history.\n\n### Cloudflare Access Browser Flow\n\nIf you don't have service tokens and `cloudflared` is installed, the CLI will automatically:\n\n1. Detect when Access blocks the request\n2. Try to get a cached JWT via `cloudflared access token`\n3. Fall back to `cloudflared access login` for browser-based auth\n\nThis works for interactive use but isn't suitable for CI. Use service tokens for automation.\n\n### Generic Reverse Proxy Auth\n\nThe `--header` flag works with any auth scheme:\n\n```bash\n# Basic auth\nnpx emdash login --url https://example.com -H \"Authorization: Basic dXNlcjpwYXNz\"\n\n# Custom auth header\nnpx emdash login --url https://example.com -H \"X-API-Key: secret123\"\n```\n\n## Quick Reference\n\n### Database Setup\n\nFor normal site startup, use the project's package script. The first request runs pending migrations and, before setup is completed, applies the bundled seed's schema and structure once; sample content comes from the setup wizard, `/_emdash/api/setup/dev-bypass`, or `emdash seed`. The Astro integration generates `emdash-env.d.ts` when the server starts.\n\n```bash\n# Start the site with its package script\npnpm dev\n\n# Export an existing database as a seed file\n# (the runtime auto-discovers .emdash/seed.json on first boot;\n# `mkdir -p` because the directory may not exist yet)\nmkdir -p .emdash\nnpx emdash export-seed > .emdash/seed.json\nnpx emdash export-seed --with-content=all > .emdash/seed.json\n```\n\n### Type Generation\n\n```bash\n# Generate types from local dev server\nnpx emdash types\n\n# Generate from remote\nnpx emdash types --url https://example.com\n\n# Custom output path\nnpx emdash types --output src/types/cms.ts\n```\n\nWrites `.emdash/types.ts` (TypeScript interfaces) and `.emdash/schema.json`.\n\n### Authentication\n\n```bash\n# Login (OAuth Device Flow)\nnpx emdash login --url https://example.com\n\n# Check current user\nnpx emdash whoami\n\n# Logout\nnpx emdash logout\n\n# Generate an encryption key for deployment\nnpx emdash secrets generate\n```\n\n### Content CRUD\n\nThe CLI is designed for agents. Create and update auto-publish by default so agents get read-after-write consistency without managing drafts.\n\n```bash\n# List content\nnpx emdash content list posts\nnpx emdash content list posts --status published --limit 10\n\n# Get a single item (Portable Text fields converted to markdown)\n# Returns draft data if a pending draft exists\nnpx emdash content get posts 01ABC123\nnpx emdash content get posts 01ABC123 --raw        # skip PT->markdown conversion\nnpx emdash content get posts 01ABC123 --published   # ignore pending drafts\n\n# Create content (auto-publishes by default)\nnpx emdash content create posts --data '{\"title\": \"Hello\", \"body\": \"# World\"}'\nnpx emdash content create posts --file post.json --slug hello-world\nnpx emdash content create posts --draft --data '...'  # keep as draft\ncat post.json | npx emdash content create posts --stdin\n\n# Update (requires --rev from a prior get, auto-publishes by default)\nnpx emdash content update posts 01ABC123 --rev MToyMDI2... --data '{\"title\": \"Updated\"}'\nnpx emdash content update posts 01ABC123 --rev MToyMDI2... --draft --data '...'  # keep as draft\n\n# Delete (soft delete)\nnpx emdash content delete posts 01ABC123\n\n# Lifecycle\nnpx emdash content publish posts 01ABC123\nnpx emdash content unpublish posts 01ABC123\nnpx emdash content schedule posts 01ABC123 --at 2026-03-01T09:00:00Z\nnpx emdash content restore posts 01ABC123\n```\n\n### Schema Management\n\n```bash\n# List collections\nnpx emdash schema list\n\n# Get collection with fields\nnpx emdash schema get posts\n\n# Create collection\nnpx emdash schema create articles --label Articles --description \"Blog articles\"\n\n# Delete a collection after inspecting it and confirming the target\nnpx emdash schema get articles\nnpx emdash schema delete articles\n\n# Add field\nnpx emdash schema add-field posts body --type portableText --label \"Body Content\"\nnpx emdash schema add-field posts featured --type boolean --required\n\n# Remove field\nnpx emdash schema remove-field posts featured\n```\n\n`schema add-field` supports the field types printed by `npx emdash schema add-field --help`. The full product schema supports additional field types that are not necessarily creatable through this command.\n\n### Media\n\n```bash\n# List media\nnpx emdash media list\nnpx emdash media list --mime image/png\n\n# Upload\nnpx emdash media upload ./photo.jpg --alt \"A sunset\" --caption \"Bristol, 2026\"\n\n# Get / delete\nnpx emdash media get 01MEDIA123\nnpx emdash media delete 01MEDIA123\n```\n\n### Search\n\n```bash\nnpx emdash search \"hello world\"\nnpx emdash search \"hello\" --collection posts --limit 5\n```\n\n### Taxonomies\n\n```bash\nnpx emdash taxonomy list\nnpx emdash taxonomy terms categories\nnpx emdash taxonomy add-term categories --name \"Tech\" --slug tech\nnpx emdash taxonomy add-term categories --name \"Frontend\" --parent 01PARENT123\n```\n\n### Menus\n\n```bash\nnpx emdash menu list\nnpx emdash menu get primary\n```\n\n### Site Export and Import\n\n`emdash site` copies a whole site (content model, content, history, settings, and media, but no users or secrets) into a `.emdash` site package, and imports a package into an empty site. The token needs `admin`, which the `emdash login` token has, or the `transfer:export`, `transfer:analyze`, and `transfer:execute` scopes. An `INSUFFICIENT_SCOPE` error means the token has neither. A package holds every entry and the email addresses of authors and commenters: treat it like a database backup.\n\n```bash\n# Export (re-run the same command to resume after an interruption)\nnpx emdash site export --url https://old.example.com --output site.emdash\nnpx emdash site export --url https://old.example.com --output site.emdash --no-comments\n\n# Import, step 1: upload and analyze; prints the plan and its digest\nnpx emdash site import site.emdash --url https://new.example.com --analyze\nnpx emdash site import site.emdash --url https://new.example.com --analyze \\\n  --map-principal editor@example.com=editor@example.com --use-target-title\n\n# Import, step 2: execute exactly the reviewed plan\nnpx emdash site import site.emdash --url https://new.example.com --plan sha256:<hex> --confirm\n\n# Follow up on an import by operation id\nnpx emdash site import status <operation-id> --url https://new.example.com\nnpx emdash site import resume <operation-id> [site.emdash] --url https://new.example.com\nnpx emdash site import receipt <operation-id> --url https://new.example.com\n\n# Stop an import, or lift the write block a failed or cancelled import leaves\n# (neither deletes what the import wrote; --yes skips the prompt)\nnpx emdash site import cancel <operation-id> --url https://new.example.com\nnpx emdash site import abandon <operation-id> --url https://new.example.com\n```\n\nShow the user the plan (differences from the source site, warnings, blockers, principal mappings) and get their confirmation before running `--confirm`; it writes to the target site and blocks other writes there until it finishes. `site import` exits `2` when the plan has blockers, and `site import status` exits `1` for an import that failed, was cancelled or abandoned, or expired. Only cancel or abandon an import when the user asks: abandoning leaves partial data on the site, which then has to be reset before another import. `--map-principal` takes `<principal id or email>=<user id, email, or none>` and is repeatable; decision flags only work with `--analyze`, and each change produces a new plan digest. The public site is not hidden during an import, so the target should stay private until the command prints a receipt with `receiptDigestValid: true`.\n\n## Drafts and Publishing\n\nThe CLI auto-publishes on `create` and `update` by default. This means:\n\n- **`create`** creates the item and immediately publishes it\n- **`update`** updates the item and publishes if a draft revision was created\n- **`get`** returns draft data if a pending draft exists (e.g. from the admin UI)\n\nUse `--draft` on create/update to skip auto-publishing. Use `--published` on get to ignore pending drafts.\n\nCollections that support revisions store edits as draft revisions. The CLI handles this transparently — agents don't need to know whether a collection uses revisions or not.\n\n## JSON Output\n\nAll remote commands support `--json` for machine-readable output. It's auto-enabled when stdout is piped. `emdash site` always writes progress to stderr, so stdout holds only the JSON result; errors are `{ \"error\": { \"code\", \"message\" } }`.\n\n```bash\n# Pipe to jq\nnpx emdash content list posts --json | jq '.items[].slug'\n\n# Use in scripts\nID=$(npx emdash content create posts --data '{\"title\":\"Hello\"}' --json | jq -r '.id')\n```\n\n## Editing Flow\n\nFor details on how content editing works — Portable Text/markdown conversion, `_rev` tokens, and raw mode — see **[EDITING-FLOW.md](./EDITING-FLOW.md)**.\n","skills/creating-plugins/SKILL.md":"---\nname: creating-plugins\ndescription: Create EmDash CMS plugins with sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions. Use when scaffolding or implementing an EmDash plugin.\n---\n\n# Creating EmDash plugins\n\nBuild against the API that reaches the intended execution mode. Source types and production-boundary tests take precedence over examples in this skill when they disagree.\n\n## Choose a format\n\n| Format    | Runtime source                                      | Admin UI                                                  | Distribution                 |\n| --------- | --------------------------------------------------- | --------------------------------------------------------- | ---------------------------- |\n| Sandboxed | `src/plugin.ts` default-exports a `SandboxedPlugin` | Block Kit pages, widgets, saved-entry panels, and actions | Plugin CLI and registry      |\n| Native    | `definePlugin()` / `createPlugin()`                 | React, Block Kit, and Astro components                    | Trusted site dependency only |\n\nUse a sandboxed plugin unless the feature needs host-process access, React admin code, Astro rendering components, raw page fragments, or custom Portable Text block definitions. Native plugins run with the site's authority and cannot be installed from the registry.\n\n## Scaffold a sandboxed plugin\n\n```sh\npnpm dlx @emdash-cms/plugin-cli init my-plugin\ncd my-plugin\npnpm install\npnpm run test\n```\n\nThe manifest is the identity and trust contract. Runtime hooks and routes live in `src/plugin.ts`; the CLI generates descriptors, manifests, and bundles. Do not create a separate descriptor factory or `sandbox-entry.ts`.\n\n```typescript title=\"src/plugin.ts\"\nimport type { SandboxedPlugin } from \"emdash/plugin\";\n\nconst plugin: SandboxedPlugin = {\n\thooks: {\n\t\t\"content:afterSave\": async (event, ctx) => {\n\t\t\tctx.log.info(\"Content saved\", { id: event.content.id });\n\t\t},\n\t},\n};\n\nexport default plugin;\n```\n\nImport authoring types from `emdash/plugin` with `import type`. The CLI bundles value imports such as `pluginRoute()` and `pluginResponse()` from `emdash/plugin` and `portableTextToMarkdown()` from `emdash/client`. Sandboxed runtime code can use Web APIs but not Node.js built-ins.\n\n## Declare access\n\nDeclare every host API in `emdash-plugin.jsonc`. Adding authority, exposing a route publicly, or adding MCP tools requires renewed administrator approval.\n\n| Capability                       | Grants                                                                     |\n| -------------------------------- | -------------------------------------------------------------------------- |\n| `schema:read`                    | Public collection and field definitions                                    |\n| `admin.editor-draft:read`        | Selected unsaved field values after an explicit editor interaction         |\n| `admin.editor-draft:patch`       | Host-validated unsaved field changes proposed for editor review            |\n| `content:read`                   | Content identity, translations, and published public URLs                  |\n| `content:revisions:read`         | Retained revision data; implies content read                               |\n| `content:write`                  | Create, update, delete, and translation creation; implies read             |\n| `content:publish`                | Revision-fenced publish, unpublish, schedule, and unschedule; implies read |\n| `content:restore`                | Revision-fenced reads and restoration of trashed content                   |\n| `hooks.content-policy:register`  | Pre-publish, pre-schedule, and pre-unpublish policy hooks                  |\n| `taxonomies:read`                | Taxonomy definitions, terms, and entry assignments                         |\n| `taxonomies:write`               | Term creation and assignment deltas; implies read                          |\n| `bylines:read`                   | Public byline profiles and single or batched entry credits                 |\n| `redirects:read`                 | Versioned redirect inspection                                              |\n| `redirects:write`                | Versioned redirect creation, update, and deletion; implies read            |\n| `comments:read`                  | Stored non-trashed comments and their personal data                        |\n| `comments:moderate`              | Expected-status moderation; implies read                                   |\n| `media:read`                     | Ready-media metadata and authenticated asset URLs                          |\n| `media:bytes:read`               | Bounded media bytes and content hashes                                     |\n| `media:metadata:write`           | Alt text, caption, and focal-point updates                                 |\n| `media:write`                    | Upload and delete; implies media read                                      |\n| `network:request`                | `ctx.http.fetch()` restricted to `allowedHosts`                            |\n| `network:request:unrestricted`   | `ctx.http.fetch()` without a host list                                     |\n| `users:read`                     | User directory lookup; also required by comment hooks                      |\n| `email:send`                     | Email delivery when a transport is configured                              |\n| `hooks.email-transport:register` | Exclusive `email:deliver` hook                                             |\n| `hooks.email-events:register`    | Email before/after hooks                                                   |\n| `hooks.page-fragments:register`  | Trusted-only page fragments; excluded from sandbox registration            |\n\nSettings, KV, declared storage, logging, and cron scheduling are plugin-scoped and need no capability. Use `ctx.settings` for user configuration, `ctx.kv` for internal key-value state, and declared `ctx.storage.<collection>` for queryable records.\n\nRead the focused reference for the API being used:\n\n- [Content, schema, translations, and publication](./references/content.md)\n- [Taxonomies and redirects](./references/taxonomies-and-redirects.md)\n- [Comments](./references/comments.md)\n- [Media](./references/media.md)\n- [Storage, KV, and encrypted settings](./references/storage.md)\n\n## Routes, HTTP, and MCP\n\nRoutes are private by default and require authentication, their declared RBAC permission, token scope or CSRF as appropriate. Public routes are internet-facing and require explicit install consent.\n\nUndeclared routes keep the legacy JSON/query envelope. Declare methods and body modes for host-enforced parsing. Use `pluginResponse()` only on a route that declares a raw response. Outbound `ctx.http.fetch()` responses and declared route bodies are buffered and bounded.\n\nMCP tools reference private JSON routes with explicit permissions and Zod input schemas. Mark difficult-to-reverse operations `destructive: true`. Read [API routes and MCP tools](./references/api-routes.md).\n\n## Hooks\n\nSandboxed hooks enter the same priority, dependency, timeout, error-policy, enablement, exclusive-provider, and capability pipeline as trusted hooks. Publication policy hooks identify action origin and actor without granting publication authority. Comment moderation invoked through `ctx.comments` reports plugin origin and runs the normal after-hook once. Read [Hooks](./references/hooks.md).\n\n## Declarative admin UI\n\nSandboxed pages and widgets return validated Block Kit. Structured links use host-resolved targets; `routeCtx.ui` carries host-attested locale, direction, and surface. External images require matching network authority.\n\nSaved-entry panels and actions point to private routes. Ordinary panel load receives only host-reloaded saved identity and version. Add `admin.editor-draft:read` or `admin.editor-draft:patch` plus extension-level collection and field selectors when an explicit interaction must receive selected unsaved fields or propose an atomic whole-field patch. Patch does not imply read. The host previews accepted patches, marks the form dirty, and never saves them automatically. Read saved content through capability-gated `ctx.content`.\n\nDeclarative field widgets currently compose supported Block Kit elements into a JSON value. Custom Portable Text blocks and Astro render components remain native-only. Read [Admin UI](./references/admin-ui.md), [Block Kit](./references/block-kit.md), and [Portable Text blocks](./references/portable-text-blocks.md).\n\n## Runner parity\n\nCloudflare Worker Loader and Node/workerd execute the same bundle behind a plugin-scoped bridge. Both return buffered WHATWG responses from `ctx.http.fetch()` with binary bytes preserved and decoded request/response bodies limited to 8 MiB. Write against exported types, not extra methods found in one wrapper.\n\nRead [Sandbox boundaries](./references/sandbox-boundaries.md) before designing around an API not listed here.\n\n## Test the production boundary\n\nUse `createPluginTestHost()` for fast hook, route, manifest, capability, KV, settings, and storage transport tests. Use `createPluginRuntimeTestHost()` when the test must exercise real content actions, plugin activation, media, comments, redirects, scheduling, restart, authorization, CSRF, caching, Block Kit validation, or saved-entry extensions.\n\nRuntime fixtures establish state without firing hooks. Runtime actions call production boundaries; inspectors read observable state. Queue outbound HTTP responses with `host.http.respond()` and inspect requests with `host.http.requests()`. Dispose every host after use. Add Node/workerd parity only for runner-sensitive behavior.\n\n## References\n\n- [Content, schema, translations, and publication](./references/content.md)\n- [Taxonomies and redirects](./references/taxonomies-and-redirects.md)\n- [Comments](./references/comments.md)\n- [Media](./references/media.md)\n- [Hooks](./references/hooks.md)\n- [Storage, KV, and encrypted settings](./references/storage.md)\n- [Admin UI and field widgets](./references/admin-ui.md)\n- [API routes and MCP tools](./references/api-routes.md)\n- [Block Kit](./references/block-kit.md)\n- [Portable Text blocks](./references/portable-text-blocks.md)\n- [Sandbox boundaries](./references/sandbox-boundaries.md)\n- [Publishing](./references/publishing.md)\n","skills/adversarial-reviewer/SKILL.md":"---\nname: adversarial-reviewer\ndescription: Stress-test a code change for concrete correctness defects, unsafe assumptions, and failure modes. Use when the user explicitly asks for an adversarial review, a deep bug hunt, or to tear a change apart, or to check your own change before submitting it. Do not use for ordinary review, style feedback, or general improvement suggestions.\n---\n\n# Adversarial code review\n\nLook for defects that survive an ordinary review. Treat the implementation's assumptions as claims to verify, while keeping every finding tied to evidence.\n\n## Establish the review boundary\n\n1. Identify the exact diff, branch, pull request head, or files under review.\n2. Read the surrounding code needed to understand data flow and invariants.\n3. Check repository instructions and the tests that define expected behavior.\n4. Compare the change with its stated purpose. Trace the scenario and configuration from the issue, discussion, or accepted design it addresses through the real code, and treat each claim in the description and changeset as something to verify.\n5. Separate defects introduced by the reviewed change from unrelated observations. Report an out-of-scope issue only when it materially affects the change's safety.\n\nDo not modify code, post a review, or expand the review target unless the user asks.\n\n## Hunt for failures\n\nChoose the checks that fit the change instead of mechanically applying every category.\n\n- **Logic and boundaries:** empty and single-item inputs, pagination edges, invalid state transitions, locale handling, Unicode, maximum values, and repeat invocation.\n- **Errors and cleanup:** swallowed failures, partial cleanup, misleading status codes, exposed internals, missing timeouts, and unbounded retries.\n- **State and concurrency:** stale reads, lost updates, time-of-check/time-of-use races, duplicate delivery, non-idempotent retries, leaked listeners, and shared mutable state.\n- **Authorization and trust:** missing permission checks, confused caller identity, CSRF, unsafe redirects, injection, path traversal, secret exposure, and trust transferred across a boundary without validation.\n- **Data integrity:** partial writes, migration restart behavior, dialect differences, uniqueness assumptions, destructive cascades, and old/new version compatibility.\n- **Resources and performance:** unbounded collections, repeated round trips, retained resources, logged-out hot-path regressions, and work that scales with attacker-controlled input.\n- **Scope:** the same defect left in place elsewhere, such as sibling call sites, other storage backends or render paths, and data already stored in the old shape.\n- **Interfaces:** exported types, generated schemas, generated types, and documentation that no longer match the new behavior.\n\nTrace concrete inputs and event sequences through the real implementation. Run focused tests or a minimal reproduction when that is the fastest way to establish a claim. Do not infer a bug solely from an unfamiliar pattern.\n\n## Findings standard\n\nA finding needs all of the following:\n\n- the violated behavior or invariant;\n- the exact code location;\n- a concrete trigger or execution path;\n- the observable consequence;\n- a proportionate fix direction.\n\nUse calibrated language. State confirmed defects directly. Label an unresolved concern as uncertain and explain what evidence is missing. Do not turn naming, formatting, optional hardening, or personal design preference into a correctness finding.\n\nPrioritize by impact and likelihood:\n\n- **Critical:** exploitable security issue, unrecoverable data loss, or broad production outage.\n- **High:** likely user-visible wrong behavior, authorization bypass, or recoverable data corruption.\n- **Medium:** real failure under a plausible edge case, race, or sustained load.\n- **Low:** limited correctness issue with small impact. Omit purely cosmetic observations.\n\n## Report\n\nLead with findings, ordered by severity. For each finding, include a short title, file and line, the failing scenario, impact, and fix direction. Keep line ranges tight.\n\nIf no actionable defects are supported by the evidence, say so. Mention meaningful residual risks or untested boundaries, but do not manufacture findings to make the review appear thorough.\n","skills/building-emdash-site/SKILL.md":"---\nname: building-emdash-site\ndescription: Build the site-facing parts of an EmDash CMS project on Astro, including schema and seeds, content queries, Portable Text rendering, menus, taxonomies, widgets, and deployment configuration. Use for EmDash site and theme work; use creating-plugins instead when the task is plugin authoring alone.\n---\n\n# Building an EmDash Site\n\nEmDash is a CMS built on Astro. It stores schema in the database (not in code), serves content via live content collections, and provides a full admin UI at `/_emdash/admin`. Sites are standard Astro projects with the `emdash` integration.\n\n## Common Gotchas\n\nThese are the things that silently break sites. Know them before you start.\n\n1. **Image fields are objects, not strings.** `post.data.featured_image` is `{ id, src, alt }`. Writing `<img src={post.data.featured_image} />` renders `[object Object]`. Use `<Image image={post.data.featured_image} />` from `\"emdash/ui\"`.\n\n2. **`entry.id` vs `entry.data.id` are different things.** `entry.id` is the slug, prefixed with the locale (`en/my-post`) for locales whose URLs are prefixed (use in URLs; `entry.data.slug` is the bare slug). `entry.data.id` is the database ULID (use for `getEntryTerms`, `Comments`, and other API calls that need the real ID). Mixing them up causes silent empty results.\n\n3. **Taxonomy names must match the seed exactly.** If your seed defines `\"name\": \"category\"`, you must query `getTerm(\"category\", slug)` -- not `\"categories\"`. Wrong name = empty results, no error.\n\n4. **Register cache hints when Astro's cache is enabled.** Content queries return a `cacheHint`; pass it to `Astro.cache.set(cacheHint)`. Use `getSiteSettingsWithCacheHint()`, `getMenuWithCacheHint()`, `getTaxonomyTermsWithCacheHint()`, and `getWidgetAreaWithCacheHint()` when a cached route renders those values.\n\n5. **No `getStaticPaths` for CMS content.** EmDash content is dynamic. Pages must be server-rendered (`output: \"server\"` in `astro.config.mjs`).\n\n## File Structure\n\nEvery EmDash site has these key files:\n\n```\nmy-site/\n├── astro.config.mjs          # Astro config with emdash() integration\n├── src/\n│   ├── live.config.ts         # EmDash loader registration (boilerplate)\n│   ├── pages/                 # Astro pages (all server-rendered)\n│   ├── layouts/               # Layout components\n│   └── components/            # Reusable components\n├── seed/\n│   └── seed.json              # Schema + demo content\n├── emdash-env.d.ts          # Generated types (from `emdash types`)\n└── package.json\n```\n\n## Workflow\n\n### 1. Configure the project\n\nRead **[references/configuration.md](references/configuration.md)** for `astro.config.mjs`, `live.config.ts`, deployment targets (Node vs Cloudflare), and type generation.\n\n### 2. Design the schema\n\nRead **[references/schema-and-seed.md](references/schema-and-seed.md)** for collection definitions, field types, taxonomies, menus, widget areas, sections, bylines, and the complete seed file format.\n\n### 3. Build the pages\n\nRead **[references/querying-and-rendering.md](references/querying-and-rendering.md)** for content queries, Portable Text rendering, the Image component, visual editing attributes, caching, and common page patterns (list, detail, taxonomy archive, RSS, search, 404).\n\n### 4. Wire up site features\n\nRead **[references/site-features.md](references/site-features.md)** for site settings, navigation menus, taxonomies, widget areas, search, SEO meta, comments, and page contributions.\n\n### 5. Create the seed file\n\nWrite `seed/seed.json` with collections, fields, taxonomies, menus, widgets, and sample content.\n\n### 6. Run and verify\n\n```bash\npnpm dev                # Start the Astro dev server\n```\n\nThe runtime runs pending migrations on the first request and, before setup is completed, applies the seed's schema and structure once. Sample content needs an explicit step; see [Applying Seeds](references/schema-and-seed.md#applying-seeds). The Astro integration generates `emdash-env.d.ts` when the server starts. The admin UI is at `http://localhost:4321/_emdash/admin`.\n\n## Quick API Cheat Sheet\n\n```typescript\n// Content (entries have .data.byline and .data.bylines eagerly loaded)\nimport { getEmDashCollection, getEmDashEntry } from \"emdash\";\nconst { entries, nextCursor, cacheHint } = await getEmDashCollection(\"posts\", {\n\tlimit: 10,\n\tcursor,\n\torderBy: { published_at: \"desc\" },\n});\nconst { entry: post, cacheHint: entryCacheHint } = await getEmDashEntry(\"posts\", slug);\n\n// Site features\nimport {\n\tgetSiteSettings,\n\tgetSiteSettingsWithCacheHint,\n\tgetMenu,\n\tgetMenuWithCacheHint,\n\tgetTaxonomyTerms,\n\tgetTaxonomyTermsWithCacheHint,\n\tgetTerm,\n\tgetEntryTerms,\n\tgetEntriesByTerm,\n\tgetWidgetArea,\n\tgetWidgetAreaWithCacheHint,\n\tsearch,\n\tgetSection,\n\tgetSeoMeta,\n} from \"emdash\";\n\n// Bylines (standalone queries -- usually not needed since entries have bylines attached)\nimport { getByline, getBylineBySlug } from \"emdash\";\n\n// UI components\nimport {\n\tPortableText,\n\tBlocks,\n\tdefineBlockComponents,\n\tImage,\n\tWidgetArea,\n\tEmDashHead,\n\tEmDashBodyStart,\n\tEmDashBodyEnd,\n} from \"emdash/ui\";\nimport { Comments, CommentForm } from \"emdash/ui/comments\";\nimport LiveSearch from \"emdash/ui/search\";\n\n// Page context (for plugin contributions)\nimport { createPublicPageContext } from \"emdash/page\";\n```\n\n## Plugins\n\nEmDash supports plugins for extending the CMS with hooks, storage, settings, admin UI, API routes, and custom Portable Text block types. Consider a plugin when you need to:\n\n- React to content lifecycle events (e.g., send a notification on publish, sync to an external service)\n- Add custom admin pages or dashboard widgets\n- Add reusable behavior or custom Portable Text types (e.g., embedded maps or code playgrounds)\n- Provide a reusable service (e.g., analytics, forms, comments via a third-party provider)\n\nPlugins are registered in `astro.config.mjs`:\n\n```javascript\nemdash({\n\tdatabase: sqlite({ url: \"file:./data.db\" }),\n\tstorage: local({ directory: \"./uploads\", baseUrl: \"/_emdash/api/media/file\" }),\n\tplugins: [myPlugin()],\n}),\n```\n\n**To build a plugin, load the `creating-plugins` skill** (in `.agents/skills/creating-plugins/`). It covers plugin anatomy, hooks, storage, admin UI, API routes, Portable Text blocks, capabilities, and the full `definePlugin()` API.\n\n## Reference Documents\n\n| File                                                                         | Contents                                                            |\n| ---------------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| [references/configuration.md](references/configuration.md)                   | Project setup, astro.config, live.config, deployment, types         |\n| [references/schema-and-seed.md](references/schema-and-seed.md)               | Collections, fields, taxonomies, menus, widgets, seed format        |\n| [references/querying-and-rendering.md](references/querying-and-rendering.md) | Content APIs, PortableText, Image, caching, page patterns           |\n| [references/site-features.md](references/site-features.md)                   | Settings, menus, widgets, search, SEO, comments, page contributions |\n","skills/wordpress-plugin-to-emdash/SKILL.md":"---\nname: wordpress-plugin-to-emdash\ndescription: Analyze and port WordPress plugin behavior, custom post types, shortcodes, admin workflows, and stored data to current EmDash extension points. Use for WordPress-plugin migrations or when deciding which behavior belongs in an EmDash plugin, site schema, seed, or Astro code. Do not use for visual theme ports without plugin functionality.\n---\n\n# Port a WordPress plugin to EmDash\n\nPreserve the plugin's user-visible behavior and data model without translating PHP line by line. WordPress and EmDash divide responsibilities differently, so first decide whether each feature belongs in site schema, Astro code, a sandboxed plugin, or a trusted native plugin.\n\nLoad [creating-plugins](../creating-plugins/SKILL.md) before implementing plugin code. Load [building-emdash-site](../building-emdash-site/SKILL.md) when the port changes collections, seeds, queries, or frontend templates. Those skills define the current APIs; this skill covers migration decisions.\n\n## Understand the source\n\nInspect the plugin source, installation behavior, database changes, hooks, REST endpoints, scheduled work, admin screens, shortcodes or blocks, frontend output, permissions, and external services. Identify behavior that users rely on separately from WordPress-specific implementation.\n\nRecord:\n\n- required content and configuration data;\n- actions that mutate or publish data;\n- authorization and trust boundaries;\n- background or retry behavior;\n- frontend and administrator interactions;\n- import, migration, and rollback needs;\n- license obligations for copied assets or code.\n\nIf the source, expected behavior, or target EmDash environment is missing, report the gap instead of inventing an equivalent.\n\n## Assign each responsibility\n\n| WordPress responsibility                        | EmDash destination                                                                                           |\n| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| Custom post type, taxonomy, or metadata         | Collection, taxonomy, and fields created through the site schema or seed                                     |\n| Site-wide presentation setting                  | Site setting read by Astro templates                                                                         |\n| Plugin-owned user settings                      | `ctx.settings`; declare credentials as encrypted `secret` fields                                             |\n| Plugin-owned cursors, caches, or internal state | Plugin-scoped `ctx.kv`                                                                                       |\n| Plugin-owned queryable records                  | Declared `ctx.storage.<collection>` storage                                                                  |\n| Content discovery, translation, or publication  | Capability-gated `ctx.content` and `ctx.schema`; policy hooks and actions have separate authority            |\n| Runtime taxonomy or redirect management         | `ctx.taxonomies` or `ctx.redirects` with narrow read/write capability                                        |\n| Comment administration                          | `ctx.comments`; reads expose personal data and moderation uses expected status                               |\n| WordPress REST endpoint                         | Declared plugin route with explicit methods, inputs, headers, and response mode                              |\n| Scheduled event                                 | `cron` hook and `ctx.cron` scheduling                                                                        |\n| Admin page or form                              | Block Kit for sandboxed plugins; React only for a trusted native plugin                                      |\n| Post editor metabox or saved-entry action       | `admin.editorPanels` or `admin.editorActions` on private routes                                              |\n| User or author lookup                           | `ctx.users` with `users:read`                                                                                |\n| Outbound HTTP request                           | `ctx.http.fetch()` with `network:request` and an `allowedHosts` entry                                        |\n| Media operation                                 | Separate metadata, byte-read, metadata-write, and upload/delete authorities                                  |\n| `WP_Query` or template tag                      | EmDash content API in Astro site code                                                                        |\n| Shortcode or editor block                       | Existing Portable Text content where possible; a custom Portable Text block requires a trusted native plugin |\n| Raw head markup or scripts                      | Trusted native `page:fragments`; registry-installed plugins can contribute validated `page:metadata` only    |\n\nDo not create collections or taxonomies by reaching into EmDash system tables. Use the public schema, seed, CLI, or admin boundary. Do not use internal REST routes to imitate a sandbox API that does not exist.\n\nKeep authorities separate: reading media metadata does not grant bytes, moderation does not grant deletion, publication policy does not grant publication actions, and content restore does not grant ordinary content reads.\n\n## Choose the plugin format\n\nUse a sandboxed plugin by default. It supports portable hooks, routes, declared storage, media, network access, MCP tools, and Block Kit admin UI through an install-time trust contract.\n\nUse a trusted native plugin only when the feature requires host-process access, React admin code, Astro rendering components, raw page fragments, or custom Portable Text block definitions. State the extra authority and distribution limitation in the migration plan.\n\nSome WordPress plugins do not need an EmDash plugin. A custom post type plus frontend templates may become only schema, seed data, and Astro pages. Do not add a runtime extension when static site structure covers the behavior.\n\n## Plan data movement\n\nDescribe how existing WordPress data maps before writing runtime code:\n\n- map post IDs, slugs, locales, authors, statuses, revisions, and publication dates;\n- preserve relationships between posts, terms, media, and plugin-owned records;\n- distinguish a one-time import from data that must continue syncing;\n- make imports restartable and define how duplicates are detected;\n- keep source identifiers when they are needed for reconciliation or redirects;\n- identify content that cannot be represented without a product decision.\n\nUse seed data for a new site's initial schema and sample content. Use an importer or migration path for an existing site's production data; a seed is not a backup or ongoing synchronization mechanism.\n\n## Verify equivalent behavior\n\nTest through the boundary that users and the runtime exercise:\n\n- schema and imported-data assertions for content-model changes;\n- production-boundary plugin tests for sandbox hooks, routes, storage, and permissions;\n- browser verification for admin and frontend journeys;\n- restart, duplicate-delivery, authorization, and failure cases when the source feature depends on them.\n\nCompare observable behavior, not internal structure. Document intentional differences and any WordPress feature that remains unsupported.\n\n## Deliver the port\n\nProvide:\n\n1. a concise inventory of the WordPress behavior and data;\n2. the responsibility map and sandboxed/native decision;\n3. the data migration or seed plan;\n4. the implementation across plugin and site code;\n5. verification evidence and known gaps;\n6. attribution and license notices for reused code or assets.\n","infra/flue-review/.flue/skills/review/SKILL.md":"---\nname: review\ndescription: Review one pull request for real bugs, regressions, and convention violations. Enumerate candidate issues across the whole diff, verify each against the code, then return structured line-anchored findings and a verdict. Read-only on GitHub; the orchestrator posts the review.\n---\n\n# Review a pull request\n\nYou are reviewing a pull request on **emdash-cms/emdash**. Find real bugs, regressions, and gaps, and return structured findings; the orchestrator posts them as a single review.\n\nReview **statically**. Do not run the test suite, linter, builds, or install anything (you have no shell anyway). Read code, trace with searches, and reason. If confirming something would require running tooling, say it's unverified rather than guessing.\n\nThe repo's AGENTS.md is at the repo root in your context. Check the PR against its conventions (Lingui localization, RTL-safe Tailwind, SQL safety, API envelope shape, authorization, locale filtering on content tables, index discipline, changesets, query counts on logged-out routes, comment discipline). A violation is a real finding, not a nit.\n\n## Documentation changes\n\nWhen the diff changes documentation prose, load the `writing-emdash-docs` skill before reviewing those files. This includes public docs, READMEs, contributor guidance, technical specifications, release notes and changesets, and skill instructions. Apply the skill only to documentation; do not spend review context on it for code, tests, generated files, or prose fixtures.\n\nVerify documentation claims against the implementation, types, tests, command output, and adjacent docs. The writing skill does not replace technical investigation.\n\nCalibrate documentation findings by their effect:\n\n- Use `needs_fixing` for a false technical claim, an obsolete or unsafe command, an API example that cannot work, a procedure that cannot reach its stated outcome, a missing prerequisite that causes failure or data loss, or documentation that contradicts shipped behavior.\n- Use `suggestion` for voice, organization, accessibility, verbosity, or anti-slop edits that preserve meaning.\n- Do not flag a watched word or sentence shape by itself. Confirm that it makes the documentation less precise, less useful, or harder to understand.\n\nWhen code changes user-visible behavior, check whether existing documentation becomes false or incomplete. Do not require public documentation for internal changes that do not alter how readers use EmDash.\n\n### Changesets\n\nReview each changeset against [.changeset/README.md](/repo/.changeset/README.md). It is public documentation copied verbatim into a package CHANGELOG, not metadata that passes once its package names, bump type, and frontmatter are valid.\n\nReturn a `needs_fixing` finding when a required entry is technically accurate but does not help readers decide whether the release affects them. This includes vague prose, internal mechanics or commit-message summaries, a recognizable public surface or audience left unnamed, a significant capability buried under incidental details, or a breaking/default change without concrete migration and reversion guidance. Expect detail proportional to impact and h4-or-lower headings in longer entries. Check that useful explanations and examples also appear in the canonical feature or upgrade docs.\n\n## Your only tool: `code`\n\nYou have a single tool, **`code`**, that runs JavaScript in an isolated worker against the checked-out repo through a `state` API (the full `state` type declarations are in the tool description). There is **no shell, no `git`, no `rg`, no `cat`** — everything is `state.*`. Each call is `async () => { ... return result; }` and must `return` its result.\n\nKey operations:\n\n- **Read the diff** (the exact changed lines): `async () => state.readFile({ path: \"<diffPath from your inputs>\" })`\n- **Read a file:** `async () => state.readFile({ path: \"/repo/packages/core/src/loader.ts\" })`\n- **Trace call-sites / search the tree** (your `rg`): `async () => state.searchFiles({ pattern: \"packages/**/*.ts\", query: \"getEmDashCollection\", options: { regex: true, contextBefore: 2, contextAfter: 2, maxMatches: 80 } })`\n- **Search within one file:** `state.searchText({ path, query, options })`\n- **List / explore:** `state.readdir({ path })`, `state.glob({ pattern })`, `state.find({ path, options })`, `state.walkTree({ path, options })`\n\nKeep each `code` result below the tool's output limit. Batch bounded excerpts and searches when that reduces repeated calls. For a large file, return only the slices around changed or relevant lines, or use `state.searchFiles` and `state.searchText` with bounded matches.\n\n`apps/release-action/dist/index.js` is a compiled artifact. Its checkout contents and diff contents are replaced by a marker when it changes. Never try to read or reconstruct the compiled contents. Review the authored source and tests instead.\n\n## Inputs\n\nYour inputs include the PR number, title, description, the base branch, the repo directory (`repoDir`, the working tree checked out at the **PR head** — the version that would merge), and `diffPath` (the unified `base...head` diff). When the PR says it closes issues in this repository, `prContext` includes each one's title and body under \"Linked issue\" (untrusted text, without comments). You cannot fetch anything from GitHub (no network), so an issue that is not in your inputs is unavailable to you.\n\nStart by reading the diff at `diffPath` to see exactly what changed. Read bounded authored files in full. For large authored files, read the changed sections and enough surrounding code to understand them, then search the tree to trace call-sites and siblings. Do not read omitted compiled artifacts.\n\n## First, check whether this is a follow-up\n\n**You post as `emdashbot[bot]`.** If your inputs include prior-review context (earlier `emdashbot[bot]` findings and replies), this is a **re-review**: read your prior findings and the author's replies, concentrate on what changed, and **do not repost findings already resolved or reasonably addressed/pushed back on**. In your summary, say what's fixed versus still open, and weigh the author's responses. If your inputs also include a \"Follow-up review\" section, this is an automatic follow-up after the author pushed: follow its instructions, start from the diff between the two heads it names, and limit new findings to the code that changed. If no prior-review context is provided, it's a fresh first review.\n\n## Method: frame, enumerate, verify\n\nBreadth first, depth second. The two most common ways to fail are to grade the implementation without asking whether the change should exist, and to latch onto the first thread while the rest of the diff goes unread. Work in this order:\n\n1. **Frame the change against what was reported.** Before enumerating candidates, establish: whether the change fixes what was reported, in the reporter's situation and on the path they actually hit; whether every claim in the title, description and changeset is true; whether the same problem exists elsewhere that the change should also cover (sibling call sites, other backends, data already stored in the old shape); and what the tests prove and what they could not catch, including backends and configurations they do not run on.\n2. **Judge the approach.** Read the PR description, the linked issue or accepted design, and the diff. Before grading code, ask whether it is the right code at all: is it solving a real problem, the _right_ problem (did the author misread the issue)? Is the approach sound, does it fit EmDash's architecture and conventions, is there a simpler/more idiomatic way, is it good taste? Most PRs are from external contributors who may have the wrong end of the stick. **A flawless implementation of the wrong thing is still the wrong thing**, and matters more than any line-level bug. For a feature, the PR context lists the proposals accepted by its linked design PR under \"Accepted design\". Read them before reviewing the implementation. Report missing behavior, divergence, unplanned scope, and missing verification against the accepted design. Carry any approach-level concern through to the summary and let it shape the verdict.\n3. **Enumerate candidates.** Read each bounded authored file in full and inspect targeted sections of large authored files. Then write a numbered list of _candidate_ problems, as many as you can generate, specific to what this code does. Use the categories below to jog each kind of bug, tailored to the code. Cover **every changed hunk**. Aim wide — an unconfirmed candidate costs nothing yet.\n4. **Verify each candidate against the code.** Go down the list. For each, read the relevant code in full and trace call-sites/siblings (`state.searchFiles`) only as far as needed to confirm or kill it. **Self-correct**: drop candidates that turn out fine; do not report hypotheses you couldn't confirm. When code _looks_ correct, treat that as a claim to disprove against the runtime semantics in AGENTS.md, not a conclusion.\n5. **Then go deep on systemic issues.** After the per-hunk sweep, trace cross-cutting concerns a line-by-line pass misses: does the change behave differently on the production runtime than in tests; does a cache/invalidation cover every write path; does a new query against a content table miss a `locale` filter; is a sibling implementation now inconsistent.\n6. **Prioritize.** Cull survivors into findings with calibrated severity and choose a verdict. Coverage is the goal; don't conclude until every changed hunk has been considered.\n\n## Candidate categories (a prompt to enumerate from, not a fixed checklist)\n\n- **Logic**: off-by-one, inverted/missing conditions (a stray `!`), wrong operator, fallthrough, coercion.\n- **Edge cases**: empty / null / undefined / 0 / NaN, single-element, max/min/negative, unicode/RTL, called twice vs zero times.\n- **Error handling**: swallowed errors, a missing `await`, over-broad catch, missing cleanup, internals leaked to clients.\n- **State / concurrency / caching**: shared mutable state, stale closures, TOCTOU, cache key stability and lifetime, invalidation on _every_ write path.\n- **Security**: unsanitized input reaching SQL/HTML/shell/paths, missing/wrong authorization, secret/info leakage, open redirect, path traversal.\n- **Data integrity**: validation at boundaries, partial writes without transactions, cascading deletes that orphan rows, schema/code mismatch, a missing `locale` filter on a content-table query.\n- **Resources**: leaked handles/timers/listeners, unbounded growth, missing timeouts, retry without backoff.\n- **Tests**: a fix without a reproducing test is not fixed; a mock that returns the thing the test claims to verify is false confidence. A test that cannot fail on a real regression -- a config literal asserted back at itself, an implementation detail asserted straight back (adding a CSS class and testing the class is present), a mocked unit under test, a test exercising only third-party code -- is worse than no test: it inflates coverage and pins intentional changes. Flag it for deletion, or for rewriting against observable behavior.\n- **Accepted-design conformance**: for a feature, compare every implemented behavior, interface, compatibility constraint, edge case, and verification requirement with the linked proposal. Report an implementation that silently changes the accepted design, omits required behavior, adds unplanned scope, or lacks a required test. If implementation exposes a design flaw, require an explicit proposal amendment instead of accepting an implicit change in code review.\n- **Logged-out query counts**: any new query on a route an anonymous visitor can hit -- including cold-start or first-request-only queries -- needs a _really_ good reason. Check whether it could piggyback on an existing query, batch, defer with `after()`, or use `requestCached`. A query-count snapshot diff that increases a logged-out route is a finding, not bookkeeping.\n- **Comments**: comments that restate what the code does, justify the decision (\"intentionally\", \"for safety\"), address the reviewer, narrate rejected alternatives, or reference issues/PRs/review threads. Comments are evergreen and for future readers of the code; almost all of these should be deleted (or the code made clearer instead). Numbered comments are always wrong. Tool directives are exempt: `eslint-disable`, `oxlint-disable`, `@ts-expect-error`, `@ts-ignore`, `prettier-ignore`, `v8 ignore`, and similar are machine instructions, and the short reason attached to one is required context, not justification -- never flag them under this category.\n- **AGENTS.md conventions** (see above).\n\n## Severity and verdict\n\n- `needs_fixing`: logic bugs, regressions, security issues, broken contracts, a change that defeats its own stated goal, missing required tests, AGENTS.md violations.\n- `suggestion`: style, minor refactor, nice-to-have, low-confidence observations, misleading comments/docstrings.\n\nCalibrate. Don't tag things `needs_fixing` to look thorough, and don't downgrade a real bug to a nit. **Be willing to find nothing**: if the PR is genuinely clean, return an empty `findings` array and say so.\n\n- `verdict: approve` — you'd sign off. Usually no findings or only `suggestion`s.\n- `verdict: comment` — **the default whenever you found things, including several `needs_fixing` ones.** Your findings are advice; the maintainer decides what blocks merge. The number/severity of findings does not by itself escalate the verdict.\n- `verdict: request_changes` — **rare.** Reserve for when merging _as-is_ would cause concrete harm the maintainer must not miss: a security vulnerability, data-loss bug, a build/test break this PR introduces, a backwards-incompatibility violating the post-pre-release stability rule, or a fundamentally wrong/unwanted approach. If torn between `comment` and `request_changes`, it's `comment`.\n\n## Output\n\nReturn the result schema:\n\n- `verdict` as above.\n- `summary`: the markdown review body. **Open with an explicit judgment of the approach** — is this the right change, solving the right problem, in a way that fits EmDash? If the approach is wrong/questionable, lead with that. Then state what you checked and the headline conclusion; if the code is clean, say so.\n- `findings`: one entry per line-anchored comment, each with `path` (repo-relative, e.g. `packages/core/src/loader.ts` — **not** prefixed with `/repo/`), `line` (plus `startLine` for a range), `side` (`RIGHT` for additions/changes, `LEFT` for deletions), `severity`, and a markdown `body` that states what the code does and why it's wrong, cites the line, and uses a ` ```suggestion ` block for a clean inline fix.\n\nCite line numbers, be specific, and keep any hostility pointed at the code, not the author.\n","skills/wordpress-theme-to-emdash/SKILL.md":"---\nname: wordpress-theme-to-emdash\ndescription: Port a WordPress theme's design and template behavior to an EmDash-powered Astro site. Use for theme migrations, design matching, PHP-template conversion, and CMS wiring. Do not use for WordPress plugin behavior that does not affect the site theme.\n---\n\n# Port a WordPress theme to EmDash\n\nRecreate the theme's relevant layouts and interactions as an Astro site backed by EmDash. Preserve the user's requested visual fidelity and feature scope; do not assume every WordPress template or demo feature belongs in the port.\n\nLoad [building-emdash-site](../building-emdash-site/SKILL.md) for current EmDash schema, query, rendering, caching, and seed patterns. When a live reference site is available, use the `agent-browser` CLI for rendered comparison; run `agent-browser skills get core --full` for its command reference.\n\n## Choose the evidence\n\nUse the best available sources in this order:\n\n1. theme source and `theme.json`, stylesheets, templates, and `functions.php`;\n2. a live demo at representative desktop and mobile viewports;\n3. screenshots or design files supplied by the user;\n4. explicit design decisions where the source is ambiguous.\n\nDo not infer that demo content or images share the theme code's license. Reuse an asset only when its license or the user's rights permit it; otherwise use a clearly licensed substitute with similar dimensions and visual weight.\n\n## Plan the port\n\nInventory only the page types, components, responsive states, and interactions needed for the requested site. Map WordPress responsibilities before implementing:\n\n- PHP templates become Astro routes, layouts, and components.\n- Custom post types, metadata, and taxonomies become EmDash collections, fields, and taxonomies.\n- Theme Customizer values become site settings or explicit project configuration.\n- Menu locations become named EmDash menus queried by templates.\n- Sidebars and widgets become widget areas or ordinary Astro components.\n- Shortcodes and plugin-owned behavior may require a separate plugin migration.\n\nRead [WordPress theme concept mapping](references/concept-mapping.md) when translating template hierarchy, `functions.php` registrations, template tags, hooks, widgets, or reusable blocks.\n\nDynamic EmDash content routes must remain server-rendered. Use the EmDash `Image` component for EmDash media fields; ordinary theme assets can use Astro's asset handling.\n\n## Work in scoped phases\n\nRead a phase file only when that phase applies:\n\n- [Discovery and reference capture](phases/1-discovery.md)\n- [Design extraction](phases/2-design.md)\n- [Template conversion](phases/3-templates.md)\n- [Dynamic EmDash features](phases/4-dynamic.md)\n- [Schema and seed data](phases/5-seed.md)\n- [Rendered verification](phases/6-verify.md)\n\nWhen creating a standalone theme project, start from the repository's current site template or the user's existing project. Confirm the destination before writing and do not replace an existing site structure without explicit direction.\n\n## Verify the result\n\nBuild the site and exercise each in-scope page and interaction. Compare matched viewports against the reference, including responsive navigation, content with long and missing values, RTL when admin or theme behavior depends on direction, and relevant empty or error states.\n\nCapture before-and-after or reference-and-result screenshots when visual fidelity is part of acceptance. Report deliberate deviations, missing source evidence, unsupported WordPress behavior, and asset substitutions.\n\n## Licensing and attribution\n\nInspect the source theme's actual license and notices. Preserve required copyright and attribution, include the applicable license text for reused code, and identify third-party assets separately. Do not label a port GPL-2.0-or-later merely because the source is a WordPress theme.\n","skills/agent-browser/SKILL.md":"---\nname: agent-browser\ndescription: Use the agent-browser CLI to exercise web interfaces, inspect rendered accessibility state, verify interactions, and capture screenshots. Use for browser-based UI testing and evidence collection. Do not use as a substitute for deterministic Playwright coverage when an automated regression test is the requested deliverable.\n---\n\n# Test interfaces with agent-browser\n\nUse the installed `agent-browser` CLI for rendered, user-facing verification. Load its version-matched instructions before relying on command syntax:\n\n```bash\nagent-browser skills get core --full\n```\n\nUse a specialized bundled guide when the target requires one. `agent-browser skills list` shows the available guides.\n\n## Verification loop\n\n1. Start or identify the target application and record the exact URL and viewport.\n2. Open the page in a named session.\n3. Take an accessibility snapshot and identify controls by role, label, or snapshot reference.\n4. Perform the user action.\n5. Wait for the resulting state, then take a fresh snapshot. References can become stale after navigation or a substantial DOM update.\n6. Verify the observable result, console errors, and relevant network behavior.\n7. Capture screenshots when visual evidence helps establish the result.\n\nFor EmDash admin testing, authenticate through the development bypass rather than attempting to automate passkeys:\n\n```bash\nagent-browser open 'http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin'\n```\n\nUse `auth/dev-bypass` instead when setup is already complete.\n\n## Interaction guidance\n\n- Prefer role and label locators when they express the user-facing control clearly. Use snapshot references for efficient exploration.\n- Re-snapshot after a dialog opens, a route changes, or content is replaced.\n- Wait for a selector or visible state instead of adding a fixed delay unless timing itself is under test.\n- Use a named session for flows that depend on cookies or storage. Close sessions that are no longer needed.\n- Check `agent-browser console` and `agent-browser errors` when the UI behaves unexpectedly.\n- Use `agent-browser network requests` when the result depends on a request or response boundary.\n\n## Evidence\n\nRecord the path tested, inputs, viewport, expected result, actual result, and any console or request failures. For UI changes, capture before-and-after screenshots of every affected screen.\n\nSave screenshots inside the task workspace with descriptive filenames. Inspect the saved image before reporting success; a completed screenshot command does not prove that the intended state was visible.\n\nBrowser exploration does not replace a regression test when stable automated coverage can protect the behavior. Convert a confirmed defect into the narrowest meaningful automated test when the task includes implementation.\n","infra/emdash-bot/.flue/skills/investigate/SKILL.md":"# investigate\n\nPath: `infra/emdash-bot/.flue/skills/investigate/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/investigate/SKILL.md)","infra/emdash-bot/.flue/skills/implement/SKILL.md":"# implement\n\nPath: `infra/emdash-bot/.flue/skills/implement/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/implement/SKILL.md)","infra/emdash-bot/.flue/skills/fix/SKILL.md":"# fix\n\nPath: `infra/emdash-bot/.flue/skills/fix/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/fix/SKILL.md)","infra/emdash-bot/.flue/skills/diagnose/SKILL.md":"# diagnose\n\nPath: `infra/emdash-bot/.flue/skills/diagnose/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/diagnose/SKILL.md)","templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","templates/portfolio/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/portfolio/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/SKILL.md)","templates/portfolio/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/SKILL.md)","templates/portfolio/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/SKILL.md)","templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","templates/marketing/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/marketing/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/SKILL.md)","templates/marketing/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/marketing/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/SKILL.md)","templates/marketing/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/SKILL.md)","templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","templates/blog/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/blog/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/SKILL.md)","templates/blog/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/blog/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/SKILL.md)","templates/blog/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/blog/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/SKILL.md)","templates/blank/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/blank/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/SKILL.md)","templates/blank/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/blank/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/SKILL.md)","templates/blank/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/blank/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/SKILL.md)","templates/starter/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/starter/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/SKILL.md)","templates/starter/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/starter/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/SKILL.md)","templates/starter/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/starter/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/SKILL.md)","templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md":"# emdash-cli\n\nPath: `templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md":"# creating-plugins\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md":"# building-emdash-site\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","AGENTS.md":"# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/AGENTS.md)",".opencode/agents/auto-implementer.md":"# Subagent: auto-implementer\n\nPath: `.opencode/agents/auto-implementer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-implementer.md)",".opencode/agents/auto-reviewer.md":"# Subagent: auto-reviewer\n\nPath: `.opencode/agents/auto-reviewer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-reviewer.md)","packages/x402/CHANGELOG.md":"# X402 Skill\n\nPath: `packages/x402/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/CHANGELOG.md)","packages/x402/package.json":"# X402 Skill\n\nPath: `packages/x402/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/package.json)","packages/x402/tsconfig.json":"# X402 Skill\n\nPath: `packages/x402/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/tsconfig.json)","packages/workerd/CHANGELOG.md":"# Workerd Skill\n\nPath: `packages/workerd/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/CHANGELOG.md)","packages/workerd/package.json":"# Workerd Skill\n\nPath: `packages/workerd/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/package.json)","packages/workerd/tsconfig.json":"# Workerd Skill\n\nPath: `packages/workerd/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/tsconfig.json)","packages/registry-verification/CHANGELOG.md":"# Registry-verification Skill\n\nPath: `packages/registry-verification/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/CHANGELOG.md)","packages/registry-verification/package.json":"# Registry-verification Skill\n\nPath: `packages/registry-verification/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/package.json)","packages/registry-verification/tsconfig.json":"# Registry-verification Skill\n\nPath: `packages/registry-verification/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/tsconfig.json)","packages/registry-lexicons/CHANGELOG.md":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/CHANGELOG.md)","packages/registry-lexicons/package.json":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/package.json)","packages/registry-lexicons/README.md":"# registry-lexicons Documentation\n\nPath: `packages/registry-lexicons/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/README.md)","packages/registry-lexicons/tsconfig.json":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/tsconfig.json)","packages/registry-client/CHANGELOG.md":"# Registry-client Skill\n\nPath: `packages/registry-client/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/CHANGELOG.md)","packages/registry-client/package.json":"# Registry-client Skill\n\nPath: `packages/registry-client/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/package.json)","packages/registry-client/README.md":"# registry-client Documentation\n\nPath: `packages/registry-client/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/README.md)","packages/registry-client/tsconfig.json":"# Registry-client Skill\n\nPath: `packages/registry-client/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/tsconfig.json)","packages/plugins/README.md":"# plugins Documentation\n\nPath: `packages/plugins/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/README.md)","packages/plugins/tsconfig.base.json":"# Plugins Skill\n\nPath: `packages/plugins/tsconfig.base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/tsconfig.base.json)","packages/plugin-types/CHANGELOG.md":"# Plugin-types Skill\n\nPath: `packages/plugin-types/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/CHANGELOG.md)","packages/plugin-types/package.json":"# Plugin-types Skill\n\nPath: `packages/plugin-types/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/package.json)","packages/plugin-types/tsconfig.json":"# Plugin-types Skill\n\nPath: `packages/plugin-types/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/tsconfig.json)","packages/plugin-cli/CHANGELOG.md":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/CHANGELOG.md)","packages/plugin-cli/package.json":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/package.json)","packages/plugin-cli/README.md":"# plugin-cli Documentation\n\nPath: `packages/plugin-cli/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/README.md)","packages/plugin-cli/tsconfig.json":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tsconfig.json)","packages/marketplace/package.json":"# Marketplace Skill\n\nPath: `packages/marketplace/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/package.json)","packages/marketplace/README.md":"# marketplace Documentation\n\nPath: `packages/marketplace/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/README.md)","packages/marketplace/tsconfig.json":"# Marketplace Skill\n\nPath: `packages/marketplace/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tsconfig.json)","packages/gutenberg-to-portable-text/CHANGELOG.md":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/CHANGELOG.md)","packages/gutenberg-to-portable-text/package.json":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/package.json)","packages/gutenberg-to-portable-text/tsconfig.json":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/tsconfig.json)","packages/create-emdash/CHANGELOG.md":"# Create-emdash Skill\n\nPath: `packages/create-emdash/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/CHANGELOG.md)","packages/create-emdash/package.json":"# Create-emdash Skill\n\nPath: `packages/create-emdash/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/package.json)","packages/create-emdash/tsconfig.json":"# Create-emdash Skill\n\nPath: `packages/create-emdash/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/tsconfig.json)","packages/core/CHANGELOG.md":"# Core Skill\n\nPath: `packages/core/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/CHANGELOG.md)","packages/core/package.json":"# Core Skill\n\nPath: `packages/core/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/package.json)","packages/core/README.md":"# core Documentation\n\nPath: `packages/core/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/README.md)","packages/core/tsconfig.json":"# Core Skill\n\nPath: `packages/core/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tsconfig.json)","packages/contentful-to-portable-text/CHANGELOG.md":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/CHANGELOG.md)","packages/contentful-to-portable-text/package.json":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/package.json)","packages/contentful-to-portable-text/tsconfig.json":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/tsconfig.json)","packages/cloudflare/CHANGELOG.md":"# Cloudflare Skill\n\nPath: `packages/cloudflare/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/CHANGELOG.md)","packages/cloudflare/package.json":"# Cloudflare Skill\n\nPath: `packages/cloudflare/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/package.json)","packages/cloudflare/tsconfig.json":"# Cloudflare Skill\n\nPath: `packages/cloudflare/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/tsconfig.json)","packages/blocks/CHANGELOG.md":"# Blocks Skill\n\nPath: `packages/blocks/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/CHANGELOG.md)","packages/blocks/package.json":"# Blocks Skill\n\nPath: `packages/blocks/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/package.json)","packages/blocks/tsconfig.json":"# Blocks Skill\n\nPath: `packages/blocks/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/tsconfig.json)","packages/auth-atproto/CHANGELOG.md":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/CHANGELOG.md)","packages/auth-atproto/package.json":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/package.json)","packages/auth-atproto/README.md":"# auth-atproto Documentation\n\nPath: `packages/auth-atproto/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/README.md)","packages/auth-atproto/tsconfig.json":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/tsconfig.json)","packages/auth/CHANGELOG.md":"# Auth Skill\n\nPath: `packages/auth/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/CHANGELOG.md)","packages/auth/package.json":"# Auth Skill\n\nPath: `packages/auth/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/package.json)","packages/auth/tsconfig.json":"# Auth Skill\n\nPath: `packages/auth/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/tsconfig.json)","packages/atproto-test-utils/package.json":"# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/package.json)","packages/atproto-test-utils/tsconfig.json":"# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/tsconfig.json)","packages/admin/CHANGELOG.md":"# Admin Skill\n\nPath: `packages/admin/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/CHANGELOG.md)","packages/admin/package.json":"# Admin Skill\n\nPath: `packages/admin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/package.json)","packages/admin/tsconfig.json":"# Admin Skill\n\nPath: `packages/admin/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/tsconfig.json)","skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/emdash-cli/EDITING-FLOW.md)","infra/emdash-bot/evals/CUTOVER.md":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/CUTOVER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/CUTOVER.md)","infra/emdash-bot/evals/dataset.json":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.json)","infra/emdash-bot/evals/dataset.md":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.md)","infra/emdash-bot/evals/README.md":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/README.md)","packages/plugins/mcp-smoke/CHANGELOG.md":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/CHANGELOG.md)","packages/plugins/mcp-smoke/package.json":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/package.json)","packages/plugins/mcp-smoke/tsconfig.json":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/tsconfig.json)","packages/plugins/marketplace-test/CHANGELOG.md":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/CHANGELOG.md)","packages/plugins/marketplace-test/emdash-plugin.jsonc":"# marketplace-test Plugin Manifest\n\nPath: `packages/plugins/marketplace-test/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/emdash-plugin.jsonc)","packages/plugins/marketplace-test/package.json":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/package.json)","packages/plugins/marketplace-test/README.md":"# marketplace-test Documentation\n\nPath: `packages/plugins/marketplace-test/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/README.md)","packages/plugins/marketplace-test/tsconfig.json":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/tsconfig.json)","packages/plugins/forms/CHANGELOG.md":"# Forms Skill\n\nPath: `packages/plugins/forms/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/CHANGELOG.md)","packages/plugins/forms/package.json":"# Forms Skill\n\nPath: `packages/plugins/forms/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/package.json)","packages/plugins/forms/tsconfig.json":"# Forms Skill\n\nPath: `packages/plugins/forms/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/tsconfig.json)","packages/plugins/field-kit/CHANGELOG.md":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/CHANGELOG.md)","packages/plugins/field-kit/package.json":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/package.json)","packages/plugins/field-kit/tsconfig.json":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/tsconfig.json)","packages/plugins/embeds/CHANGELOG.md":"# Embeds Skill\n\nPath: `packages/plugins/embeds/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/CHANGELOG.md)","packages/plugins/embeds/package.json":"# Embeds Skill\n\nPath: `packages/plugins/embeds/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/package.json)","packages/plugins/embeds/tsconfig.json":"# Embeds Skill\n\nPath: `packages/plugins/embeds/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/tsconfig.json)","packages/plugins/color/CHANGELOG.md":"# Color Skill\n\nPath: `packages/plugins/color/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/CHANGELOG.md)","packages/plugins/color/package.json":"# Color Skill\n\nPath: `packages/plugins/color/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/package.json)","packages/plugins/color/tsconfig.json":"# Color Skill\n\nPath: `packages/plugins/color/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/tsconfig.json)","packages/plugins/audit-log/CHANGELOG.md":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/CHANGELOG.md)","packages/plugins/audit-log/emdash-plugin.jsonc":"# audit-log Plugin Manifest\n\nPath: `packages/plugins/audit-log/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/emdash-plugin.jsonc)","packages/plugins/audit-log/package.json":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/package.json)","packages/plugins/audit-log/tsconfig.json":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/tsconfig.json)","packages/plugins/atproto/CHANGELOG.md":"# Atproto Skill\n\nPath: `packages/plugins/atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/CHANGELOG.md)","packages/plugins/atproto/emdash-plugin.jsonc":"# atproto Plugin Manifest\n\nPath: `packages/plugins/atproto/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/emdash-plugin.jsonc)","packages/plugins/atproto/package.json":"# Atproto Skill\n\nPath: `packages/plugins/atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/package.json)","packages/plugins/atproto/tsconfig.json":"# Atproto Skill\n\nPath: `packages/plugins/atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/tsconfig.json)","packages/plugins/api-test/CHANGELOG.md":"# Api-test Skill\n\nPath: `packages/plugins/api-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/CHANGELOG.md)","packages/plugins/api-test/package.json":"# Api-test Skill\n\nPath: `packages/plugins/api-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/package.json)","packages/plugins/ai-moderation/CHANGELOG.md":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/CHANGELOG.md)","packages/plugins/ai-moderation/package.json":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/package.json)","packages/plugins/ai-moderation/tsconfig.json":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/tsconfig.json)","packages/plugins/sandboxed-test/CHANGELOG.md":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/CHANGELOG.md)","packages/plugins/sandboxed-test/emdash-plugin.jsonc":"# sandboxed-test Plugin Manifest\n\nPath: `packages/plugins/sandboxed-test/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/emdash-plugin.jsonc)","packages/plugins/sandboxed-test/package.json":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/package.json)","packages/plugins/sandboxed-test/tsconfig.json":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/tsconfig.json)","packages/plugins/webhook-notifier/CHANGELOG.md":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/CHANGELOG.md)","packages/plugins/webhook-notifier/emdash-plugin.jsonc":"# webhook-notifier Plugin Manifest\n\nPath: `packages/plugins/webhook-notifier/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/emdash-plugin.jsonc)","packages/plugins/webhook-notifier/package.json":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/package.json)","packages/plugins/webhook-notifier/tsconfig.json":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/tsconfig.json)","packages/plugin-cli/schemas/emdash-plugin.schema.json":"# Schemas Skill\n\nPath: `packages/plugin-cli/schemas/emdash-plugin.schema.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/schemas/emdash-plugin.schema.json)","packages/marketplace/tests/tsconfig.json":"# Tests Skill\n\nPath: `packages/marketplace/tests/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/tsconfig.json)","packages/blocks/playground/package.json":"# Playground Skill\n\nPath: `packages/blocks/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/package.json)","packages/blocks/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/blocks/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/tsconfig.json)","skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md)","skills/wordpress-theme-to-emdash/scaffold/package.json":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/package.json)","skills/wordpress-theme-to-emdash/scaffold/README.md":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/README.md)","skills/wordpress-theme-to-emdash/scaffold/tsconfig.json":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/tsconfig.json)","skills/wordpress-theme-to-emdash/references/astro-essentials.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/astro-essentials.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/astro-essentials.md)","skills/wordpress-theme-to-emdash/references/concept-mapping.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/concept-mapping.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/concept-mapping.md)","skills/wordpress-theme-to-emdash/references/design-extraction.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/design-extraction.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/design-extraction.md)","skills/wordpress-theme-to-emdash/references/emdash-api.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/emdash-api.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/emdash-api.md)","skills/wordpress-theme-to-emdash/references/template-patterns.md":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/template-patterns.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/template-patterns.md)","skills/wordpress-theme-to-emdash/phases/1-discovery.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/1-discovery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/1-discovery.md)","skills/wordpress-theme-to-emdash/phases/2-design.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/2-design.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/2-design.md)","skills/wordpress-theme-to-emdash/phases/3-templates.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/3-templates.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/3-templates.md)","skills/wordpress-theme-to-emdash/phases/4-dynamic.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/4-dynamic.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/4-dynamic.md)","skills/wordpress-theme-to-emdash/phases/5-seed.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/5-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/5-seed.md)","skills/wordpress-theme-to-emdash/phases/6-verify.md":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/6-verify.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/6-verify.md)","skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/admin-ui.md)","skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/api-routes.md)","skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/block-kit.md)","skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/hooks.md)","skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/portable-text-blocks.md)","skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/publishing.md)","skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/storage.md)","skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/configuration.md)","skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/querying-and-rendering.md)","skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/schema-and-seed.md)","skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/site-features.md)","templates/portfolio-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.cursor/mcp.json)","templates/portfolio-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.vscode/mcp.json)","templates/portfolio/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.cursor/mcp.json)","templates/portfolio/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.vscode/mcp.json)","templates/marketing-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.cursor/mcp.json)","templates/marketing-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.vscode/mcp.json)","templates/marketing/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.cursor/mcp.json)","templates/marketing/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.vscode/mcp.json)","templates/blog-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.cursor/mcp.json)","templates/blog-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.vscode/mcp.json)","templates/blog/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.cursor/mcp.json)","templates/blog/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.vscode/mcp.json)","templates/blank/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blank/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.cursor/mcp.json)","templates/blank/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blank/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.vscode/mcp.json)","templates/starter/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.cursor/mcp.json)","templates/starter/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.vscode/mcp.json)","templates/starter-cloudflare/.cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.cursor/mcp.json)","templates/starter-cloudflare/.vscode/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.vscode/mcp.json)","demos/cloudflare/plugins/sandbox-test/manifest.json":"# Sandbox-test Skill\n\nPath: `demos/cloudflare/plugins/sandbox-test/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/demos/cloudflare/plugins/sandbox-test/manifest.json)","packages/registry-verification/fixtures/records/profile.json":"# Records Skill\n\nPath: `packages/registry-verification/fixtures/records/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/profile.json)","packages/registry-verification/fixtures/records/release.json":"# Records Skill\n\nPath: `packages/registry-verification/fixtures/records/release.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/release.json)","packages/registry-verification/fixtures/provenance/README.md":"# provenance Documentation\n\nPath: `packages/registry-verification/fixtures/provenance/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/README.md)","packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json":"# Provenance Skill\n\nPath: `packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json)","packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json":"# Trust-roots Skill\n\nPath: `packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json)","packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json":"# Fixtures Skill\n\nPath: `packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json)","packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc":"# minimal-plugin Plugin Manifest\n\nPath: `packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc)","packages/plugin-cli/tests/fixtures/minimal-plugin/package.json":"# Minimal-plugin Skill\n\nPath: `packages/plugin-cli/tests/fixtures/minimal-plugin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/package.json)","packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc":"# bad-plugin Plugin Manifest\n\nPath: `packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc)","packages/plugin-cli/tests/fixtures/bad-plugin/package.json":"# Bad-plugin Skill\n\nPath: `packages/plugin-cli/tests/fixtures/bad-plugin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/package.json)","packages/core/tests/integration/fixture/package.json":"# Fixture Skill\n\nPath: `packages/core/tests/integration/fixture/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/package.json)","packages/core/tests/integration/fixture/tsconfig.json":"# Fixture Skill\n\nPath: `packages/core/tests/integration/fixture/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/tsconfig.json)","templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md)","templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md":"# Emdash-cli Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","packages/marketplace/tests/fixtures/audit/social-engineering/expected.json":"# Social-engineering Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/social-engineering/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/expected.json)","packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json":"# Social-engineering Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json)","packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json":"# Prompt-injection Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json)","packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json":"# Prompt-injection Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json)","packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json":"# Obfuscated-payload Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json)","packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json":"# Obfuscated-payload Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json)","packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json":"# Misleading-screenshot Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json)","packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json":"# Misleading-screenshot Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json)","packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json":"# Hate-imagery Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json)","packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json":"# Hate-imagery Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json)","packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json":"# Dynamic-url-construction Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json)","packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json":"# Dynamic-url-construction Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json)","packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json":"# Data-exfiltration Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json)","packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json":"# Data-exfiltration Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json)","packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json":"# Crypto-miner Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json)","packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json":"# Crypto-miner Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json)","packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json":"# Credential-harvester Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json)","packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json":"# Credential-harvester Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json)","packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json":"# Clean-with-images Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json)","packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json":"# Clean-with-images Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json)","packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json":"# Clean-seo-plugin Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json)","packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json":"# Clean-seo-plugin Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json)","packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json":"# Brand-impersonation Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json)","packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json":"# Brand-impersonation Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json)","packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json":"# Benign-network-usage Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json)","packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json":"# Benign-network-usage Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json)","packages/core/tests/integration/fixture/.emdash/seed.json":"# .emdash Skill\n\nPath: `packages/core/tests/integration/fixture/.emdash/seed.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/.emdash/seed.json)","packages/core/tests/integration/smoke/fixtures/README.md":"# fixtures Documentation\n\nPath: `packages/core/tests/integration/smoke/fixtures/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/smoke/fixtures/README.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md)","templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md)","templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md)","templates/portfolio/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/hooks.md)","templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/portfolio/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/publishing.md)","templates/portfolio/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/storage.md)","templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md)","templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md)","templates/marketing/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/api-routes.md)","templates/marketing/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/block-kit.md)","templates/marketing/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/hooks.md)","templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/marketing/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/publishing.md)","templates/marketing/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/storage.md)","templates/marketing/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/configuration.md)","templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/marketing/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/site-features.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","templates/blog/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/admin-ui.md)","templates/blog/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/api-routes.md)","templates/blog/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/block-kit.md)","templates/blog/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/hooks.md)","templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/blog/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/publishing.md)","templates/blog/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/storage.md)","templates/blog/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/configuration.md)","templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/blog/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/site-features.md)","templates/blank/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/admin-ui.md)","templates/blank/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/api-routes.md)","templates/blank/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/block-kit.md)","templates/blank/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/hooks.md)","templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/blank/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/publishing.md)","templates/blank/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/storage.md)","templates/blank/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/configuration.md)","templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/blank/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/site-features.md)","templates/starter/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/admin-ui.md)","templates/starter/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/api-routes.md)","templates/starter/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/block-kit.md)","templates/starter/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/hooks.md)","templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/starter/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/publishing.md)","templates/starter/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/storage.md)","templates/starter/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/configuration.md)","templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/starter/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/site-features.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json":"# Publisher Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json":"# Publisher Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json)","packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/AGENTS.md)","tokens":300,"sizeBytes":151},{"name":"manifest.json","path":"demos/cloudflare/plugins/sandbox-test/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/demos/cloudflare/plugins/sandbox-test/manifest.json","title":"Sandbox-test Skill","category":"anthropic-skill","format":"json","content":"# Sandbox-test Skill\n\nPath: `demos/cloudflare/plugins/sandbox-test/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/demos/cloudflare/plugins/sandbox-test/manifest.json)","tokens":300,"sizeBytes":221},{"name":"SKILL.md","path":"infra/emdash-bot/.flue/skills/diagnose/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/diagnose/SKILL.md","title":"diagnose","category":"anthropic-skill","format":"markdown","content":"# diagnose\n\nPath: `infra/emdash-bot/.flue/skills/diagnose/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/diagnose/SKILL.md)","tokens":300,"sizeBytes":203},{"name":"SKILL.md","path":"infra/emdash-bot/.flue/skills/fix/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/fix/SKILL.md","title":"fix","category":"anthropic-skill","format":"markdown","content":"# fix\n\nPath: `infra/emdash-bot/.flue/skills/fix/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/fix/SKILL.md)","tokens":300,"sizeBytes":188},{"name":"SKILL.md","path":"infra/emdash-bot/.flue/skills/implement/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/implement/SKILL.md","title":"implement","category":"anthropic-skill","format":"markdown","content":"# implement\n\nPath: `infra/emdash-bot/.flue/skills/implement/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/implement/SKILL.md)","tokens":300,"sizeBytes":206},{"name":"SKILL.md","path":"infra/emdash-bot/.flue/skills/investigate/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/investigate/SKILL.md","title":"investigate","category":"anthropic-skill","format":"markdown","content":"# investigate\n\nPath: `infra/emdash-bot/.flue/skills/investigate/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/investigate/SKILL.md)","tokens":300,"sizeBytes":212},{"name":"CUTOVER.md","path":"infra/emdash-bot/evals/CUTOVER.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/CUTOVER.md","title":"Evals Skill","category":"anthropic-skill","format":"markdown","content":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/CUTOVER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/CUTOVER.md)","tokens":300,"sizeBytes":178},{"name":"dataset.json","path":"infra/emdash-bot/evals/dataset.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.json","title":"Evals Skill","category":"anthropic-skill","format":"json","content":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.json)","tokens":300,"sizeBytes":182},{"name":"dataset.md","path":"infra/emdash-bot/evals/dataset.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.md","title":"Evals Skill","category":"anthropic-skill","format":"markdown","content":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.md)","tokens":300,"sizeBytes":178},{"name":"README.md","path":"infra/emdash-bot/evals/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/README.md","title":"Evals Skill","category":"anthropic-skill","format":"markdown","content":"# Evals Skill\n\nPath: `infra/emdash-bot/evals/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/README.md)","tokens":300,"sizeBytes":176},{"name":"SKILL.md","path":"infra/flue-review/.flue/skills/review/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/flue-review/.flue/skills/review/SKILL.md","title":"review","category":"anthropic-skill","format":"markdown","content":"---\nname: review\ndescription: Review one pull request for real bugs, regressions, and convention violations. Enumerate candidate issues across the whole diff, verify each against the code, then return structured line-anchored findings and a verdict. Read-only on GitHub; the orchestrator posts the review.\n---\n\n# Review a pull request\n\nYou are reviewing a pull request on **emdash-cms/emdash**. Find real bugs, regressions, and gaps, and return structured findings; the orchestrator posts them as a single review.\n\nReview **statically**. Do not run the test suite, linter, builds, or install anything (you have no shell anyway). Read code, trace with searches, and reason. If confirming something would require running tooling, say it's unverified rather than guessing.\n\nThe repo's AGENTS.md is at the repo root in your context. Check the PR against its conventions (Lingui localization, RTL-safe Tailwind, SQL safety, API envelope shape, authorization, locale filtering on content tables, index discipline, changesets, query counts on logged-out routes, comment discipline). A violation is a real finding, not a nit.\n\n## Documentation changes\n\nWhen the diff changes documentation prose, load the `writing-emdash-docs` skill before reviewing those files. This includes public docs, READMEs, contributor guidance, technical specifications, release notes and changesets, and skill instructions. Apply the skill only to documentation; do not spend review context on it for code, tests, generated files, or prose fixtures.\n\nVerify documentation claims against the implementation, types, tests, command output, and adjacent docs. The writing skill does not replace technical investigation.\n\nCalibrate documentation findings by their effect:\n\n- Use `needs_fixing` for a false technical claim, an obsolete or unsafe command, an API example that cannot work, a procedure that cannot reach its stated outcome, a missing prerequisite that causes failure or data loss, or documentation that contradicts shipped behavior.\n- Use `suggestion` for voice, organization, accessibility, verbosity, or anti-slop edits that preserve meaning.\n- Do not flag a watched word or sentence shape by itself. Confirm that it makes the documentation less precise, less useful, or harder to understand.\n\nWhen code changes user-visible behavior, check whether existing documentation becomes false or incomplete. Do not require public documentation for internal changes that do not alter how readers use EmDash.\n\n### Changesets\n\nReview each changeset against [.changeset/README.md](/repo/.changeset/README.md). It is public documentation copied verbatim into a package CHANGELOG, not metadata that passes once its package names, bump type, and frontmatter are valid.\n\nReturn a `needs_fixing` finding when a required entry is technically accurate but does not help readers decide whether the release affects them. This includes vague prose, internal mechanics or commit-message summaries, a recognizable public surface or audience left unnamed, a significant capability buried under incidental details, or a breaking/default change without concrete migration and reversion guidance. Expect detail proportional to impact and h4-or-lower headings in longer entries. Check that useful explanations and examples also appear in the canonical feature or upgrade docs.\n\n## Your only tool: `code`\n\nYou have a single tool, **`code`**, that runs JavaScript in an isolated worker against the checked-out repo through a `state` API (the full `state` type declarations are in the tool description). There is **no shell, no `git`, no `rg`, no `cat`** — everything is `state.*`. Each call is `async () => { ... return result; }` and must `return` its result.\n\nKey operations:\n\n- **Read the diff** (the exact changed lines): `async () => state.readFile({ path: \"<diffPath from your inputs>\" })`\n- **Read a file:** `async () => state.readFile({ path: \"/repo/packages/core/src/loader.ts\" })`\n- **Trace call-sites / search the tree** (your `rg`): `async () => state.searchFiles({ pattern: \"packages/**/*.ts\", query: \"getEmDashCollection\", options: { regex: true, contextBefore: 2, contextAfter: 2, maxMatches: 80 } })`\n- **Search within one file:** `state.searchText({ path, query, options })`\n- **List / explore:** `state.readdir({ path })`, `state.glob({ pattern })`, `state.find({ path, options })`, `state.walkTree({ path, options })`\n\nKeep each `code` result below the tool's output limit. Batch bounded excerpts and searches when that reduces repeated calls. For a large file, return only the slices around changed or relevant lines, or use `state.searchFiles` and `state.searchText` with bounded matches.\n\n`apps/release-action/dist/index.js` is a compiled artifact. Its checkout contents and diff contents are replaced by a marker when it changes. Never try to read or reconstruct the compiled contents. Review the authored source and tests instead.\n\n## Inputs\n\nYour inputs include the PR number, title, description, the base branch, the repo directory (`repoDir`, the working tree checked out at the **PR head** — the version that would merge), and `diffPath` (the unified `base...head` diff). When the PR says it closes issues in this repository, `prContext` includes each one's title and body under \"Linked issue\" (untrusted text, without comments). You cannot fetch anything from GitHub (no network), so an issue that is not in your inputs is unavailable to you.\n\nStart by reading the diff at `diffPath` to see exactly what changed. Read bounded authored files in full. For large authored files, read the changed sections and enough surrounding code to understand them, then search the tree to trace call-sites and siblings. Do not read omitted compiled artifacts.\n\n## First, check whether this is a follow-up\n\n**You post as `emdashbot[bot]`.** If your inputs include prior-review context (earlier `emdashbot[bot]` findings and replies), this is a **re-review**: read your prior findings and the author's replies, concentrate on what changed, and **do not repost findings already resolved or reasonably addressed/pushed back on**. In your summary, say what's fixed versus still open, and weigh the author's responses. If your inputs also include a \"Follow-up review\" section, this is an automatic follow-up after the author pushed: follow its instructions, start from the diff between the two heads it names, and limit new findings to the code that changed. If no prior-review context is provided, it's a fresh first review.\n\n## Method: frame, enumerate, verify\n\nBreadth first, depth second. The two most common ways to fail are to grade the implementation without asking whether the change should exist, and to latch onto the first thread while the rest of the diff goes unread. Work in this order:\n\n1. **Frame the change against what was reported.** Before enumerating candidates, establish: whether the change fixes what was reported, in the reporter's situation and on the path they actually hit; whether every claim in the title, description and changeset is true; whether the same problem exists elsewhere that the change should also cover (sibling call sites, other backends, data already stored in the old shape); and what the tests prove and what they could not catch, including backends and configurations they do not run on.\n2. **Judge the approach.** Read the PR description, the linked issue or accepted design, and the diff. Before grading code, ask whether it is the right code at all: is it solving a real problem, the _right_ problem (did the author misread the issue)? Is the approach sound, does it fit EmDash's architecture and conventions, is there a simpler/more idiomatic way, is it good taste? Most PRs are from external contributors who may have the wrong end of the stick. **A flawless implementation of the wrong thing is still the wrong thing**, and matters more than any line-level bug. For a feature, the PR context lists the proposals accepted by its linked design PR under \"Accepted design\". Read them before reviewing the implementation. Report missing behavior, divergence, unplanned scope, and missing verification against the accepted design. Carry any approach-level concern through to the summary and let it shape the verdict.\n3. **Enumerate candidates.** Read each bounded authored file in full and inspect targeted sections of large authored files. Then write a numbered list of _candidate_ problems, as many as you can generate, specific to what this code does. Use the categories below to jog each kind of bug, tailored to the code. Cover **every changed hunk**. Aim wide — an unconfirmed candidate costs nothing yet.\n4. **Verify each candidate against the code.** Go down the list. For each, read the relevant code in full and trace call-sites/siblings (`state.searchFiles`) only as far as needed to confirm or kill it. **Self-correct**: drop candidates that turn out fine; do not report hypotheses you couldn't confirm. When code _looks_ correct, treat that as a claim to disprove against the runtime semantics in AGENTS.md, not a conclusion.\n5. **Then go deep on systemic issues.** After the per-hunk sweep, trace cross-cutting concerns a line-by-line pass misses: does the change behave differently on the production runtime than in tests; does a cache/invalidation cover every write path; does a new query against a content table miss a `locale` filter; is a sibling implementation now inconsistent.\n6. **Prioritize.** Cull survivors into findings with calibrated severity and choose a verdict. Coverage is the goal; don't conclude until every changed hunk has been considered.\n\n## Candidate categories (a prompt to enumerate from, not a fixed checklist)\n\n- **Logic**: off-by-one, inverted/missing conditions (a stray `!`), wrong operator, fallthrough, coercion.\n- **Edge cases**: empty / null / undefined / 0 / NaN, single-element, max/min/negative, unicode/RTL, called twice vs zero times.\n- **Error handling**: swallowed errors, a missing `await`, over-broad catch, missing cleanup, internals leaked to clients.\n- **State / concurrency / caching**: shared mutable state, stale closures, TOCTOU, cache key stability and lifetime, invalidation on _every_ write path.\n- **Security**: unsanitized input reaching SQL/HTML/shell/paths, missing/wrong authorization, secret/info leakage, open redirect, path traversal.\n- **Data integrity**: validation at boundaries, partial writes without transactions, cascading deletes that orphan rows, schema/code mismatch, a missing `locale` filter on a content-table query.\n- **Resources**: leaked handles/timers/listeners, unbounded growth, missing timeouts, retry without backoff.\n- **Tests**: a fix without a reproducing test is not fixed; a mock that returns the thing the test claims to verify is false confidence. A test that cannot fail on a real regression -- a config literal asserted back at itself, an implementation detail asserted straight back (adding a CSS class and testing the class is present), a mocked unit under test, a test exercising only third-party code -- is worse than no test: it inflates coverage and pins intentional changes. Flag it for deletion, or for rewriting against observable behavior.\n- **Accepted-design conformance**: for a feature, compare every implemented behavior, interface, compatibility constraint, edge case, and verification requirement with the linked proposal. Report an implementation that silently changes the accepted design, omits required behavior, adds unplanned scope, or lacks a required test. If implementation exposes a design flaw, require an explicit proposal amendment instead of accepting an implicit change in code review.\n- **Logged-out query counts**: any new query on a route an anonymous visitor can hit -- including cold-start or first-request-only queries -- needs a _really_ good reason. Check whether it could piggyback on an existing query, batch, defer with `after()`, or use `requestCached`. A query-count snapshot diff that increases a logged-out route is a finding, not bookkeeping.\n- **Comments**: comments that restate what the code does, justify the decision (\"intentionally\", \"for safety\"), address the reviewer, narrate rejected alternatives, or reference issues/PRs/review threads. Comments are evergreen and for future readers of the code; almost all of these should be deleted (or the code made clearer instead). Numbered comments are always wrong. Tool directives are exempt: `eslint-disable`, `oxlint-disable`, `@ts-expect-error`, `@ts-ignore`, `prettier-ignore`, `v8 ignore`, and similar are machine instructions, and the short reason attached to one is required context, not justification -- never flag them under this category.\n- **AGENTS.md conventions** (see above).\n\n## Severity and verdict\n\n- `needs_fixing`: logic bugs, regressions, security issues, broken contracts, a change that defeats its own stated goal, missing required tests, AGENTS.md violations.\n- `suggestion`: style, minor refactor, nice-to-have, low-confidence observations, misleading comments/docstrings.\n\nCalibrate. Don't tag things `needs_fixing` to look thorough, and don't downgrade a real bug to a nit. **Be willing to find nothing**: if the PR is genuinely clean, return an empty `findings` array and say so.\n\n- `verdict: approve` — you'd sign off. Usually no findings or only `suggestion`s.\n- `verdict: comment` — **the default whenever you found things, including several `needs_fixing` ones.** Your findings are advice; the maintainer decides what blocks merge. The number/severity of findings does not by itself escalate the verdict.\n- `verdict: request_changes` — **rare.** Reserve for when merging _as-is_ would cause concrete harm the maintainer must not miss: a security vulnerability, data-loss bug, a build/test break this PR introduces, a backwards-incompatibility violating the post-pre-release stability rule, or a fundamentally wrong/unwanted approach. If torn between `comment` and `request_changes`, it's `comment`.\n\n## Output\n\nReturn the result schema:\n\n- `verdict` as above.\n- `summary`: the markdown review body. **Open with an explicit judgment of the approach** — is this the right change, solving the right problem, in a way that fits EmDash? If the approach is wrong/questionable, lead with that. Then state what you checked and the headline conclusion; if the code is clean, say so.\n- `findings`: one entry per line-anchored comment, each with `path` (repo-relative, e.g. `packages/core/src/loader.ts` — **not** prefixed with `/repo/`), `line` (plus `startLine` for a range), `side` (`RIGHT` for additions/changes, `LEFT` for deletions), `severity`, and a markdown `body` that states what the code does and why it's wrong, cites the line, and uses a ` ```suggestion ` block for a clean inline fix.\n\nCite line numbers, be specific, and keep any hostility pointed at the code, not the author.\n","frontmatter":{"name":"review","description":"Review one pull request for real bugs, regressions, and convention violations. Enumerate candidate issues across the whole diff, verify each against the code, then return structured line-anchored findings and a verdict. Read-only on GitHub; the orchestrator posts the review."},"isInternal":false,"tokens":3176,"sizeBytes":14841},{"name":"CHANGELOG.md","path":"packages/admin/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/CHANGELOG.md","title":"Admin Skill","category":"anthropic-skill","format":"markdown","content":"# Admin Skill\n\nPath: `packages/admin/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/CHANGELOG.md)","tokens":300,"sizeBytes":166},{"name":"package.json","path":"packages/admin/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/package.json","title":"Admin Skill","category":"anthropic-skill","format":"json","content":"# Admin Skill\n\nPath: `packages/admin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/package.json)","tokens":300,"sizeBytes":166},{"name":"tsconfig.json","path":"packages/admin/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/tsconfig.json","title":"Admin Skill","category":"anthropic-skill","format":"json","content":"# Admin Skill\n\nPath: `packages/admin/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/tsconfig.json)","tokens":300,"sizeBytes":168},{"name":"package.json","path":"packages/atproto-test-utils/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/package.json","title":"Atproto-test-utils Skill","category":"anthropic-skill","format":"json","content":"# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/package.json)","tokens":300,"sizeBytes":205},{"name":"tsconfig.json","path":"packages/atproto-test-utils/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/tsconfig.json","title":"Atproto-test-utils Skill","category":"anthropic-skill","format":"json","content":"# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/tsconfig.json)","tokens":300,"sizeBytes":207},{"name":"CHANGELOG.md","path":"packages/auth-atproto/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/CHANGELOG.md","title":"Auth-atproto Skill","category":"anthropic-skill","format":"markdown","content":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/CHANGELOG.md)","tokens":300,"sizeBytes":187},{"name":"package.json","path":"packages/auth-atproto/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/package.json","title":"Auth-atproto Skill","category":"anthropic-skill","format":"json","content":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/package.json)","tokens":300,"sizeBytes":187},{"name":"tsconfig.json","path":"packages/auth-atproto/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/tsconfig.json","title":"Auth-atproto Skill","category":"anthropic-skill","format":"json","content":"# Auth-atproto Skill\n\nPath: `packages/auth-atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/tsconfig.json)","tokens":300,"sizeBytes":189},{"name":"CHANGELOG.md","path":"packages/auth/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/CHANGELOG.md","title":"Auth Skill","category":"anthropic-skill","format":"markdown","content":"# Auth Skill\n\nPath: `packages/auth/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/CHANGELOG.md)","tokens":300,"sizeBytes":163},{"name":"package.json","path":"packages/auth/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/package.json","title":"Auth Skill","category":"anthropic-skill","format":"json","content":"# Auth Skill\n\nPath: `packages/auth/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/package.json)","tokens":300,"sizeBytes":163},{"name":"tsconfig.json","path":"packages/auth/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/tsconfig.json","title":"Auth Skill","category":"anthropic-skill","format":"json","content":"# Auth Skill\n\nPath: `packages/auth/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/tsconfig.json)","tokens":300,"sizeBytes":165},{"name":"CHANGELOG.md","path":"packages/blocks/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/CHANGELOG.md","title":"Blocks Skill","category":"anthropic-skill","format":"markdown","content":"# Blocks Skill\n\nPath: `packages/blocks/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/CHANGELOG.md)","tokens":300,"sizeBytes":169},{"name":"package.json","path":"packages/blocks/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/package.json","title":"Blocks Skill","category":"anthropic-skill","format":"json","content":"# Blocks Skill\n\nPath: `packages/blocks/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/package.json)","tokens":300,"sizeBytes":169},{"name":"package.json","path":"packages/blocks/playground/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/package.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/blocks/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/package.json)","tokens":300,"sizeBytes":195},{"name":"tsconfig.json","path":"packages/blocks/playground/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/tsconfig.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/blocks/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/tsconfig.json)","tokens":300,"sizeBytes":197},{"name":"tsconfig.json","path":"packages/blocks/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/tsconfig.json","title":"Blocks Skill","category":"anthropic-skill","format":"json","content":"# Blocks Skill\n\nPath: `packages/blocks/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/tsconfig.json)","tokens":300,"sizeBytes":171},{"name":"CHANGELOG.md","path":"packages/cloudflare/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/CHANGELOG.md","title":"Cloudflare Skill","category":"anthropic-skill","format":"markdown","content":"# Cloudflare Skill\n\nPath: `packages/cloudflare/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/CHANGELOG.md)","tokens":300,"sizeBytes":181},{"name":"package.json","path":"packages/cloudflare/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/package.json","title":"Cloudflare Skill","category":"anthropic-skill","format":"json","content":"# Cloudflare Skill\n\nPath: `packages/cloudflare/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/package.json)","tokens":300,"sizeBytes":181},{"name":"tsconfig.json","path":"packages/cloudflare/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/tsconfig.json","title":"Cloudflare Skill","category":"anthropic-skill","format":"json","content":"# Cloudflare Skill\n\nPath: `packages/cloudflare/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/tsconfig.json)","tokens":300,"sizeBytes":183},{"name":"CHANGELOG.md","path":"packages/contentful-to-portable-text/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/CHANGELOG.md","title":"Contentful-to-portable-text Skill","category":"anthropic-skill","format":"markdown","content":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/CHANGELOG.md)","tokens":300,"sizeBytes":232},{"name":"package.json","path":"packages/contentful-to-portable-text/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/package.json","title":"Contentful-to-portable-text Skill","category":"anthropic-skill","format":"json","content":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/package.json)","tokens":300,"sizeBytes":232},{"name":"contentful-blogpost.json","path":"packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json","title":"Fixtures Skill","category":"anthropic-skill","format":"json","content":"# Fixtures Skill\n\nPath: `packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/test/fixtures/contentful-blogpost.json)","tokens":300,"sizeBytes":265},{"name":"tsconfig.json","path":"packages/contentful-to-portable-text/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/tsconfig.json","title":"Contentful-to-portable-text Skill","category":"anthropic-skill","format":"json","content":"# Contentful-to-portable-text Skill\n\nPath: `packages/contentful-to-portable-text/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/contentful-to-portable-text/tsconfig.json)","tokens":300,"sizeBytes":234},{"name":"CHANGELOG.md","path":"packages/core/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/CHANGELOG.md","title":"Core Skill","category":"anthropic-skill","format":"markdown","content":"# Core Skill\n\nPath: `packages/core/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/CHANGELOG.md)","tokens":300,"sizeBytes":163},{"name":"package.json","path":"packages/core/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/package.json","title":"Core Skill","category":"anthropic-skill","format":"json","content":"# Core Skill\n\nPath: `packages/core/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/package.json)","tokens":300,"sizeBytes":163},{"name":"seed.json","path":"packages/core/tests/integration/fixture/.emdash/seed.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/.emdash/seed.json","title":".emdash Skill","category":"anthropic-skill","format":"json","content":"# .emdash Skill\n\nPath: `packages/core/tests/integration/fixture/.emdash/seed.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/.emdash/seed.json)","tokens":300,"sizeBytes":228},{"name":"package.json","path":"packages/core/tests/integration/fixture/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/package.json","title":"Fixture Skill","category":"anthropic-skill","format":"json","content":"# Fixture Skill\n\nPath: `packages/core/tests/integration/fixture/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/package.json)","tokens":300,"sizeBytes":218},{"name":"tsconfig.json","path":"packages/core/tests/integration/fixture/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/tsconfig.json","title":"Fixture Skill","category":"anthropic-skill","format":"json","content":"# Fixture Skill\n\nPath: `packages/core/tests/integration/fixture/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/fixture/tsconfig.json)","tokens":300,"sizeBytes":220},{"name":"tsconfig.json","path":"packages/core/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tsconfig.json","title":"Core Skill","category":"anthropic-skill","format":"json","content":"# Core Skill\n\nPath: `packages/core/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tsconfig.json)","tokens":300,"sizeBytes":165},{"name":"CHANGELOG.md","path":"packages/create-emdash/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/CHANGELOG.md","title":"Create-emdash Skill","category":"anthropic-skill","format":"markdown","content":"# Create-emdash Skill\n\nPath: `packages/create-emdash/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/CHANGELOG.md)","tokens":300,"sizeBytes":190},{"name":"package.json","path":"packages/create-emdash/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/package.json","title":"Create-emdash Skill","category":"anthropic-skill","format":"json","content":"# Create-emdash Skill\n\nPath: `packages/create-emdash/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/package.json)","tokens":300,"sizeBytes":190},{"name":"tsconfig.json","path":"packages/create-emdash/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/tsconfig.json","title":"Create-emdash Skill","category":"anthropic-skill","format":"json","content":"# Create-emdash Skill\n\nPath: `packages/create-emdash/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/create-emdash/tsconfig.json)","tokens":300,"sizeBytes":192},{"name":"CHANGELOG.md","path":"packages/gutenberg-to-portable-text/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/CHANGELOG.md","title":"Gutenberg-to-portable-text Skill","category":"anthropic-skill","format":"markdown","content":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/CHANGELOG.md)","tokens":300,"sizeBytes":229},{"name":"package.json","path":"packages/gutenberg-to-portable-text/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/package.json","title":"Gutenberg-to-portable-text Skill","category":"anthropic-skill","format":"json","content":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/package.json)","tokens":300,"sizeBytes":229},{"name":"tsconfig.json","path":"packages/gutenberg-to-portable-text/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/tsconfig.json","title":"Gutenberg-to-portable-text Skill","category":"anthropic-skill","format":"json","content":"# Gutenberg-to-portable-text Skill\n\nPath: `packages/gutenberg-to-portable-text/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/gutenberg-to-portable-text/tsconfig.json)","tokens":300,"sizeBytes":231},{"name":"package.json","path":"packages/marketplace/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/package.json","title":"Marketplace Skill","category":"anthropic-skill","format":"json","content":"# Marketplace Skill\n\nPath: `packages/marketplace/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/package.json)","tokens":300,"sizeBytes":184},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json","title":"Benign-network-usage Skill","category":"anthropic-skill","format":"json","content":"# Benign-network-usage Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/expected.json)","tokens":300,"sizeBytes":279},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json","title":"Benign-network-usage Skill","category":"anthropic-skill","format":"json","content":"# Benign-network-usage Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/benign-network-usage/manifest.json)","tokens":300,"sizeBytes":279},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json","title":"Brand-impersonation Skill","category":"anthropic-skill","format":"json","content":"# Brand-impersonation Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/expected.json)","tokens":300,"sizeBytes":276},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json","title":"Brand-impersonation Skill","category":"anthropic-skill","format":"json","content":"# Brand-impersonation Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/brand-impersonation/manifest.json)","tokens":300,"sizeBytes":276},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json","title":"Clean-seo-plugin Skill","category":"anthropic-skill","format":"json","content":"# Clean-seo-plugin Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/expected.json)","tokens":300,"sizeBytes":267},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json","title":"Clean-seo-plugin Skill","category":"anthropic-skill","format":"json","content":"# Clean-seo-plugin Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-seo-plugin/manifest.json)","tokens":300,"sizeBytes":267},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json","title":"Clean-with-images Skill","category":"anthropic-skill","format":"json","content":"# Clean-with-images Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/expected.json)","tokens":300,"sizeBytes":270},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json","title":"Clean-with-images Skill","category":"anthropic-skill","format":"json","content":"# Clean-with-images Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/clean-with-images/manifest.json)","tokens":300,"sizeBytes":270},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json","title":"Credential-harvester Skill","category":"anthropic-skill","format":"json","content":"# Credential-harvester Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/expected.json)","tokens":300,"sizeBytes":279},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json","title":"Credential-harvester Skill","category":"anthropic-skill","format":"json","content":"# Credential-harvester Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/credential-harvester/manifest.json)","tokens":300,"sizeBytes":279},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json","title":"Crypto-miner Skill","category":"anthropic-skill","format":"json","content":"# Crypto-miner Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/expected.json)","tokens":300,"sizeBytes":255},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json","title":"Crypto-miner Skill","category":"anthropic-skill","format":"json","content":"# Crypto-miner Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/crypto-miner/manifest.json)","tokens":300,"sizeBytes":255},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json","title":"Data-exfiltration Skill","category":"anthropic-skill","format":"json","content":"# Data-exfiltration Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/expected.json)","tokens":300,"sizeBytes":270},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json","title":"Data-exfiltration Skill","category":"anthropic-skill","format":"json","content":"# Data-exfiltration Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/data-exfiltration/manifest.json)","tokens":300,"sizeBytes":270},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json","title":"Dynamic-url-construction Skill","category":"anthropic-skill","format":"json","content":"# Dynamic-url-construction Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/expected.json)","tokens":300,"sizeBytes":291},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json","title":"Dynamic-url-construction Skill","category":"anthropic-skill","format":"json","content":"# Dynamic-url-construction Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/dynamic-url-construction/manifest.json)","tokens":300,"sizeBytes":291},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json","title":"Hate-imagery Skill","category":"anthropic-skill","format":"json","content":"# Hate-imagery Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/expected.json)","tokens":300,"sizeBytes":255},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json","title":"Hate-imagery Skill","category":"anthropic-skill","format":"json","content":"# Hate-imagery Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/hate-imagery/manifest.json)","tokens":300,"sizeBytes":255},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json","title":"Misleading-screenshot Skill","category":"anthropic-skill","format":"json","content":"# Misleading-screenshot Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/expected.json)","tokens":300,"sizeBytes":282},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json","title":"Misleading-screenshot Skill","category":"anthropic-skill","format":"json","content":"# Misleading-screenshot Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/misleading-screenshot/manifest.json)","tokens":300,"sizeBytes":282},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json","title":"Obfuscated-payload Skill","category":"anthropic-skill","format":"json","content":"# Obfuscated-payload Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/expected.json)","tokens":300,"sizeBytes":273},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json","title":"Obfuscated-payload Skill","category":"anthropic-skill","format":"json","content":"# Obfuscated-payload Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/obfuscated-payload/manifest.json)","tokens":300,"sizeBytes":273},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json","title":"Prompt-injection Skill","category":"anthropic-skill","format":"json","content":"# Prompt-injection Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/expected.json)","tokens":300,"sizeBytes":267},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json","title":"Prompt-injection Skill","category":"anthropic-skill","format":"json","content":"# Prompt-injection Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/prompt-injection/manifest.json)","tokens":300,"sizeBytes":267},{"name":"expected.json","path":"packages/marketplace/tests/fixtures/audit/social-engineering/expected.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/expected.json","title":"Social-engineering Skill","category":"anthropic-skill","format":"json","content":"# Social-engineering Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/social-engineering/expected.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/expected.json)","tokens":300,"sizeBytes":273},{"name":"manifest.json","path":"packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json","title":"Social-engineering Skill","category":"anthropic-skill","format":"json","content":"# Social-engineering Skill\n\nPath: `packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/fixtures/audit/social-engineering/manifest.json)","tokens":300,"sizeBytes":273},{"name":"tsconfig.json","path":"packages/marketplace/tests/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/tsconfig.json","title":"Tests Skill","category":"anthropic-skill","format":"json","content":"# Tests Skill\n\nPath: `packages/marketplace/tests/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tests/tsconfig.json)","tokens":300,"sizeBytes":192},{"name":"tsconfig.json","path":"packages/marketplace/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tsconfig.json","title":"Marketplace Skill","category":"anthropic-skill","format":"json","content":"# Marketplace Skill\n\nPath: `packages/marketplace/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/tsconfig.json)","tokens":300,"sizeBytes":186},{"name":"CHANGELOG.md","path":"packages/plugin-cli/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/CHANGELOG.md","title":"Plugin-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/CHANGELOG.md)","tokens":300,"sizeBytes":181},{"name":"package.json","path":"packages/plugin-cli/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/package.json","title":"Plugin-cli Skill","category":"anthropic-skill","format":"json","content":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/package.json)","tokens":300,"sizeBytes":181},{"name":"emdash-plugin.schema.json","path":"packages/plugin-cli/schemas/emdash-plugin.schema.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/schemas/emdash-plugin.schema.json","title":"Schemas Skill","category":"anthropic-skill","format":"json","content":"# Schemas Skill\n\nPath: `packages/plugin-cli/schemas/emdash-plugin.schema.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/schemas/emdash-plugin.schema.json)","tokens":300,"sizeBytes":220},{"name":"package.json","path":"packages/plugin-cli/tests/fixtures/bad-plugin/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/package.json","title":"Bad-plugin Skill","category":"anthropic-skill","format":"json","content":"# Bad-plugin Skill\n\nPath: `packages/plugin-cli/tests/fixtures/bad-plugin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/package.json)","tokens":300,"sizeBytes":233},{"name":"package.json","path":"packages/plugin-cli/tests/fixtures/minimal-plugin/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/package.json","title":"Minimal-plugin Skill","category":"anthropic-skill","format":"json","content":"# Minimal-plugin Skill\n\nPath: `packages/plugin-cli/tests/fixtures/minimal-plugin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/package.json)","tokens":300,"sizeBytes":245},{"name":"tsconfig.json","path":"packages/plugin-cli/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tsconfig.json","title":"Plugin-cli Skill","category":"anthropic-skill","format":"json","content":"# Plugin-cli Skill\n\nPath: `packages/plugin-cli/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tsconfig.json)","tokens":300,"sizeBytes":183},{"name":"CHANGELOG.md","path":"packages/plugin-types/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/CHANGELOG.md","title":"Plugin-types Skill","category":"anthropic-skill","format":"markdown","content":"# Plugin-types Skill\n\nPath: `packages/plugin-types/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/CHANGELOG.md)","tokens":300,"sizeBytes":187},{"name":"package.json","path":"packages/plugin-types/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/package.json","title":"Plugin-types Skill","category":"anthropic-skill","format":"json","content":"# Plugin-types Skill\n\nPath: `packages/plugin-types/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/package.json)","tokens":300,"sizeBytes":187},{"name":"tsconfig.json","path":"packages/plugin-types/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/tsconfig.json","title":"Plugin-types Skill","category":"anthropic-skill","format":"json","content":"# Plugin-types Skill\n\nPath: `packages/plugin-types/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-types/tsconfig.json)","tokens":300,"sizeBytes":189},{"name":"CHANGELOG.md","path":"packages/plugins/ai-moderation/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/CHANGELOG.md","title":"Ai-moderation Skill","category":"anthropic-skill","format":"markdown","content":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/CHANGELOG.md)","tokens":300,"sizeBytes":206},{"name":"package.json","path":"packages/plugins/ai-moderation/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/package.json","title":"Ai-moderation Skill","category":"anthropic-skill","format":"json","content":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/package.json)","tokens":300,"sizeBytes":206},{"name":"tsconfig.json","path":"packages/plugins/ai-moderation/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/tsconfig.json","title":"Ai-moderation Skill","category":"anthropic-skill","format":"json","content":"# Ai-moderation Skill\n\nPath: `packages/plugins/ai-moderation/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/ai-moderation/tsconfig.json)","tokens":300,"sizeBytes":208},{"name":"CHANGELOG.md","path":"packages/plugins/api-test/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/CHANGELOG.md","title":"Api-test Skill","category":"anthropic-skill","format":"markdown","content":"# Api-test Skill\n\nPath: `packages/plugins/api-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/CHANGELOG.md)","tokens":300,"sizeBytes":191},{"name":"package.json","path":"packages/plugins/api-test/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/package.json","title":"Api-test Skill","category":"anthropic-skill","format":"json","content":"# Api-test Skill\n\nPath: `packages/plugins/api-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/api-test/package.json)","tokens":300,"sizeBytes":191},{"name":"CHANGELOG.md","path":"packages/plugins/atproto/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/CHANGELOG.md","title":"Atproto Skill","category":"anthropic-skill","format":"markdown","content":"# Atproto Skill\n\nPath: `packages/plugins/atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/CHANGELOG.md)","tokens":300,"sizeBytes":188},{"name":"package.json","path":"packages/plugins/atproto/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/package.json","title":"Atproto Skill","category":"anthropic-skill","format":"json","content":"# Atproto Skill\n\nPath: `packages/plugins/atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/package.json)","tokens":300,"sizeBytes":188},{"name":"tsconfig.json","path":"packages/plugins/atproto/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/tsconfig.json","title":"Atproto Skill","category":"anthropic-skill","format":"json","content":"# Atproto Skill\n\nPath: `packages/plugins/atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/tsconfig.json)","tokens":300,"sizeBytes":190},{"name":"CHANGELOG.md","path":"packages/plugins/audit-log/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/CHANGELOG.md","title":"Audit-log Skill","category":"anthropic-skill","format":"markdown","content":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/CHANGELOG.md)","tokens":300,"sizeBytes":194},{"name":"package.json","path":"packages/plugins/audit-log/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/package.json","title":"Audit-log Skill","category":"anthropic-skill","format":"json","content":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/package.json)","tokens":300,"sizeBytes":194},{"name":"tsconfig.json","path":"packages/plugins/audit-log/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/tsconfig.json","title":"Audit-log Skill","category":"anthropic-skill","format":"json","content":"# Audit-log Skill\n\nPath: `packages/plugins/audit-log/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/tsconfig.json)","tokens":300,"sizeBytes":196},{"name":"CHANGELOG.md","path":"packages/plugins/color/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/CHANGELOG.md","title":"Color Skill","category":"anthropic-skill","format":"markdown","content":"# Color Skill\n\nPath: `packages/plugins/color/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/CHANGELOG.md)","tokens":300,"sizeBytes":182},{"name":"package.json","path":"packages/plugins/color/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/package.json","title":"Color Skill","category":"anthropic-skill","format":"json","content":"# Color Skill\n\nPath: `packages/plugins/color/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/package.json)","tokens":300,"sizeBytes":182},{"name":"tsconfig.json","path":"packages/plugins/color/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/tsconfig.json","title":"Color Skill","category":"anthropic-skill","format":"json","content":"# Color Skill\n\nPath: `packages/plugins/color/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/color/tsconfig.json)","tokens":300,"sizeBytes":184},{"name":"CHANGELOG.md","path":"packages/plugins/embeds/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/CHANGELOG.md","title":"Embeds Skill","category":"anthropic-skill","format":"markdown","content":"# Embeds Skill\n\nPath: `packages/plugins/embeds/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/CHANGELOG.md)","tokens":300,"sizeBytes":185},{"name":"package.json","path":"packages/plugins/embeds/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/package.json","title":"Embeds Skill","category":"anthropic-skill","format":"json","content":"# Embeds Skill\n\nPath: `packages/plugins/embeds/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/package.json)","tokens":300,"sizeBytes":185},{"name":"tsconfig.json","path":"packages/plugins/embeds/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/tsconfig.json","title":"Embeds Skill","category":"anthropic-skill","format":"json","content":"# Embeds Skill\n\nPath: `packages/plugins/embeds/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/embeds/tsconfig.json)","tokens":300,"sizeBytes":187},{"name":"CHANGELOG.md","path":"packages/plugins/field-kit/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/CHANGELOG.md","title":"Field-kit Skill","category":"anthropic-skill","format":"markdown","content":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/CHANGELOG.md)","tokens":300,"sizeBytes":194},{"name":"package.json","path":"packages/plugins/field-kit/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/package.json","title":"Field-kit Skill","category":"anthropic-skill","format":"json","content":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/package.json)","tokens":300,"sizeBytes":194},{"name":"tsconfig.json","path":"packages/plugins/field-kit/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/tsconfig.json","title":"Field-kit Skill","category":"anthropic-skill","format":"json","content":"# Field-kit Skill\n\nPath: `packages/plugins/field-kit/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/field-kit/tsconfig.json)","tokens":300,"sizeBytes":196},{"name":"CHANGELOG.md","path":"packages/plugins/forms/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/CHANGELOG.md","title":"Forms Skill","category":"anthropic-skill","format":"markdown","content":"# Forms Skill\n\nPath: `packages/plugins/forms/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/CHANGELOG.md)","tokens":300,"sizeBytes":182},{"name":"package.json","path":"packages/plugins/forms/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/package.json","title":"Forms Skill","category":"anthropic-skill","format":"json","content":"# Forms Skill\n\nPath: `packages/plugins/forms/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/package.json)","tokens":300,"sizeBytes":182},{"name":"tsconfig.json","path":"packages/plugins/forms/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/tsconfig.json","title":"Forms Skill","category":"anthropic-skill","format":"json","content":"# Forms Skill\n\nPath: `packages/plugins/forms/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/forms/tsconfig.json)","tokens":300,"sizeBytes":184},{"name":"CHANGELOG.md","path":"packages/plugins/marketplace-test/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/CHANGELOG.md","title":"Marketplace-test Skill","category":"anthropic-skill","format":"markdown","content":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/CHANGELOG.md)","tokens":300,"sizeBytes":215},{"name":"package.json","path":"packages/plugins/marketplace-test/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/package.json","title":"Marketplace-test Skill","category":"anthropic-skill","format":"json","content":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/package.json)","tokens":300,"sizeBytes":215},{"name":"tsconfig.json","path":"packages/plugins/marketplace-test/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/tsconfig.json","title":"Marketplace-test Skill","category":"anthropic-skill","format":"json","content":"# Marketplace-test Skill\n\nPath: `packages/plugins/marketplace-test/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/tsconfig.json)","tokens":300,"sizeBytes":217},{"name":"CHANGELOG.md","path":"packages/plugins/mcp-smoke/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/CHANGELOG.md","title":"Mcp-smoke Skill","category":"anthropic-skill","format":"markdown","content":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/CHANGELOG.md)","tokens":300,"sizeBytes":194},{"name":"package.json","path":"packages/plugins/mcp-smoke/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/package.json","title":"Mcp-smoke Skill","category":"anthropic-skill","format":"json","content":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/package.json)","tokens":300,"sizeBytes":194},{"name":"tsconfig.json","path":"packages/plugins/mcp-smoke/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/tsconfig.json","title":"Mcp-smoke Skill","category":"anthropic-skill","format":"json","content":"# Mcp-smoke Skill\n\nPath: `packages/plugins/mcp-smoke/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/mcp-smoke/tsconfig.json)","tokens":300,"sizeBytes":196},{"name":"CHANGELOG.md","path":"packages/plugins/sandboxed-test/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/CHANGELOG.md","title":"Sandboxed-test Skill","category":"anthropic-skill","format":"markdown","content":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/CHANGELOG.md)","tokens":300,"sizeBytes":209},{"name":"package.json","path":"packages/plugins/sandboxed-test/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/package.json","title":"Sandboxed-test Skill","category":"anthropic-skill","format":"json","content":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/package.json)","tokens":300,"sizeBytes":209},{"name":"tsconfig.json","path":"packages/plugins/sandboxed-test/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/tsconfig.json","title":"Sandboxed-test Skill","category":"anthropic-skill","format":"json","content":"# Sandboxed-test Skill\n\nPath: `packages/plugins/sandboxed-test/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/tsconfig.json)","tokens":300,"sizeBytes":211},{"name":"tsconfig.base.json","path":"packages/plugins/tsconfig.base.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/tsconfig.base.json","title":"Plugins Skill","category":"anthropic-skill","format":"json","content":"# Plugins Skill\n\nPath: `packages/plugins/tsconfig.base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/tsconfig.base.json)","tokens":300,"sizeBytes":184},{"name":"CHANGELOG.md","path":"packages/plugins/webhook-notifier/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/CHANGELOG.md","title":"Webhook-notifier Skill","category":"anthropic-skill","format":"markdown","content":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/CHANGELOG.md)","tokens":300,"sizeBytes":215},{"name":"package.json","path":"packages/plugins/webhook-notifier/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/package.json","title":"Webhook-notifier Skill","category":"anthropic-skill","format":"json","content":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/package.json)","tokens":300,"sizeBytes":215},{"name":"tsconfig.json","path":"packages/plugins/webhook-notifier/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/tsconfig.json","title":"Webhook-notifier Skill","category":"anthropic-skill","format":"json","content":"# Webhook-notifier Skill\n\nPath: `packages/plugins/webhook-notifier/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/tsconfig.json)","tokens":300,"sizeBytes":217},{"name":"CHANGELOG.md","path":"packages/registry-client/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/CHANGELOG.md","title":"Registry-client Skill","category":"anthropic-skill","format":"markdown","content":"# Registry-client Skill\n\nPath: `packages/registry-client/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/CHANGELOG.md)","tokens":300,"sizeBytes":196},{"name":"package.json","path":"packages/registry-client/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/package.json","title":"Registry-client Skill","category":"anthropic-skill","format":"json","content":"# Registry-client Skill\n\nPath: `packages/registry-client/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/package.json)","tokens":300,"sizeBytes":196},{"name":"tsconfig.json","path":"packages/registry-client/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/tsconfig.json","title":"Registry-client Skill","category":"anthropic-skill","format":"json","content":"# Registry-client Skill\n\nPath: `packages/registry-client/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/tsconfig.json)","tokens":300,"sizeBytes":198},{"name":"CHANGELOG.md","path":"packages/registry-lexicons/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/CHANGELOG.md","title":"Registry-lexicons Skill","category":"anthropic-skill","format":"markdown","content":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/CHANGELOG.md)","tokens":300,"sizeBytes":202},{"name":"defs.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json","title":"Aggregator Skill","category":"anthropic-skill","format":"json","content":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/defs.json)","tokens":300,"sizeBytes":283},{"name":"getLatestRelease.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json","title":"Aggregator Skill","category":"anthropic-skill","format":"json","content":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getLatestRelease.json)","tokens":300,"sizeBytes":307},{"name":"getPackage.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json","title":"Aggregator Skill","category":"anthropic-skill","format":"json","content":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/getPackage.json)","tokens":300,"sizeBytes":295},{"name":"listReleases.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json","title":"Aggregator Skill","category":"anthropic-skill","format":"json","content":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/listReleases.json)","tokens":300,"sizeBytes":299},{"name":"resolvePackage.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json","title":"Aggregator Skill","category":"anthropic-skill","format":"json","content":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/resolvePackage.json)","tokens":300,"sizeBytes":303},{"name":"searchPackages.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json","title":"Aggregator Skill","category":"anthropic-skill","format":"json","content":"# Aggregator Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/aggregator/searchPackages.json)","tokens":300,"sizeBytes":303},{"name":"profile.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json","title":"Package Skill","category":"anthropic-skill","format":"json","content":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profile.json)","tokens":300,"sizeBytes":280},{"name":"profileExtension.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json","title":"Package Skill","category":"anthropic-skill","format":"json","content":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/profileExtension.json)","tokens":300,"sizeBytes":298},{"name":"release.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json","title":"Package Skill","category":"anthropic-skill","format":"json","content":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/release.json)","tokens":300,"sizeBytes":280},{"name":"releaseExtension.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json","title":"Package Skill","category":"anthropic-skill","format":"json","content":"# Package Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/package/releaseExtension.json)","tokens":300,"sizeBytes":298},{"name":"profile.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json","title":"Publisher Skill","category":"anthropic-skill","format":"json","content":"# Publisher Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/profile.json)","tokens":300,"sizeBytes":286},{"name":"verification.json","path":"packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json","title":"Publisher Skill","category":"anthropic-skill","format":"json","content":"# Publisher Skill\n\nPath: `packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/lexicons/com/emdashcms/experimental/publisher/verification.json)","tokens":300,"sizeBytes":296},{"name":"package.json","path":"packages/registry-lexicons/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/package.json","title":"Registry-lexicons Skill","category":"anthropic-skill","format":"json","content":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/package.json)","tokens":300,"sizeBytes":202},{"name":"tsconfig.json","path":"packages/registry-lexicons/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/tsconfig.json","title":"Registry-lexicons Skill","category":"anthropic-skill","format":"json","content":"# Registry-lexicons Skill\n\nPath: `packages/registry-lexicons/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/tsconfig.json)","tokens":300,"sizeBytes":204},{"name":"CHANGELOG.md","path":"packages/registry-verification/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/CHANGELOG.md","title":"Registry-verification Skill","category":"anthropic-skill","format":"markdown","content":"# Registry-verification Skill\n\nPath: `packages/registry-verification/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/CHANGELOG.md)","tokens":300,"sizeBytes":214},{"name":"sigstore-core-4.0.1-slsa.bundle.json","path":"packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json","title":"Provenance Skill","category":"anthropic-skill","format":"json","content":"# Provenance Skill\n\nPath: `packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/sigstore-core-4.0.1-slsa.bundle.json)","tokens":300,"sizeBytes":291},{"name":"profile.json","path":"packages/registry-verification/fixtures/records/profile.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/profile.json","title":"Records Skill","category":"anthropic-skill","format":"json","content":"# Records Skill\n\nPath: `packages/registry-verification/fixtures/records/profile.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/profile.json)","tokens":300,"sizeBytes":234},{"name":"release.json","path":"packages/registry-verification/fixtures/records/release.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/release.json","title":"Records Skill","category":"anthropic-skill","format":"json","content":"# Records Skill\n\nPath: `packages/registry-verification/fixtures/records/release.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/records/release.json)","tokens":300,"sizeBytes":234},{"name":"package.json","path":"packages/registry-verification/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/package.json","title":"Registry-verification Skill","category":"anthropic-skill","format":"json","content":"# Registry-verification Skill\n\nPath: `packages/registry-verification/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/package.json)","tokens":300,"sizeBytes":214},{"name":"sigstore-public-good-v1.json","path":"packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json","title":"Trust-roots Skill","category":"anthropic-skill","format":"json","content":"# Trust-roots Skill\n\nPath: `packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/src/trust-roots/sigstore-public-good-v1.json)","tokens":300,"sizeBytes":268},{"name":"tsconfig.json","path":"packages/registry-verification/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/tsconfig.json","title":"Registry-verification Skill","category":"anthropic-skill","format":"json","content":"# Registry-verification Skill\n\nPath: `packages/registry-verification/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/tsconfig.json)","tokens":300,"sizeBytes":216},{"name":"CHANGELOG.md","path":"packages/workerd/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/CHANGELOG.md","title":"Workerd Skill","category":"anthropic-skill","format":"markdown","content":"# Workerd Skill\n\nPath: `packages/workerd/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/CHANGELOG.md)","tokens":300,"sizeBytes":172},{"name":"package.json","path":"packages/workerd/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/package.json","title":"Workerd Skill","category":"anthropic-skill","format":"json","content":"# Workerd Skill\n\nPath: `packages/workerd/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/package.json)","tokens":300,"sizeBytes":172},{"name":"tsconfig.json","path":"packages/workerd/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/tsconfig.json","title":"Workerd Skill","category":"anthropic-skill","format":"json","content":"# Workerd Skill\n\nPath: `packages/workerd/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/workerd/tsconfig.json)","tokens":300,"sizeBytes":174},{"name":"CHANGELOG.md","path":"packages/x402/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/CHANGELOG.md","title":"X402 Skill","category":"anthropic-skill","format":"markdown","content":"# X402 Skill\n\nPath: `packages/x402/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/CHANGELOG.md)","tokens":300,"sizeBytes":163},{"name":"package.json","path":"packages/x402/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/package.json","title":"X402 Skill","category":"anthropic-skill","format":"json","content":"# X402 Skill\n\nPath: `packages/x402/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/package.json)","tokens":300,"sizeBytes":163},{"name":"tsconfig.json","path":"packages/x402/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/tsconfig.json","title":"X402 Skill","category":"anthropic-skill","format":"json","content":"# X402 Skill\n\nPath: `packages/x402/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/x402/tsconfig.json)","tokens":300,"sizeBytes":165},{"name":"SKILL.md","path":"skills/adversarial-reviewer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/adversarial-reviewer/SKILL.md","title":"adversarial-reviewer","category":"anthropic-skill","format":"markdown","content":"---\nname: adversarial-reviewer\ndescription: Stress-test a code change for concrete correctness defects, unsafe assumptions, and failure modes. Use when the user explicitly asks for an adversarial review, a deep bug hunt, or to tear a change apart, or to check your own change before submitting it. Do not use for ordinary review, style feedback, or general improvement suggestions.\n---\n\n# Adversarial code review\n\nLook for defects that survive an ordinary review. Treat the implementation's assumptions as claims to verify, while keeping every finding tied to evidence.\n\n## Establish the review boundary\n\n1. Identify the exact diff, branch, pull request head, or files under review.\n2. Read the surrounding code needed to understand data flow and invariants.\n3. Check repository instructions and the tests that define expected behavior.\n4. Compare the change with its stated purpose. Trace the scenario and configuration from the issue, discussion, or accepted design it addresses through the real code, and treat each claim in the description and changeset as something to verify.\n5. Separate defects introduced by the reviewed change from unrelated observations. Report an out-of-scope issue only when it materially affects the change's safety.\n\nDo not modify code, post a review, or expand the review target unless the user asks.\n\n## Hunt for failures\n\nChoose the checks that fit the change instead of mechanically applying every category.\n\n- **Logic and boundaries:** empty and single-item inputs, pagination edges, invalid state transitions, locale handling, Unicode, maximum values, and repeat invocation.\n- **Errors and cleanup:** swallowed failures, partial cleanup, misleading status codes, exposed internals, missing timeouts, and unbounded retries.\n- **State and concurrency:** stale reads, lost updates, time-of-check/time-of-use races, duplicate delivery, non-idempotent retries, leaked listeners, and shared mutable state.\n- **Authorization and trust:** missing permission checks, confused caller identity, CSRF, unsafe redirects, injection, path traversal, secret exposure, and trust transferred across a boundary without validation.\n- **Data integrity:** partial writes, migration restart behavior, dialect differences, uniqueness assumptions, destructive cascades, and old/new version compatibility.\n- **Resources and performance:** unbounded collections, repeated round trips, retained resources, logged-out hot-path regressions, and work that scales with attacker-controlled input.\n- **Scope:** the same defect left in place elsewhere, such as sibling call sites, other storage backends or render paths, and data already stored in the old shape.\n- **Interfaces:** exported types, generated schemas, generated types, and documentation that no longer match the new behavior.\n\nTrace concrete inputs and event sequences through the real implementation. Run focused tests or a minimal reproduction when that is the fastest way to establish a claim. Do not infer a bug solely from an unfamiliar pattern.\n\n## Findings standard\n\nA finding needs all of the following:\n\n- the violated behavior or invariant;\n- the exact code location;\n- a concrete trigger or execution path;\n- the observable consequence;\n- a proportionate fix direction.\n\nUse calibrated language. State confirmed defects directly. Label an unresolved concern as uncertain and explain what evidence is missing. Do not turn naming, formatting, optional hardening, or personal design preference into a correctness finding.\n\nPrioritize by impact and likelihood:\n\n- **Critical:** exploitable security issue, unrecoverable data loss, or broad production outage.\n- **High:** likely user-visible wrong behavior, authorization bypass, or recoverable data corruption.\n- **Medium:** real failure under a plausible edge case, race, or sustained load.\n- **Low:** limited correctness issue with small impact. Omit purely cosmetic observations.\n\n## Report\n\nLead with findings, ordered by severity. For each finding, include a short title, file and line, the failing scenario, impact, and fix direction. Keep line ranges tight.\n\nIf no actionable defects are supported by the evidence, say so. Mention meaningful residual risks or untested boundaries, but do not manufacture findings to make the review appear thorough.\n","frontmatter":{"name":"adversarial-reviewer","description":"Stress-test a code change for concrete correctness defects, unsafe assumptions, and failure modes. Use when the user explicitly asks for an adversarial review, a deep bug hunt, or to tear a change apart, or to check your own change before submitting it. Do not use for ordinary review, style feedback, or general improvement suggestions."},"isInternal":false,"tokens":809,"sizeBytes":4279},{"name":"SKILL.md","path":"skills/agent-browser/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/agent-browser/SKILL.md","title":"agent-browser","category":"anthropic-skill","format":"markdown","content":"---\nname: agent-browser\ndescription: Use the agent-browser CLI to exercise web interfaces, inspect rendered accessibility state, verify interactions, and capture screenshots. Use for browser-based UI testing and evidence collection. Do not use as a substitute for deterministic Playwright coverage when an automated regression test is the requested deliverable.\n---\n\n# Test interfaces with agent-browser\n\nUse the installed `agent-browser` CLI for rendered, user-facing verification. Load its version-matched instructions before relying on command syntax:\n\n```bash\nagent-browser skills get core --full\n```\n\nUse a specialized bundled guide when the target requires one. `agent-browser skills list` shows the available guides.\n\n## Verification loop\n\n1. Start or identify the target application and record the exact URL and viewport.\n2. Open the page in a named session.\n3. Take an accessibility snapshot and identify controls by role, label, or snapshot reference.\n4. Perform the user action.\n5. Wait for the resulting state, then take a fresh snapshot. References can become stale after navigation or a substantial DOM update.\n6. Verify the observable result, console errors, and relevant network behavior.\n7. Capture screenshots when visual evidence helps establish the result.\n\nFor EmDash admin testing, authenticate through the development bypass rather than attempting to automate passkeys:\n\n```bash\nagent-browser open 'http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin'\n```\n\nUse `auth/dev-bypass` instead when setup is already complete.\n\n## Interaction guidance\n\n- Prefer role and label locators when they express the user-facing control clearly. Use snapshot references for efficient exploration.\n- Re-snapshot after a dialog opens, a route changes, or content is replaced.\n- Wait for a selector or visible state instead of adding a fixed delay unless timing itself is under test.\n- Use a named session for flows that depend on cookies or storage. Close sessions that are no longer needed.\n- Check `agent-browser console` and `agent-browser errors` when the UI behaves unexpectedly.\n- Use `agent-browser network requests` when the result depends on a request or response boundary.\n\n## Evidence\n\nRecord the path tested, inputs, viewport, expected result, actual result, and any console or request failures. For UI changes, capture before-and-after screenshots of every affected screen.\n\nSave screenshots inside the task workspace with descriptive filenames. Inspect the saved image before reporting success; a completed screenshot command does not prove that the intended state was visible.\n\nBrowser exploration does not replace a regression test when stable automated coverage can protect the behavior. Convert a confirmed defect into the narrowest meaningful automated test when the task includes implementation.\n","frontmatter":{"name":"agent-browser","description":"Use the agent-browser CLI to exercise web interfaces, inspect rendered accessibility state, verify interactions, and capture screenshots. Use for browser-based UI testing and evidence collection. Do not use as a substitute for deterministic Playwright coverage when an automated regression test is the requested deliverable."},"isInternal":false,"tokens":536,"sizeBytes":2843},{"name":"configuration.md","path":"skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":227},{"name":"querying-and-rendering.md","path":"skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":245},{"name":"schema-and-seed.md","path":"skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":231},{"name":"site-features.md","path":"skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":227},{"name":"SKILL.md","path":"skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"---\nname: building-emdash-site\ndescription: Build the site-facing parts of an EmDash CMS project on Astro, including schema and seeds, content queries, Portable Text rendering, menus, taxonomies, widgets, and deployment configuration. Use for EmDash site and theme work; use creating-plugins instead when the task is plugin authoring alone.\n---\n\n# Building an EmDash Site\n\nEmDash is a CMS built on Astro. It stores schema in the database (not in code), serves content via live content collections, and provides a full admin UI at `/_emdash/admin`. Sites are standard Astro projects with the `emdash` integration.\n\n## Common Gotchas\n\nThese are the things that silently break sites. Know them before you start.\n\n1. **Image fields are objects, not strings.** `post.data.featured_image` is `{ id, src, alt }`. Writing `<img src={post.data.featured_image} />` renders `[object Object]`. Use `<Image image={post.data.featured_image} />` from `\"emdash/ui\"`.\n\n2. **`entry.id` vs `entry.data.id` are different things.** `entry.id` is the slug, prefixed with the locale (`en/my-post`) for locales whose URLs are prefixed (use in URLs; `entry.data.slug` is the bare slug). `entry.data.id` is the database ULID (use for `getEntryTerms`, `Comments`, and other API calls that need the real ID). Mixing them up causes silent empty results.\n\n3. **Taxonomy names must match the seed exactly.** If your seed defines `\"name\": \"category\"`, you must query `getTerm(\"category\", slug)` -- not `\"categories\"`. Wrong name = empty results, no error.\n\n4. **Register cache hints when Astro's cache is enabled.** Content queries return a `cacheHint`; pass it to `Astro.cache.set(cacheHint)`. Use `getSiteSettingsWithCacheHint()`, `getMenuWithCacheHint()`, `getTaxonomyTermsWithCacheHint()`, and `getWidgetAreaWithCacheHint()` when a cached route renders those values.\n\n5. **No `getStaticPaths` for CMS content.** EmDash content is dynamic. Pages must be server-rendered (`output: \"server\"` in `astro.config.mjs`).\n\n## File Structure\n\nEvery EmDash site has these key files:\n\n```\nmy-site/\n├── astro.config.mjs          # Astro config with emdash() integration\n├── src/\n│   ├── live.config.ts         # EmDash loader registration (boilerplate)\n│   ├── pages/                 # Astro pages (all server-rendered)\n│   ├── layouts/               # Layout components\n│   └── components/            # Reusable components\n├── seed/\n│   └── seed.json              # Schema + demo content\n├── emdash-env.d.ts          # Generated types (from `emdash types`)\n└── package.json\n```\n\n## Workflow\n\n### 1. Configure the project\n\nRead **[references/configuration.md](references/configuration.md)** for `astro.config.mjs`, `live.config.ts`, deployment targets (Node vs Cloudflare), and type generation.\n\n### 2. Design the schema\n\nRead **[references/schema-and-seed.md](references/schema-and-seed.md)** for collection definitions, field types, taxonomies, menus, widget areas, sections, bylines, and the complete seed file format.\n\n### 3. Build the pages\n\nRead **[references/querying-and-rendering.md](references/querying-and-rendering.md)** for content queries, Portable Text rendering, the Image component, visual editing attributes, caching, and common page patterns (list, detail, taxonomy archive, RSS, search, 404).\n\n### 4. Wire up site features\n\nRead **[references/site-features.md](references/site-features.md)** for site settings, navigation menus, taxonomies, widget areas, search, SEO meta, comments, and page contributions.\n\n### 5. Create the seed file\n\nWrite `seed/seed.json` with collections, fields, taxonomies, menus, widgets, and sample content.\n\n### 6. Run and verify\n\n```bash\npnpm dev                # Start the Astro dev server\n```\n\nThe runtime runs pending migrations on the first request and, before setup is completed, applies the seed's schema and structure once. Sample content needs an explicit step; see [Applying Seeds](references/schema-and-seed.md#applying-seeds). The Astro integration generates `emdash-env.d.ts` when the server starts. The admin UI is at `http://localhost:4321/_emdash/admin`.\n\n## Quick API Cheat Sheet\n\n```typescript\n// Content (entries have .data.byline and .data.bylines eagerly loaded)\nimport { getEmDashCollection, getEmDashEntry } from \"emdash\";\nconst { entries, nextCursor, cacheHint } = await getEmDashCollection(\"posts\", {\n\tlimit: 10,\n\tcursor,\n\torderBy: { published_at: \"desc\" },\n});\nconst { entry: post, cacheHint: entryCacheHint } = await getEmDashEntry(\"posts\", slug);\n\n// Site features\nimport {\n\tgetSiteSettings,\n\tgetSiteSettingsWithCacheHint,\n\tgetMenu,\n\tgetMenuWithCacheHint,\n\tgetTaxonomyTerms,\n\tgetTaxonomyTermsWithCacheHint,\n\tgetTerm,\n\tgetEntryTerms,\n\tgetEntriesByTerm,\n\tgetWidgetArea,\n\tgetWidgetAreaWithCacheHint,\n\tsearch,\n\tgetSection,\n\tgetSeoMeta,\n} from \"emdash\";\n\n// Bylines (standalone queries -- usually not needed since entries have bylines attached)\nimport { getByline, getBylineBySlug } from \"emdash\";\n\n// UI components\nimport {\n\tPortableText,\n\tBlocks,\n\tdefineBlockComponents,\n\tImage,\n\tWidgetArea,\n\tEmDashHead,\n\tEmDashBodyStart,\n\tEmDashBodyEnd,\n} from \"emdash/ui\";\nimport { Comments, CommentForm } from \"emdash/ui/comments\";\nimport LiveSearch from \"emdash/ui/search\";\n\n// Page context (for plugin contributions)\nimport { createPublicPageContext } from \"emdash/page\";\n```\n\n## Plugins\n\nEmDash supports plugins for extending the CMS with hooks, storage, settings, admin UI, API routes, and custom Portable Text block types. Consider a plugin when you need to:\n\n- React to content lifecycle events (e.g., send a notification on publish, sync to an external service)\n- Add custom admin pages or dashboard widgets\n- Add reusable behavior or custom Portable Text types (e.g., embedded maps or code playgrounds)\n- Provide a reusable service (e.g., analytics, forms, comments via a third-party provider)\n\nPlugins are registered in `astro.config.mjs`:\n\n```javascript\nemdash({\n\tdatabase: sqlite({ url: \"file:./data.db\" }),\n\tstorage: local({ directory: \"./uploads\", baseUrl: \"/_emdash/api/media/file\" }),\n\tplugins: [myPlugin()],\n}),\n```\n\n**To build a plugin, load the `creating-plugins` skill** (in `.agents/skills/creating-plugins/`). It covers plugin anatomy, hooks, storage, admin UI, API routes, Portable Text blocks, capabilities, and the full `definePlugin()` API.\n\n## Reference Documents\n\n| File                                                                         | Contents                                                            |\n| ---------------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| [references/configuration.md](references/configuration.md)                   | Project setup, astro.config, live.config, deployment, types         |\n| [references/schema-and-seed.md](references/schema-and-seed.md)               | Collections, fields, taxonomies, menus, widgets, seed format        |\n| [references/querying-and-rendering.md](references/querying-and-rendering.md) | Content APIs, PortableText, Image, caching, page patterns           |\n| [references/site-features.md](references/site-features.md)                   | Settings, menus, widgets, search, SEO, comments, page contributions |\n","frontmatter":{"name":"building-emdash-site","description":"Build the site-facing parts of an EmDash CMS project on Astro, including schema and seeds, content queries, Portable Text rendering, menus, taxonomies, widgets, and deployment configuration. Use for EmDash site and theme work; use creating-plugins instead when the task is plugin authoring alone."},"isInternal":false,"tokens":1652,"sizeBytes":7285},{"name":"admin-ui.md","path":"skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":209},{"name":"api-routes.md","path":"skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":213},{"name":"block-kit.md","path":"skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":211},{"name":"hooks.md","path":"skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":203},{"name":"portable-text-blocks.md","path":"skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":233},{"name":"publishing.md","path":"skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":213},{"name":"storage.md","path":"skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":207},{"name":"SKILL.md","path":"skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"---\nname: creating-plugins\ndescription: Create EmDash CMS plugins with sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions. Use when scaffolding or implementing an EmDash plugin.\n---\n\n# Creating EmDash plugins\n\nBuild against the API that reaches the intended execution mode. Source types and production-boundary tests take precedence over examples in this skill when they disagree.\n\n## Choose a format\n\n| Format    | Runtime source                                      | Admin UI                                                  | Distribution                 |\n| --------- | --------------------------------------------------- | --------------------------------------------------------- | ---------------------------- |\n| Sandboxed | `src/plugin.ts` default-exports a `SandboxedPlugin` | Block Kit pages, widgets, saved-entry panels, and actions | Plugin CLI and registry      |\n| Native    | `definePlugin()` / `createPlugin()`                 | React, Block Kit, and Astro components                    | Trusted site dependency only |\n\nUse a sandboxed plugin unless the feature needs host-process access, React admin code, Astro rendering components, raw page fragments, or custom Portable Text block definitions. Native plugins run with the site's authority and cannot be installed from the registry.\n\n## Scaffold a sandboxed plugin\n\n```sh\npnpm dlx @emdash-cms/plugin-cli init my-plugin\ncd my-plugin\npnpm install\npnpm run test\n```\n\nThe manifest is the identity and trust contract. Runtime hooks and routes live in `src/plugin.ts`; the CLI generates descriptors, manifests, and bundles. Do not create a separate descriptor factory or `sandbox-entry.ts`.\n\n```typescript title=\"src/plugin.ts\"\nimport type { SandboxedPlugin } from \"emdash/plugin\";\n\nconst plugin: SandboxedPlugin = {\n\thooks: {\n\t\t\"content:afterSave\": async (event, ctx) => {\n\t\t\tctx.log.info(\"Content saved\", { id: event.content.id });\n\t\t},\n\t},\n};\n\nexport default plugin;\n```\n\nImport authoring types from `emdash/plugin` with `import type`. The CLI bundles value imports such as `pluginRoute()` and `pluginResponse()` from `emdash/plugin` and `portableTextToMarkdown()` from `emdash/client`. Sandboxed runtime code can use Web APIs but not Node.js built-ins.\n\n## Declare access\n\nDeclare every host API in `emdash-plugin.jsonc`. Adding authority, exposing a route publicly, or adding MCP tools requires renewed administrator approval.\n\n| Capability                       | Grants                                                                     |\n| -------------------------------- | -------------------------------------------------------------------------- |\n| `schema:read`                    | Public collection and field definitions                                    |\n| `admin.editor-draft:read`        | Selected unsaved field values after an explicit editor interaction         |\n| `admin.editor-draft:patch`       | Host-validated unsaved field changes proposed for editor review            |\n| `content:read`                   | Content identity, translations, and published public URLs                  |\n| `content:revisions:read`         | Retained revision data; implies content read                               |\n| `content:write`                  | Create, update, delete, and translation creation; implies read             |\n| `content:publish`                | Revision-fenced publish, unpublish, schedule, and unschedule; implies read |\n| `content:restore`                | Revision-fenced reads and restoration of trashed content                   |\n| `hooks.content-policy:register`  | Pre-publish, pre-schedule, and pre-unpublish policy hooks                  |\n| `taxonomies:read`                | Taxonomy definitions, terms, and entry assignments                         |\n| `taxonomies:write`               | Term creation and assignment deltas; implies read                          |\n| `bylines:read`                   | Public byline profiles and single or batched entry credits                 |\n| `redirects:read`                 | Versioned redirect inspection                                              |\n| `redirects:write`                | Versioned redirect creation, update, and deletion; implies read            |\n| `comments:read`                  | Stored non-trashed comments and their personal data                        |\n| `comments:moderate`              | Expected-status moderation; implies read                                   |\n| `media:read`                     | Ready-media metadata and authenticated asset URLs                          |\n| `media:bytes:read`               | Bounded media bytes and content hashes                                     |\n| `media:metadata:write`           | Alt text, caption, and focal-point updates                                 |\n| `media:write`                    | Upload and delete; implies media read                                      |\n| `network:request`                | `ctx.http.fetch()` restricted to `allowedHosts`                            |\n| `network:request:unrestricted`   | `ctx.http.fetch()` without a host list                                     |\n| `users:read`                     | User directory lookup; also required by comment hooks                      |\n| `email:send`                     | Email delivery when a transport is configured                              |\n| `hooks.email-transport:register` | Exclusive `email:deliver` hook                                             |\n| `hooks.email-events:register`    | Email before/after hooks                                                   |\n| `hooks.page-fragments:register`  | Trusted-only page fragments; excluded from sandbox registration            |\n\nSettings, KV, declared storage, logging, and cron scheduling are plugin-scoped and need no capability. Use `ctx.settings` for user configuration, `ctx.kv` for internal key-value state, and declared `ctx.storage.<collection>` for queryable records.\n\nRead the focused reference for the API being used:\n\n- [Content, schema, translations, and publication](./references/content.md)\n- [Taxonomies and redirects](./references/taxonomies-and-redirects.md)\n- [Comments](./references/comments.md)\n- [Media](./references/media.md)\n- [Storage, KV, and encrypted settings](./references/storage.md)\n\n## Routes, HTTP, and MCP\n\nRoutes are private by default and require authentication, their declared RBAC permission, token scope or CSRF as appropriate. Public routes are internet-facing and require explicit install consent.\n\nUndeclared routes keep the legacy JSON/query envelope. Declare methods and body modes for host-enforced parsing. Use `pluginResponse()` only on a route that declares a raw response. Outbound `ctx.http.fetch()` responses and declared route bodies are buffered and bounded.\n\nMCP tools reference private JSON routes with explicit permissions and Zod input schemas. Mark difficult-to-reverse operations `destructive: true`. Read [API routes and MCP tools](./references/api-routes.md).\n\n## Hooks\n\nSandboxed hooks enter the same priority, dependency, timeout, error-policy, enablement, exclusive-provider, and capability pipeline as trusted hooks. Publication policy hooks identify action origin and actor without granting publication authority. Comment moderation invoked through `ctx.comments` reports plugin origin and runs the normal after-hook once. Read [Hooks](./references/hooks.md).\n\n## Declarative admin UI\n\nSandboxed pages and widgets return validated Block Kit. Structured links use host-resolved targets; `routeCtx.ui` carries host-attested locale, direction, and surface. External images require matching network authority.\n\nSaved-entry panels and actions point to private routes. Ordinary panel load receives only host-reloaded saved identity and version. Add `admin.editor-draft:read` or `admin.editor-draft:patch` plus extension-level collection and field selectors when an explicit interaction must receive selected unsaved fields or propose an atomic whole-field patch. Patch does not imply read. The host previews accepted patches, marks the form dirty, and never saves them automatically. Read saved content through capability-gated `ctx.content`.\n\nDeclarative field widgets currently compose supported Block Kit elements into a JSON value. Custom Portable Text blocks and Astro render components remain native-only. Read [Admin UI](./references/admin-ui.md), [Block Kit](./references/block-kit.md), and [Portable Text blocks](./references/portable-text-blocks.md).\n\n## Runner parity\n\nCloudflare Worker Loader and Node/workerd execute the same bundle behind a plugin-scoped bridge. Both return buffered WHATWG responses from `ctx.http.fetch()` with binary bytes preserved and decoded request/response bodies limited to 8 MiB. Write against exported types, not extra methods found in one wrapper.\n\nRead [Sandbox boundaries](./references/sandbox-boundaries.md) before designing around an API not listed here.\n\n## Test the production boundary\n\nUse `createPluginTestHost()` for fast hook, route, manifest, capability, KV, settings, and storage transport tests. Use `createPluginRuntimeTestHost()` when the test must exercise real content actions, plugin activation, media, comments, redirects, scheduling, restart, authorization, CSRF, caching, Block Kit validation, or saved-entry extensions.\n\nRuntime fixtures establish state without firing hooks. Runtime actions call production boundaries; inspectors read observable state. Queue outbound HTTP responses with `host.http.respond()` and inspect requests with `host.http.requests()`. Dispose every host after use. Add Node/workerd parity only for runner-sensitive behavior.\n\n## References\n\n- [Content, schema, translations, and publication](./references/content.md)\n- [Taxonomies and redirects](./references/taxonomies-and-redirects.md)\n- [Comments](./references/comments.md)\n- [Media](./references/media.md)\n- [Hooks](./references/hooks.md)\n- [Storage, KV, and encrypted settings](./references/storage.md)\n- [Admin UI and field widgets](./references/admin-ui.md)\n- [API routes and MCP tools](./references/api-routes.md)\n- [Block Kit](./references/block-kit.md)\n- [Portable Text blocks](./references/portable-text-blocks.md)\n- [Sandbox boundaries](./references/sandbox-boundaries.md)\n- [Publishing](./references/publishing.md)\n","frontmatter":{"name":"creating-plugins","description":"Create EmDash CMS plugins with sandboxed hooks, routes, storage, content and media APIs, MCP tools, and declarative admin UI, or native React and Astro extensions. Use when scaffolding or implementing an EmDash plugin."},"isInternal":false,"tokens":1987,"sizeBytes":10387},{"name":"EDITING-FLOW.md","path":"skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":183},{"name":"SKILL.md","path":"skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"---\nname: emdash-cli\ndescription: Use the EmDash CLI to inspect and manage an EmDash instance from the command line, including content, schema, media, taxonomies, menus, search, authentication, seeds, migrations, generated types, and whole-site export and import.\n---\n\n# EmDash CLI\n\nThe EmDash CLI (`emdash`, with the short alias `em`) manages EmDash CMS instances. Commands fall into two categories:\n\n- **Local commands** work with project files or a configured database: `init`, `doctor`, `seed`, `migrate`, `export-seed`, and `secrets`.\n- **Remote commands** talk to a running EmDash instance: `types`, `login`, `logout`, `whoami`, `content`, `schema`, `media`, `search`, `taxonomy`, `menu`, and `site`.\n\nRun `npx emdash --help` and `npx emdash <command> --help` for the installed version's exact commands and flags. Resolve the current target with a read command before a destructive or bulk mutation; examples in this skill do not authorize changing an instance the user did not place in scope.\n\n## Authentication\n\nRemote commands resolve auth automatically:\n\n1. `--token` flag\n2. `EMDASH_TOKEN` env var\n3. Stored credentials from `emdash login`\n4. Dev bypass (localhost only — no token needed)\n\nFor a localhost development server with the development bypass enabled, the client can authenticate automatically. For a remote instance, run `emdash login --url https://example.com` or provide a scoped token.\n\n## Custom Headers & Reverse Proxies\n\nSites behind Cloudflare Access or other reverse proxies need auth headers on every request. The CLI supports this via `--header` flags and environment variables.\n\n### Service tokens for automation\n\n```bash\n# Provide sensitive headers through the environment in CI.\nexport EMDASH_HEADERS=\"CF-Access-Client-Id: xxx\nCF-Access-Client-Secret: yyy\"\nnpx emdash whoami --url https://example.com\n```\n\n`emdash login --header` persists custom headers to `~/.config/emdash/auth.json` for later commands. Prefer environment-provided headers in CI so a service secret is not written to the credential file or shell history.\n\n### Cloudflare Access Browser Flow\n\nIf you don't have service tokens and `cloudflared` is installed, the CLI will automatically:\n\n1. Detect when Access blocks the request\n2. Try to get a cached JWT via `cloudflared access token`\n3. Fall back to `cloudflared access login` for browser-based auth\n\nThis works for interactive use but isn't suitable for CI. Use service tokens for automation.\n\n### Generic Reverse Proxy Auth\n\nThe `--header` flag works with any auth scheme:\n\n```bash\n# Basic auth\nnpx emdash login --url https://example.com -H \"Authorization: Basic dXNlcjpwYXNz\"\n\n# Custom auth header\nnpx emdash login --url https://example.com -H \"X-API-Key: secret123\"\n```\n\n## Quick Reference\n\n### Database Setup\n\nFor normal site startup, use the project's package script. The first request runs pending migrations and, before setup is completed, applies the bundled seed's schema and structure once; sample content comes from the setup wizard, `/_emdash/api/setup/dev-bypass`, or `emdash seed`. The Astro integration generates `emdash-env.d.ts` when the server starts.\n\n```bash\n# Start the site with its package script\npnpm dev\n\n# Export an existing database as a seed file\n# (the runtime auto-discovers .emdash/seed.json on first boot;\n# `mkdir -p` because the directory may not exist yet)\nmkdir -p .emdash\nnpx emdash export-seed > .emdash/seed.json\nnpx emdash export-seed --with-content=all > .emdash/seed.json\n```\n\n### Type Generation\n\n```bash\n# Generate types from local dev server\nnpx emdash types\n\n# Generate from remote\nnpx emdash types --url https://example.com\n\n# Custom output path\nnpx emdash types --output src/types/cms.ts\n```\n\nWrites `.emdash/types.ts` (TypeScript interfaces) and `.emdash/schema.json`.\n\n### Authentication\n\n```bash\n# Login (OAuth Device Flow)\nnpx emdash login --url https://example.com\n\n# Check current user\nnpx emdash whoami\n\n# Logout\nnpx emdash logout\n\n# Generate an encryption key for deployment\nnpx emdash secrets generate\n```\n\n### Content CRUD\n\nThe CLI is designed for agents. Create and update auto-publish by default so agents get read-after-write consistency without managing drafts.\n\n```bash\n# List content\nnpx emdash content list posts\nnpx emdash content list posts --status published --limit 10\n\n# Get a single item (Portable Text fields converted to markdown)\n# Returns draft data if a pending draft exists\nnpx emdash content get posts 01ABC123\nnpx emdash content get posts 01ABC123 --raw        # skip PT->markdown conversion\nnpx emdash content get posts 01ABC123 --published   # ignore pending drafts\n\n# Create content (auto-publishes by default)\nnpx emdash content create posts --data '{\"title\": \"Hello\", \"body\": \"# World\"}'\nnpx emdash content create posts --file post.json --slug hello-world\nnpx emdash content create posts --draft --data '...'  # keep as draft\ncat post.json | npx emdash content create posts --stdin\n\n# Update (requires --rev from a prior get, auto-publishes by default)\nnpx emdash content update posts 01ABC123 --rev MToyMDI2... --data '{\"title\": \"Updated\"}'\nnpx emdash content update posts 01ABC123 --rev MToyMDI2... --draft --data '...'  # keep as draft\n\n# Delete (soft delete)\nnpx emdash content delete posts 01ABC123\n\n# Lifecycle\nnpx emdash content publish posts 01ABC123\nnpx emdash content unpublish posts 01ABC123\nnpx emdash content schedule posts 01ABC123 --at 2026-03-01T09:00:00Z\nnpx emdash content restore posts 01ABC123\n```\n\n### Schema Management\n\n```bash\n# List collections\nnpx emdash schema list\n\n# Get collection with fields\nnpx emdash schema get posts\n\n# Create collection\nnpx emdash schema create articles --label Articles --description \"Blog articles\"\n\n# Delete a collection after inspecting it and confirming the target\nnpx emdash schema get articles\nnpx emdash schema delete articles\n\n# Add field\nnpx emdash schema add-field posts body --type portableText --label \"Body Content\"\nnpx emdash schema add-field posts featured --type boolean --required\n\n# Remove field\nnpx emdash schema remove-field posts featured\n```\n\n`schema add-field` supports the field types printed by `npx emdash schema add-field --help`. The full product schema supports additional field types that are not necessarily creatable through this command.\n\n### Media\n\n```bash\n# List media\nnpx emdash media list\nnpx emdash media list --mime image/png\n\n# Upload\nnpx emdash media upload ./photo.jpg --alt \"A sunset\" --caption \"Bristol, 2026\"\n\n# Get / delete\nnpx emdash media get 01MEDIA123\nnpx emdash media delete 01MEDIA123\n```\n\n### Search\n\n```bash\nnpx emdash search \"hello world\"\nnpx emdash search \"hello\" --collection posts --limit 5\n```\n\n### Taxonomies\n\n```bash\nnpx emdash taxonomy list\nnpx emdash taxonomy terms categories\nnpx emdash taxonomy add-term categories --name \"Tech\" --slug tech\nnpx emdash taxonomy add-term categories --name \"Frontend\" --parent 01PARENT123\n```\n\n### Menus\n\n```bash\nnpx emdash menu list\nnpx emdash menu get primary\n```\n\n### Site Export and Import\n\n`emdash site` copies a whole site (content model, content, history, settings, and media, but no users or secrets) into a `.emdash` site package, and imports a package into an empty site. The token needs `admin`, which the `emdash login` token has, or the `transfer:export`, `transfer:analyze`, and `transfer:execute` scopes. An `INSUFFICIENT_SCOPE` error means the token has neither. A package holds every entry and the email addresses of authors and commenters: treat it like a database backup.\n\n```bash\n# Export (re-run the same command to resume after an interruption)\nnpx emdash site export --url https://old.example.com --output site.emdash\nnpx emdash site export --url https://old.example.com --output site.emdash --no-comments\n\n# Import, step 1: upload and analyze; prints the plan and its digest\nnpx emdash site import site.emdash --url https://new.example.com --analyze\nnpx emdash site import site.emdash --url https://new.example.com --analyze \\\n  --map-principal editor@example.com=editor@example.com --use-target-title\n\n# Import, step 2: execute exactly the reviewed plan\nnpx emdash site import site.emdash --url https://new.example.com --plan sha256:<hex> --confirm\n\n# Follow up on an import by operation id\nnpx emdash site import status <operation-id> --url https://new.example.com\nnpx emdash site import resume <operation-id> [site.emdash] --url https://new.example.com\nnpx emdash site import receipt <operation-id> --url https://new.example.com\n\n# Stop an import, or lift the write block a failed or cancelled import leaves\n# (neither deletes what the import wrote; --yes skips the prompt)\nnpx emdash site import cancel <operation-id> --url https://new.example.com\nnpx emdash site import abandon <operation-id> --url https://new.example.com\n```\n\nShow the user the plan (differences from the source site, warnings, blockers, principal mappings) and get their confirmation before running `--confirm`; it writes to the target site and blocks other writes there until it finishes. `site import` exits `2` when the plan has blockers, and `site import status` exits `1` for an import that failed, was cancelled or abandoned, or expired. Only cancel or abandon an import when the user asks: abandoning leaves partial data on the site, which then has to be reset before another import. `--map-principal` takes `<principal id or email>=<user id, email, or none>` and is repeatable; decision flags only work with `--analyze`, and each change produces a new plan digest. The public site is not hidden during an import, so the target should stay private until the command prints a receipt with `receiptDigestValid: true`.\n\n## Drafts and Publishing\n\nThe CLI auto-publishes on `create` and `update` by default. This means:\n\n- **`create`** creates the item and immediately publishes it\n- **`update`** updates the item and publishes if a draft revision was created\n- **`get`** returns draft data if a pending draft exists (e.g. from the admin UI)\n\nUse `--draft` on create/update to skip auto-publishing. Use `--published` on get to ignore pending drafts.\n\nCollections that support revisions store edits as draft revisions. The CLI handles this transparently — agents don't need to know whether a collection uses revisions or not.\n\n## JSON Output\n\nAll remote commands support `--json` for machine-readable output. It's auto-enabled when stdout is piped. `emdash site` always writes progress to stderr, so stdout holds only the JSON result; errors are `{ \"error\": { \"code\", \"message\" } }`.\n\n```bash\n# Pipe to jq\nnpx emdash content list posts --json | jq '.items[].slug'\n\n# Use in scripts\nID=$(npx emdash content create posts --data '{\"title\":\"Hello\"}' --json | jq -r '.id')\n```\n\n## Editing Flow\n\nFor details on how content editing works — Portable Text/markdown conversion, `_rev` tokens, and raw mode — see **[EDITING-FLOW.md](./EDITING-FLOW.md)**.\n","frontmatter":{"name":"emdash-cli","description":"Use the EmDash CLI to inspect and manage an EmDash instance from the command line, including content, schema, media, taxonomies, menus, search, authentication, seeds, migrations, generated types, and whole-site export and import."},"isInternal":false,"tokens":2650,"sizeBytes":10839},{"name":"SKILL.md","path":"skills/wordpress-plugin-to-emdash/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-plugin-to-emdash/SKILL.md","title":"wordpress-plugin-to-emdash","category":"anthropic-skill","format":"markdown","content":"---\nname: wordpress-plugin-to-emdash\ndescription: Analyze and port WordPress plugin behavior, custom post types, shortcodes, admin workflows, and stored data to current EmDash extension points. Use for WordPress-plugin migrations or when deciding which behavior belongs in an EmDash plugin, site schema, seed, or Astro code. Do not use for visual theme ports without plugin functionality.\n---\n\n# Port a WordPress plugin to EmDash\n\nPreserve the plugin's user-visible behavior and data model without translating PHP line by line. WordPress and EmDash divide responsibilities differently, so first decide whether each feature belongs in site schema, Astro code, a sandboxed plugin, or a trusted native plugin.\n\nLoad [creating-plugins](../creating-plugins/SKILL.md) before implementing plugin code. Load [building-emdash-site](../building-emdash-site/SKILL.md) when the port changes collections, seeds, queries, or frontend templates. Those skills define the current APIs; this skill covers migration decisions.\n\n## Understand the source\n\nInspect the plugin source, installation behavior, database changes, hooks, REST endpoints, scheduled work, admin screens, shortcodes or blocks, frontend output, permissions, and external services. Identify behavior that users rely on separately from WordPress-specific implementation.\n\nRecord:\n\n- required content and configuration data;\n- actions that mutate or publish data;\n- authorization and trust boundaries;\n- background or retry behavior;\n- frontend and administrator interactions;\n- import, migration, and rollback needs;\n- license obligations for copied assets or code.\n\nIf the source, expected behavior, or target EmDash environment is missing, report the gap instead of inventing an equivalent.\n\n## Assign each responsibility\n\n| WordPress responsibility                        | EmDash destination                                                                                           |\n| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| Custom post type, taxonomy, or metadata         | Collection, taxonomy, and fields created through the site schema or seed                                     |\n| Site-wide presentation setting                  | Site setting read by Astro templates                                                                         |\n| Plugin-owned user settings                      | `ctx.settings`; declare credentials as encrypted `secret` fields                                             |\n| Plugin-owned cursors, caches, or internal state | Plugin-scoped `ctx.kv`                                                                                       |\n| Plugin-owned queryable records                  | Declared `ctx.storage.<collection>` storage                                                                  |\n| Content discovery, translation, or publication  | Capability-gated `ctx.content` and `ctx.schema`; policy hooks and actions have separate authority            |\n| Runtime taxonomy or redirect management         | `ctx.taxonomies` or `ctx.redirects` with narrow read/write capability                                        |\n| Comment administration                          | `ctx.comments`; reads expose personal data and moderation uses expected status                               |\n| WordPress REST endpoint                         | Declared plugin route with explicit methods, inputs, headers, and response mode                              |\n| Scheduled event                                 | `cron` hook and `ctx.cron` scheduling                                                                        |\n| Admin page or form                              | Block Kit for sandboxed plugins; React only for a trusted native plugin                                      |\n| Post editor metabox or saved-entry action       | `admin.editorPanels` or `admin.editorActions` on private routes                                              |\n| User or author lookup                           | `ctx.users` with `users:read`                                                                                |\n| Outbound HTTP request                           | `ctx.http.fetch()` with `network:request` and an `allowedHosts` entry                                        |\n| Media operation                                 | Separate metadata, byte-read, metadata-write, and upload/delete authorities                                  |\n| `WP_Query` or template tag                      | EmDash content API in Astro site code                                                                        |\n| Shortcode or editor block                       | Existing Portable Text content where possible; a custom Portable Text block requires a trusted native plugin |\n| Raw head markup or scripts                      | Trusted native `page:fragments`; registry-installed plugins can contribute validated `page:metadata` only    |\n\nDo not create collections or taxonomies by reaching into EmDash system tables. Use the public schema, seed, CLI, or admin boundary. Do not use internal REST routes to imitate a sandbox API that does not exist.\n\nKeep authorities separate: reading media metadata does not grant bytes, moderation does not grant deletion, publication policy does not grant publication actions, and content restore does not grant ordinary content reads.\n\n## Choose the plugin format\n\nUse a sandboxed plugin by default. It supports portable hooks, routes, declared storage, media, network access, MCP tools, and Block Kit admin UI through an install-time trust contract.\n\nUse a trusted native plugin only when the feature requires host-process access, React admin code, Astro rendering components, raw page fragments, or custom Portable Text block definitions. State the extra authority and distribution limitation in the migration plan.\n\nSome WordPress plugins do not need an EmDash plugin. A custom post type plus frontend templates may become only schema, seed data, and Astro pages. Do not add a runtime extension when static site structure covers the behavior.\n\n## Plan data movement\n\nDescribe how existing WordPress data maps before writing runtime code:\n\n- map post IDs, slugs, locales, authors, statuses, revisions, and publication dates;\n- preserve relationships between posts, terms, media, and plugin-owned records;\n- distinguish a one-time import from data that must continue syncing;\n- make imports restartable and define how duplicates are detected;\n- keep source identifiers when they are needed for reconciliation or redirects;\n- identify content that cannot be represented without a product decision.\n\nUse seed data for a new site's initial schema and sample content. Use an importer or migration path for an existing site's production data; a seed is not a backup or ongoing synchronization mechanism.\n\n## Verify equivalent behavior\n\nTest through the boundary that users and the runtime exercise:\n\n- schema and imported-data assertions for content-model changes;\n- production-boundary plugin tests for sandbox hooks, routes, storage, and permissions;\n- browser verification for admin and frontend journeys;\n- restart, duplicate-delivery, authorization, and failure cases when the source feature depends on them.\n\nCompare observable behavior, not internal structure. Document intentional differences and any WordPress feature that remains unsupported.\n\n## Deliver the port\n\nProvide:\n\n1. a concise inventory of the WordPress behavior and data;\n2. the responsibility map and sandboxed/native decision;\n3. the data migration or seed plan;\n4. the implementation across plugin and site code;\n5. verification evidence and known gaps;\n6. attribution and license notices for reused code or assets.\n","frontmatter":{"name":"wordpress-plugin-to-emdash","description":"Analyze and port WordPress plugin behavior, custom post types, shortcodes, admin workflows, and stored data to current EmDash extension points. Use for WordPress-plugin migrations or when deciding which behavior belongs in an EmDash plugin, site schema, seed, or Astro code. Do not use for visual theme ports without plugin functionality."},"isInternal":false,"tokens":1284,"sizeBytes":7820},{"name":"1-discovery.md","path":"skills/wordpress-theme-to-emdash/phases/1-discovery.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/1-discovery.md","title":"Phases Skill","category":"anthropic-skill","format":"markdown","content":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/1-discovery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/1-discovery.md)","tokens":300,"sizeBytes":221},{"name":"2-design.md","path":"skills/wordpress-theme-to-emdash/phases/2-design.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/2-design.md","title":"Phases Skill","category":"anthropic-skill","format":"markdown","content":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/2-design.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/2-design.md)","tokens":300,"sizeBytes":215},{"name":"3-templates.md","path":"skills/wordpress-theme-to-emdash/phases/3-templates.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/3-templates.md","title":"Phases Skill","category":"anthropic-skill","format":"markdown","content":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/3-templates.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/3-templates.md)","tokens":300,"sizeBytes":221},{"name":"4-dynamic.md","path":"skills/wordpress-theme-to-emdash/phases/4-dynamic.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/4-dynamic.md","title":"Phases Skill","category":"anthropic-skill","format":"markdown","content":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/4-dynamic.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/4-dynamic.md)","tokens":300,"sizeBytes":217},{"name":"5-seed.md","path":"skills/wordpress-theme-to-emdash/phases/5-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/5-seed.md","title":"Phases Skill","category":"anthropic-skill","format":"markdown","content":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/5-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/5-seed.md)","tokens":300,"sizeBytes":211},{"name":"6-verify.md","path":"skills/wordpress-theme-to-emdash/phases/6-verify.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/6-verify.md","title":"Phases Skill","category":"anthropic-skill","format":"markdown","content":"# Phases Skill\n\nPath: `skills/wordpress-theme-to-emdash/phases/6-verify.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/phases/6-verify.md)","tokens":300,"sizeBytes":215},{"name":"astro-essentials.md","path":"skills/wordpress-theme-to-emdash/references/astro-essentials.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/astro-essentials.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/astro-essentials.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/astro-essentials.md)","tokens":300,"sizeBytes":243},{"name":"concept-mapping.md","path":"skills/wordpress-theme-to-emdash/references/concept-mapping.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/concept-mapping.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/concept-mapping.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/concept-mapping.md)","tokens":300,"sizeBytes":241},{"name":"design-extraction.md","path":"skills/wordpress-theme-to-emdash/references/design-extraction.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/design-extraction.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/design-extraction.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/design-extraction.md)","tokens":300,"sizeBytes":245},{"name":"emdash-api.md","path":"skills/wordpress-theme-to-emdash/references/emdash-api.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/emdash-api.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/emdash-api.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/emdash-api.md)","tokens":300,"sizeBytes":231},{"name":"template-patterns.md","path":"skills/wordpress-theme-to-emdash/references/template-patterns.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/template-patterns.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/wordpress-theme-to-emdash/references/template-patterns.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/references/template-patterns.md)","tokens":300,"sizeBytes":245},{"name":"CHECKLIST.md","path":"skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md","title":"Scaffold Skill","category":"anthropic-skill","format":"markdown","content":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/CHECKLIST.md)","tokens":300,"sizeBytes":223},{"name":"package.json","path":"skills/wordpress-theme-to-emdash/scaffold/package.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/package.json","title":"Scaffold Skill","category":"anthropic-skill","format":"json","content":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/package.json)","tokens":300,"sizeBytes":223},{"name":"README.md","path":"skills/wordpress-theme-to-emdash/scaffold/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/README.md","title":"Scaffold Skill","category":"anthropic-skill","format":"markdown","content":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/README.md)","tokens":300,"sizeBytes":217},{"name":"tsconfig.json","path":"skills/wordpress-theme-to-emdash/scaffold/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/tsconfig.json","title":"Scaffold Skill","category":"anthropic-skill","format":"json","content":"# Scaffold Skill\n\nPath: `skills/wordpress-theme-to-emdash/scaffold/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/scaffold/tsconfig.json)","tokens":300,"sizeBytes":225},{"name":"SKILL.md","path":"skills/wordpress-theme-to-emdash/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/skills/wordpress-theme-to-emdash/SKILL.md","title":"wordpress-theme-to-emdash","category":"anthropic-skill","format":"markdown","content":"---\nname: wordpress-theme-to-emdash\ndescription: Port a WordPress theme's design and template behavior to an EmDash-powered Astro site. Use for theme migrations, design matching, PHP-template conversion, and CMS wiring. Do not use for WordPress plugin behavior that does not affect the site theme.\n---\n\n# Port a WordPress theme to EmDash\n\nRecreate the theme's relevant layouts and interactions as an Astro site backed by EmDash. Preserve the user's requested visual fidelity and feature scope; do not assume every WordPress template or demo feature belongs in the port.\n\nLoad [building-emdash-site](../building-emdash-site/SKILL.md) for current EmDash schema, query, rendering, caching, and seed patterns. When a live reference site is available, use the `agent-browser` CLI for rendered comparison; run `agent-browser skills get core --full` for its command reference.\n\n## Choose the evidence\n\nUse the best available sources in this order:\n\n1. theme source and `theme.json`, stylesheets, templates, and `functions.php`;\n2. a live demo at representative desktop and mobile viewports;\n3. screenshots or design files supplied by the user;\n4. explicit design decisions where the source is ambiguous.\n\nDo not infer that demo content or images share the theme code's license. Reuse an asset only when its license or the user's rights permit it; otherwise use a clearly licensed substitute with similar dimensions and visual weight.\n\n## Plan the port\n\nInventory only the page types, components, responsive states, and interactions needed for the requested site. Map WordPress responsibilities before implementing:\n\n- PHP templates become Astro routes, layouts, and components.\n- Custom post types, metadata, and taxonomies become EmDash collections, fields, and taxonomies.\n- Theme Customizer values become site settings or explicit project configuration.\n- Menu locations become named EmDash menus queried by templates.\n- Sidebars and widgets become widget areas or ordinary Astro components.\n- Shortcodes and plugin-owned behavior may require a separate plugin migration.\n\nRead [WordPress theme concept mapping](references/concept-mapping.md) when translating template hierarchy, `functions.php` registrations, template tags, hooks, widgets, or reusable blocks.\n\nDynamic EmDash content routes must remain server-rendered. Use the EmDash `Image` component for EmDash media fields; ordinary theme assets can use Astro's asset handling.\n\n## Work in scoped phases\n\nRead a phase file only when that phase applies:\n\n- [Discovery and reference capture](phases/1-discovery.md)\n- [Design extraction](phases/2-design.md)\n- [Template conversion](phases/3-templates.md)\n- [Dynamic EmDash features](phases/4-dynamic.md)\n- [Schema and seed data](phases/5-seed.md)\n- [Rendered verification](phases/6-verify.md)\n\nWhen creating a standalone theme project, start from the repository's current site template or the user's existing project. Confirm the destination before writing and do not replace an existing site structure without explicit direction.\n\n## Verify the result\n\nBuild the site and exercise each in-scope page and interaction. Compare matched viewports against the reference, including responsive navigation, content with long and missing values, RTL when admin or theme behavior depends on direction, and relevant empty or error states.\n\nCapture before-and-after or reference-and-result screenshots when visual fidelity is part of acceptance. Report deliberate deviations, missing source evidence, unsupported WordPress behavior, and asset substitutions.\n\n## Licensing and attribution\n\nInspect the source theme's actual license and notices. Preserve required copyright and attribution, include the applicable license text for reused code, and identify third-party assets separately. Do not label a port GPL-2.0-or-later merely because the source is a WordPress theme.\n","frontmatter":{"name":"wordpress-theme-to-emdash","description":"Port a WordPress theme's design and template behavior to an EmDash-powered Astro site. Use for theme migrations, design matching, PHP-template conversion, and CMS wiring. Do not use for WordPress plugin behavior that does not affect the site theme."},"isInternal":false,"tokens":762,"sizeBytes":3859},{"name":"configuration.md","path":"templates/blank/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":275},{"name":"querying-and-rendering.md","path":"templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":293},{"name":"schema-and-seed.md","path":"templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":279},{"name":"site-features.md","path":"templates/blank/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":275},{"name":"SKILL.md","path":"templates/blank/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/blank/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"admin-ui.md","path":"templates/blank/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":257},{"name":"api-routes.md","path":"templates/blank/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":261},{"name":"block-kit.md","path":"templates/blank/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":259},{"name":"hooks.md","path":"templates/blank/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":251},{"name":"portable-text-blocks.md","path":"templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":281},{"name":"publishing.md","path":"templates/blank/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":261},{"name":"storage.md","path":"templates/blank/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blank/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":255},{"name":"SKILL.md","path":"templates/blank/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/blank/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":229},{"name":"EDITING-FLOW.md","path":"templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":231},{"name":"SKILL.md","path":"templates/blank/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/blank/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":211},{"name":"configuration.md","path":"templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":295},{"name":"querying-and-rendering.md","path":"templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":313},{"name":"schema-and-seed.md","path":"templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":299},{"name":"site-features.md","path":"templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":295},{"name":"SKILL.md","path":"templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":261},{"name":"admin-ui.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":277},{"name":"api-routes.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":281},{"name":"block-kit.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":279},{"name":"hooks.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":271},{"name":"portable-text-blocks.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":301},{"name":"publishing.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":281},{"name":"storage.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":275},{"name":"SKILL.md","path":"templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":249},{"name":"EDITING-FLOW.md","path":"templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":251},{"name":"SKILL.md","path":"templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":231},{"name":"configuration.md","path":"templates/blog/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":273},{"name":"querying-and-rendering.md","path":"templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":291},{"name":"schema-and-seed.md","path":"templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":277},{"name":"site-features.md","path":"templates/blog/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":273},{"name":"SKILL.md","path":"templates/blog/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/blog/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":239},{"name":"admin-ui.md","path":"templates/blog/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":255},{"name":"api-routes.md","path":"templates/blog/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":259},{"name":"block-kit.md","path":"templates/blog/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":257},{"name":"hooks.md","path":"templates/blog/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":249},{"name":"portable-text-blocks.md","path":"templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":279},{"name":"publishing.md","path":"templates/blog/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":259},{"name":"storage.md","path":"templates/blog/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/blog/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":253},{"name":"SKILL.md","path":"templates/blog/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/blog/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":227},{"name":"EDITING-FLOW.md","path":"templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":229},{"name":"SKILL.md","path":"templates/blog/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/blog/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":209},{"name":"configuration.md","path":"templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":305},{"name":"querying-and-rendering.md","path":"templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":323},{"name":"schema-and-seed.md","path":"templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":309},{"name":"site-features.md","path":"templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":305},{"name":"SKILL.md","path":"templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":271},{"name":"admin-ui.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":287},{"name":"api-routes.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":291},{"name":"block-kit.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":289},{"name":"hooks.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":281},{"name":"portable-text-blocks.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":311},{"name":"publishing.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":291},{"name":"storage.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":285},{"name":"SKILL.md","path":"templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":259},{"name":"EDITING-FLOW.md","path":"templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":261},{"name":"SKILL.md","path":"templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"configuration.md","path":"templates/marketing/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":283},{"name":"querying-and-rendering.md","path":"templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":301},{"name":"schema-and-seed.md","path":"templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":287},{"name":"site-features.md","path":"templates/marketing/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":283},{"name":"SKILL.md","path":"templates/marketing/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/marketing/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":249},{"name":"admin-ui.md","path":"templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":265},{"name":"api-routes.md","path":"templates/marketing/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":269},{"name":"block-kit.md","path":"templates/marketing/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":267},{"name":"hooks.md","path":"templates/marketing/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":259},{"name":"portable-text-blocks.md","path":"templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":289},{"name":"publishing.md","path":"templates/marketing/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":269},{"name":"storage.md","path":"templates/marketing/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/marketing/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":263},{"name":"SKILL.md","path":"templates/marketing/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/marketing/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":237},{"name":"EDITING-FLOW.md","path":"templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":239},{"name":"SKILL.md","path":"templates/marketing/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/marketing/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":219},{"name":"configuration.md","path":"templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":305},{"name":"querying-and-rendering.md","path":"templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":323},{"name":"schema-and-seed.md","path":"templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":309},{"name":"site-features.md","path":"templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":305},{"name":"SKILL.md","path":"templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":271},{"name":"admin-ui.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":287},{"name":"api-routes.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":291},{"name":"block-kit.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":289},{"name":"hooks.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":281},{"name":"portable-text-blocks.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":311},{"name":"publishing.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":291},{"name":"storage.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":285},{"name":"SKILL.md","path":"templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":259},{"name":"EDITING-FLOW.md","path":"templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":261},{"name":"SKILL.md","path":"templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"configuration.md","path":"templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":283},{"name":"querying-and-rendering.md","path":"templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":301},{"name":"schema-and-seed.md","path":"templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":287},{"name":"site-features.md","path":"templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":283},{"name":"SKILL.md","path":"templates/portfolio/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/portfolio/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":249},{"name":"admin-ui.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":265},{"name":"api-routes.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":269},{"name":"block-kit.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":267},{"name":"hooks.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":259},{"name":"portable-text-blocks.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":289},{"name":"publishing.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":269},{"name":"storage.md","path":"templates/portfolio/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":263},{"name":"SKILL.md","path":"templates/portfolio/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/portfolio/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":237},{"name":"EDITING-FLOW.md","path":"templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":239},{"name":"SKILL.md","path":"templates/portfolio/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/portfolio/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":219},{"name":"configuration.md","path":"templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":301},{"name":"querying-and-rendering.md","path":"templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":319},{"name":"schema-and-seed.md","path":"templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":305},{"name":"site-features.md","path":"templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":301},{"name":"SKILL.md","path":"templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":267},{"name":"admin-ui.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":283},{"name":"api-routes.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":287},{"name":"block-kit.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":285},{"name":"hooks.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":277},{"name":"portable-text-blocks.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":307},{"name":"publishing.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":287},{"name":"storage.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":281},{"name":"SKILL.md","path":"templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":255},{"name":"EDITING-FLOW.md","path":"templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":257},{"name":"SKILL.md","path":"templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":237},{"name":"configuration.md","path":"templates/starter/.agents/skills/building-emdash-site/references/configuration.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/configuration.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/configuration.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/configuration.md)","tokens":300,"sizeBytes":279},{"name":"querying-and-rendering.md","path":"templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/querying-and-rendering.md)","tokens":300,"sizeBytes":297},{"name":"schema-and-seed.md","path":"templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/schema-and-seed.md)","tokens":300,"sizeBytes":283},{"name":"site-features.md","path":"templates/starter/.agents/skills/building-emdash-site/references/site-features.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/site-features.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/building-emdash-site/references/site-features.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/references/site-features.md)","tokens":300,"sizeBytes":279},{"name":"SKILL.md","path":"templates/starter/.agents/skills/building-emdash-site/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/SKILL.md","title":"building-emdash-site","category":"anthropic-skill","format":"markdown","content":"# building-emdash-site\n\nPath: `templates/starter/.agents/skills/building-emdash-site/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/building-emdash-site/SKILL.md)","tokens":300,"sizeBytes":245},{"name":"admin-ui.md","path":"templates/starter/.agents/skills/creating-plugins/references/admin-ui.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/admin-ui.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/admin-ui.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/admin-ui.md)","tokens":300,"sizeBytes":261},{"name":"api-routes.md","path":"templates/starter/.agents/skills/creating-plugins/references/api-routes.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/api-routes.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/api-routes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/api-routes.md)","tokens":300,"sizeBytes":265},{"name":"block-kit.md","path":"templates/starter/.agents/skills/creating-plugins/references/block-kit.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/block-kit.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/block-kit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/block-kit.md)","tokens":300,"sizeBytes":263},{"name":"hooks.md","path":"templates/starter/.agents/skills/creating-plugins/references/hooks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/hooks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/hooks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/hooks.md)","tokens":300,"sizeBytes":255},{"name":"portable-text-blocks.md","path":"templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/portable-text-blocks.md)","tokens":300,"sizeBytes":285},{"name":"publishing.md","path":"templates/starter/.agents/skills/creating-plugins/references/publishing.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/publishing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/publishing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/publishing.md)","tokens":300,"sizeBytes":265},{"name":"storage.md","path":"templates/starter/.agents/skills/creating-plugins/references/storage.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/storage.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `templates/starter/.agents/skills/creating-plugins/references/storage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/references/storage.md)","tokens":300,"sizeBytes":259},{"name":"SKILL.md","path":"templates/starter/.agents/skills/creating-plugins/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/SKILL.md","title":"creating-plugins","category":"anthropic-skill","format":"markdown","content":"# creating-plugins\n\nPath: `templates/starter/.agents/skills/creating-plugins/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/creating-plugins/SKILL.md)","tokens":300,"sizeBytes":233},{"name":"EDITING-FLOW.md","path":"templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md","title":"Emdash-cli Skill","category":"anthropic-skill","format":"markdown","content":"# Emdash-cli Skill\n\nPath: `templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/EDITING-FLOW.md)","tokens":300,"sizeBytes":235},{"name":"SKILL.md","path":"templates/starter/.agents/skills/emdash-cli/SKILL.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/SKILL.md","title":"emdash-cli","category":"anthropic-skill","format":"markdown","content":"# emdash-cli\n\nPath: `templates/starter/.agents/skills/emdash-cli/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.agents/skills/emdash-cli/SKILL.md)","tokens":300,"sizeBytes":215},{"name":"README.md","path":"packages/auth-atproto/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/README.md","title":"auth-atproto Documentation","category":"plugin-manifest","format":"markdown","content":"# auth-atproto Documentation\n\nPath: `packages/auth-atproto/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/README.md)","tokens":300,"sizeBytes":189},{"name":"README.md","path":"packages/core/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/README.md","title":"core Documentation","category":"plugin-manifest","format":"markdown","content":"# core Documentation\n\nPath: `packages/core/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/README.md)","tokens":300,"sizeBytes":165},{"name":"README.md","path":"packages/core/tests/integration/smoke/fixtures/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/smoke/fixtures/README.md","title":"fixtures Documentation","category":"plugin-manifest","format":"markdown","content":"# fixtures Documentation\n\nPath: `packages/core/tests/integration/smoke/fixtures/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/core/tests/integration/smoke/fixtures/README.md)","tokens":300,"sizeBytes":235},{"name":"README.md","path":"packages/marketplace/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/README.md","title":"marketplace Documentation","category":"plugin-manifest","format":"markdown","content":"# marketplace Documentation\n\nPath: `packages/marketplace/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/marketplace/README.md)","tokens":300,"sizeBytes":186},{"name":"README.md","path":"packages/plugin-cli/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/README.md","title":"plugin-cli Documentation","category":"plugin-manifest","format":"markdown","content":"# plugin-cli Documentation\n\nPath: `packages/plugin-cli/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/README.md)","tokens":300,"sizeBytes":183},{"name":"emdash-plugin.jsonc","path":"packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc","title":"bad-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# bad-plugin Plugin Manifest\n\nPath: `packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/bad-plugin/emdash-plugin.jsonc)","tokens":300,"sizeBytes":257},{"name":"emdash-plugin.jsonc","path":"packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc","title":"minimal-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# minimal-plugin Plugin Manifest\n\nPath: `packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugin-cli/tests/fixtures/minimal-plugin/emdash-plugin.jsonc)","tokens":300,"sizeBytes":269},{"name":"emdash-plugin.jsonc","path":"packages/plugins/atproto/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/emdash-plugin.jsonc","title":"atproto Plugin Manifest","category":"plugin-manifest","format":"json","content":"# atproto Plugin Manifest\n\nPath: `packages/plugins/atproto/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/atproto/emdash-plugin.jsonc)","tokens":300,"sizeBytes":212},{"name":"emdash-plugin.jsonc","path":"packages/plugins/audit-log/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/emdash-plugin.jsonc","title":"audit-log Plugin Manifest","category":"plugin-manifest","format":"json","content":"# audit-log Plugin Manifest\n\nPath: `packages/plugins/audit-log/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/audit-log/emdash-plugin.jsonc)","tokens":300,"sizeBytes":218},{"name":"emdash-plugin.jsonc","path":"packages/plugins/marketplace-test/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/emdash-plugin.jsonc","title":"marketplace-test Plugin Manifest","category":"plugin-manifest","format":"json","content":"# marketplace-test Plugin Manifest\n\nPath: `packages/plugins/marketplace-test/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/emdash-plugin.jsonc)","tokens":300,"sizeBytes":239},{"name":"README.md","path":"packages/plugins/marketplace-test/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/README.md","title":"marketplace-test Documentation","category":"plugin-manifest","format":"markdown","content":"# marketplace-test Documentation\n\nPath: `packages/plugins/marketplace-test/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/marketplace-test/README.md)","tokens":300,"sizeBytes":217},{"name":"README.md","path":"packages/plugins/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/README.md","title":"plugins Documentation","category":"plugin-manifest","format":"markdown","content":"# plugins Documentation\n\nPath: `packages/plugins/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/README.md)","tokens":300,"sizeBytes":174},{"name":"emdash-plugin.jsonc","path":"packages/plugins/sandboxed-test/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/emdash-plugin.jsonc","title":"sandboxed-test Plugin Manifest","category":"plugin-manifest","format":"json","content":"# sandboxed-test Plugin Manifest\n\nPath: `packages/plugins/sandboxed-test/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/sandboxed-test/emdash-plugin.jsonc)","tokens":300,"sizeBytes":233},{"name":"emdash-plugin.jsonc","path":"packages/plugins/webhook-notifier/emdash-plugin.jsonc","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/emdash-plugin.jsonc","title":"webhook-notifier Plugin Manifest","category":"plugin-manifest","format":"json","content":"# webhook-notifier Plugin Manifest\n\nPath: `packages/plugins/webhook-notifier/emdash-plugin.jsonc`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/plugins/webhook-notifier/emdash-plugin.jsonc)","tokens":300,"sizeBytes":239},{"name":"README.md","path":"packages/registry-client/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/README.md","title":"registry-client Documentation","category":"plugin-manifest","format":"markdown","content":"# registry-client Documentation\n\nPath: `packages/registry-client/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-client/README.md)","tokens":300,"sizeBytes":198},{"name":"README.md","path":"packages/registry-lexicons/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/README.md","title":"registry-lexicons Documentation","category":"plugin-manifest","format":"markdown","content":"# registry-lexicons Documentation\n\nPath: `packages/registry-lexicons/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-lexicons/README.md)","tokens":300,"sizeBytes":204},{"name":"README.md","path":"packages/registry-verification/fixtures/provenance/README.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/README.md","title":"provenance Documentation","category":"plugin-manifest","format":"markdown","content":"# provenance Documentation\n\nPath: `packages/registry-verification/fixtures/provenance/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/registry-verification/fixtures/provenance/README.md)","tokens":300,"sizeBytes":245},{"name":"mcp.json","path":"templates/blank/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blank/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.cursor/mcp.json)","tokens":300,"sizeBytes":207},{"name":"mcp.json","path":"templates/blank/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blank/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blank/.vscode/mcp.json)","tokens":300,"sizeBytes":207},{"name":"mcp.json","path":"templates/blog-cloudflare/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.cursor/mcp.json)","tokens":300,"sizeBytes":227},{"name":"mcp.json","path":"templates/blog-cloudflare/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog-cloudflare/.vscode/mcp.json)","tokens":300,"sizeBytes":227},{"name":"mcp.json","path":"templates/blog/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.cursor/mcp.json)","tokens":300,"sizeBytes":205},{"name":"mcp.json","path":"templates/blog/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/blog/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/blog/.vscode/mcp.json)","tokens":300,"sizeBytes":205},{"name":"mcp.json","path":"templates/marketing-cloudflare/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.cursor/mcp.json)","tokens":300,"sizeBytes":237},{"name":"mcp.json","path":"templates/marketing-cloudflare/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing-cloudflare/.vscode/mcp.json)","tokens":300,"sizeBytes":237},{"name":"mcp.json","path":"templates/marketing/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.cursor/mcp.json)","tokens":300,"sizeBytes":215},{"name":"mcp.json","path":"templates/marketing/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/marketing/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/marketing/.vscode/mcp.json)","tokens":300,"sizeBytes":215},{"name":"mcp.json","path":"templates/portfolio-cloudflare/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.cursor/mcp.json)","tokens":300,"sizeBytes":237},{"name":"mcp.json","path":"templates/portfolio-cloudflare/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio-cloudflare/.vscode/mcp.json)","tokens":300,"sizeBytes":237},{"name":"mcp.json","path":"templates/portfolio/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.cursor/mcp.json)","tokens":300,"sizeBytes":215},{"name":"mcp.json","path":"templates/portfolio/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/portfolio/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/portfolio/.vscode/mcp.json)","tokens":300,"sizeBytes":215},{"name":"mcp.json","path":"templates/starter-cloudflare/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter-cloudflare/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.cursor/mcp.json)","tokens":300,"sizeBytes":233},{"name":"mcp.json","path":"templates/starter-cloudflare/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter-cloudflare/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter-cloudflare/.vscode/mcp.json)","tokens":300,"sizeBytes":233},{"name":"mcp.json","path":"templates/starter/.cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter/.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.cursor/mcp.json)","tokens":300,"sizeBytes":211},{"name":"mcp.json","path":"templates/starter/.vscode/mcp.json","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.vscode/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `templates/starter/.vscode/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/templates/starter/.vscode/mcp.json)","tokens":300,"sizeBytes":211},{"name":"auto-implementer.md","path":".opencode/agents/auto-implementer.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-implementer.md","title":"Subagent: auto-implementer","category":"subagent-persona","format":"markdown","content":"# Subagent: auto-implementer\n\nPath: `.opencode/agents/auto-implementer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-implementer.md)","tokens":300,"sizeBytes":199},{"name":"auto-reviewer.md","path":".opencode/agents/auto-reviewer.md","rawUrl":"https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-reviewer.md","title":"Subagent: auto-reviewer","category":"subagent-persona","format":"markdown","content":"# Subagent: auto-reviewer\n\nPath: `.opencode/agents/auto-reviewer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/.opencode/agents/auto-reviewer.md)","tokens":300,"sizeBytes":190}],"systemPromptSnippet":"<yakaai_skills repo=\"emdash-cms/emdash\">\n<!-- File: AGENTS.md (Tokens: ~300 | Category: root-instruction) -->\n# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/AGENTS.md)\n\n<!-- File: demos/cloudflare/plugins/sandbox-test/manifest.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Sandbox-test Skill\n\nPath: `demos/cloudflare/plugins/sandbox-test/manifest.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/demos/cloudflare/plugins/sandbox-test/manifest.json)\n\n<!-- File: infra/emdash-bot/.flue/skills/diagnose/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# diagnose\n\nPath: `infra/emdash-bot/.flue/skills/diagnose/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/diagnose/SKILL.md)\n\n<!-- File: infra/emdash-bot/.flue/skills/fix/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# fix\n\nPath: `infra/emdash-bot/.flue/skills/fix/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/fix/SKILL.md)\n\n<!-- File: infra/emdash-bot/.flue/skills/implement/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# implement\n\nPath: `infra/emdash-bot/.flue/skills/implement/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/implement/SKILL.md)\n\n<!-- File: infra/emdash-bot/.flue/skills/investigate/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# investigate\n\nPath: `infra/emdash-bot/.flue/skills/investigate/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/.flue/skills/investigate/SKILL.md)\n\n<!-- File: infra/emdash-bot/evals/CUTOVER.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Evals Skill\n\nPath: `infra/emdash-bot/evals/CUTOVER.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/CUTOVER.md)\n\n<!-- File: infra/emdash-bot/evals/dataset.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.json)\n\n<!-- File: infra/emdash-bot/evals/dataset.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Evals Skill\n\nPath: `infra/emdash-bot/evals/dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/dataset.md)\n\n<!-- File: infra/emdash-bot/evals/README.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Evals Skill\n\nPath: `infra/emdash-bot/evals/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/infra/emdash-bot/evals/README.md)\n\n<!-- File: infra/flue-review/.flue/skills/review/SKILL.md (Tokens: ~3176 | Category: anthropic-skill) -->\n---\nname: review\ndescription: Review one pull request for real bugs, regressions, and convention violations. Enumerate candidate issues across the whole diff, verify each against the code, then return structured line-anchored findings and a verdict. Read-only on GitHub; the orchestrator posts the review.\n---\n\n# Review a pull request\n\nYou are reviewing a pull request on **emdash-cms/emdash**. Find real bugs, regressions, and gaps, and return structured findings; the orchestrator posts them as a single review.\n\nReview **statically**. Do not run the test suite, linter, builds, or install anything (you have no shell anyway). Read code, trace with searches, and reason. If confirming something would require running tooling, say it's unverified rather than guessing.\n\nThe repo's AGENTS.md is at the repo root in your context. Check the PR against its conventions (Lingui localization, RTL-safe Tailwind, SQL safety, API envelope shape, authorization, locale filtering on content tables, index discipline, changesets, query counts on logged-out routes, comment discipline). A violation is a real finding, not a nit.\n\n## Documentation changes\n\nWhen the diff changes documentation prose, load the `writing-emdash-docs` skill before reviewing those files. This includes public docs, READMEs, contributor guidance, technical specifications, release notes and changesets, and skill instructions. Apply the skill only to documentation; do not spend review context on it for code, tests, generated files, or prose fixtures.\n\nVerify documentation claims against the implementation, types, tests, command output, and adjacent docs. The writing skill does not replace technical investigation.\n\nCalibrate documentation findings by their effect:\n\n- Use `needs_fixing` for a false technical claim, an obsolete or unsafe command, an API example that cannot work, a procedure that cannot reach its stated outcome, a missing prerequisite that causes failure or data loss, or documentation that contradicts shipped behavior.\n- Use `suggestion` for voice, organization, accessibility, verbosity, or anti-slop edits that preserve meaning.\n- Do not flag a watched word or sentence shape by itself. Confirm that it makes the documentation less precise, less useful, or harder to understand.\n\nWhen code changes user-visible behavior, check whether existing documentation becomes false or incomplete. Do not require public documentation for internal changes that do not alter how readers use EmDash.\n\n### Changesets\n\nReview each changeset against [.changeset/README.md](/repo/.changeset/README.md). It is public documentation copied verbatim into a package CHANGELOG, not metadata that passes once its package names, bump type, and frontmatter are valid.\n\nReturn a `needs_fixing` finding when a required entry is technically accurate but does not help readers decide whether the release affects them. This includes vague prose, internal mechanics or commit-message summaries, a recognizable public surface or audience left unnamed, a significant capability buried under incidental details, or a breaking/default change without concrete migration and reversion guidance. Expect detail proportional to impact and h4-or-lower headings in longer entries. Check that useful explanations and examples also appear in the canonical feature or upgrade docs.\n\n## Your only tool: `code`\n\nYou have a single tool, **`code`**, that runs JavaScript in an isolated worker against the checked-out repo through a `state` API (the full `state` type declarations are in the tool description). There is **no shell, no `git`, no `rg`, no `cat`** — everything is `state.*`. Each call is `async () => { ... return result; }` and must `return` its result.\n\nKey operations:\n\n- **Read the diff** (the exact changed lines): `async () => state.readFile({ path: \"<diffPath from your inputs>\" })`\n- **Read a file:** `async () => state.readFile({ path: \"/repo/packages/core/src/loader.ts\" })`\n- **Trace call-sites / search the tree** (your `rg`): `async () => state.searchFiles({ pattern: \"packages/**/*.ts\", query: \"getEmDashCollection\", options: { regex: true, contextBefore: 2, contextAfter: 2, maxMatches: 80 } })`\n- **Search within one file:** `state.searchText({ path, query, options })`\n- **List / explore:** `state.readdir({ path })`, `state.glob({ pattern })`, `state.find({ path, options })`, `state.walkTree({ path, options })`\n\nKeep each `code` result below the tool's output limit. Batch bounded excerpts and searches when that reduces repeated calls. For a large file, return only the slices around changed or relevant lines, or use `state.searchFiles` and `state.searchText` with bounded matches.\n\n`apps/release-action/dist/index.js` is a compiled artifact. Its checkout contents and diff contents are replaced by a marker when it changes. Never try to read or reconstruct the compiled contents. Review the authored source and tests instead.\n\n## Inputs\n\nYour inputs include the PR number, title, description, the base branch, the repo directory (`repoDir`, the working tree checked out at the **PR head** — the version that would merge), and `diffPath` (the unified `base...head` diff). When the PR says it closes issues in this repository, `prContext` includes each one's title and body under \"Linked issue\" (untrusted text, without comments). You cannot fetch anything from GitHub (no network), so an issue that is not in your inputs is unavailable to you.\n\nStart by reading the diff at `diffPath` to see exactly what changed. Read bounded authored files in full. For large authored files, read the changed sections and enough surrounding code to understand them, then search the tree to trace call-sites and siblings. Do not read omitted compiled artifacts.\n\n## First, check whether this is a follow-up\n\n**You post as `emdashbot[bot]`.** If your inputs include prior-review context (earlier `emdashbot[bot]` findings and replies), this is a **re-review**: read your prior findings and the author's replies, concentrate on what changed, and **do not repost findings already resolved or reasonably addressed/pushed back on**. In your summary, say what's fixed versus still open, and weigh the author's responses. If your inputs also include a \"Follow-up review\" section, this is an automatic follow-up after the author pushed: follow its instructions, start from the diff between the two heads it names, and limit new findings to the code that changed. If no prior-review context is provided, it's a fresh first review.\n\n## Method: frame, enumerate, verify\n\nBreadth first, depth second. The two most common ways to fail are to grade the implementation without asking whether the change should exist, and to latch onto the first thread while the rest of the diff goes unread. Work in this order:\n\n1. **Frame the change against what was reported.** Before enumerating candidates, establish: whether the change fixes what was reported, in the reporter's situation and on the path they actually hit; whether every claim in the title, description and changeset is true; whether the same problem exists elsewhere that the change should also cover (sibling call sites, other backends, data already stored in the old shape); and what the tests prove and what they could not catch, including backends and configurations they do not run on.\n2. **Judge the approach.** Read the PR description, the linked issue or accepted design, and the diff. Before grading code, ask whether it is the right code at all: is it solving a real problem, the _right_ problem (did the author misread the issue)? Is the approach sound, does it fit EmDash's architecture and conventions, is there a simpler/more idiomatic way, is it good taste? Most PRs are from external contributors who may have the wrong end of the stick. **A flawless implementation of the wrong thing is still the wrong thing**, and matters more than any line-level bug. For a feature, the PR context lists the proposals accepted by its linked design PR under \"Accepted design\". Read them before reviewing the implementation. Report missing behavior, divergence, unplanned scope, and missing verification against the accepted design. Carry any approach-level concern through to the summary and let it shape the verdict.\n3. **Enumerate candidates.** Read each bounded authored file in full and inspect targeted sections of large authored files. Then write a numbered list of _candidate_ problems, as many as you can generate, specific to what this code does. Use the categories below to jog each kind of bug, tailored to the code. Cover **every changed hunk**. Aim wide — an unconfirmed candidate costs nothing yet.\n4. **Verify each candidate against the code.** Go down the list. For each, read the relevant code in full and trace call-sites/siblings (`state.searchFiles`) only as far as needed to confirm or kill it. **Self-correct**: drop candidates that turn out fine; do not report hypotheses you couldn't confirm. When code _looks_ correct, treat that as a claim to disprove against the runtime semantics in AGENTS.md, not a conclusion.\n5. **Then go deep on systemic issues.** After the per-hunk sweep, trace cross-cutting concerns a line-by-line pass misses: does the change behave differently on the production runtime than in tests; does a cache/invalidation cover every write path; does a new query against a content table miss a `locale` filter; is a sibling implementation now inconsistent.\n6. **Prioritize.** Cull survivors into findings with calibrated severity and choose a verdict. Coverage is the goal; don't conclude until every changed hunk has been considered.\n\n## Candidate categories (a prompt to enumerate from, not a fixed checklist)\n\n- **Logic**: off-by-one, inverted/missing conditions (a stray `!`), wrong operator, fallthrough, coercion.\n- **Edge cases**: empty / null / undefined / 0 / NaN, single-element, max/min/negative, unicode/RTL, called twice vs zero times.\n- **Error handling**: swallowed errors, a missing `await`, over-broad catch, missing cleanup, internals leaked to clients.\n- **State / concurrency / caching**: shared mutable state, stale closures, TOCTOU, cache key stability and lifetime, invalidation on _every_ write path.\n- **Security**: unsanitized input reaching SQL/HTML/shell/paths, missing/wrong authorization, secret/info leakage, open redirect, path traversal.\n- **Data integrity**: validation at boundaries, partial writes without transactions, cascading deletes that orphan rows, schema/code mismatch, a missing `locale` filter on a content-table query.\n- **Resources**: leaked handles/timers/listeners, unbounded growth, missing timeouts, retry without backoff.\n- **Tests**: a fix without a reproducing test is not fixed; a mock that returns the thing the test claims to verify is false confidence. A test that cannot fail on a real regression -- a config literal asserted back at itself, an implementation detail asserted straight back (adding a CSS class and testing the class is present), a mocked unit under test, a test exercising only third-party code -- is worse than no test: it inflates coverage and pins intentional changes. Flag it for deletion, or for rewriting against observable behavior.\n- **Accepted-design conformance**: for a feature, compare every implemented behavior, interface, compatibility constraint, edge case, and verification requirement with the linked proposal. Report an implementation that silently changes the accepted design, omits required behavior, adds unplanned scope, or lacks a required test. If implementation exposes a design flaw, require an explicit proposal amendment instead of accepting an implicit change in code review.\n- **Logged-out query counts**: any new query on a route an anonymous visitor can hit -- including cold-start or first-request-only queries -- needs a _really_ good reason. Check whether it could piggyback on an existing query, batch, defer with `after()`, or use `requestCached`. A query-count snapshot diff that increases a logged-out route is a finding, not bookkeeping.\n- **Comments**: comments that restate what the code does, justify the decision (\"intentionally\", \"for safety\"), address the reviewer, narrate rejected alternatives, or reference issues/PRs/review threads. Comments are evergreen and for future readers of the code; almost all of these should be deleted (or the code made clearer instead). Numbered comments are always wrong. Tool directives are exempt: `eslint-disable`, `oxlint-disable`, `@ts-expect-error`, `@ts-ignore`, `prettier-ignore`, `v8 ignore`, and similar are machine instructions, and the short reason attached to one is required context, not justification -- never flag them under this category.\n- **AGENTS.md conventions** (see above).\n\n## Severity and verdict\n\n- `needs_fixing`: logic bugs, regressions, security issues, broken contracts, a change that defeats its own stated goal, missing required tests, AGENTS.md violations.\n- `suggestion`: style, minor refactor, nice-to-have, low-confidence observations, misleading comments/docstrings.\n\nCalibrate. Don't tag things `needs_fixing` to look thorough, and don't downgrade a real bug to a nit. **Be willing to find nothing**: if the PR is genuinely clean, return an empty `findings` array and say so.\n\n- `verdict: approve` — you'd sign off. Usually no findings or only `suggestion`s.\n- `verdict: comment` — **the default whenever you found things, including several `needs_fixing` ones.** Your findings are advice; the maintainer decides what blocks merge. The number/severity of findings does not by itself escalate the verdict.\n- `verdict: request_changes` — **rare.** Reserve for when merging _as-is_ would cause concrete harm the maintainer must not miss: a security vulnerability, data-loss bug, a build/test break this PR introduces, a backwards-incompatibility violating the post-pre-release stability rule, or a fundamentally wrong/unwanted approach. If torn between `comment` and `request_changes`, it's `comment`.\n\n## Output\n\nReturn the result schema:\n\n- `verdict` as above.\n- `summary`: the markdown review body. **Open with an explicit judgment of the approach** — is this the right change, solving the right problem, in a way that fits EmDash? If the approach is wrong/questionable, lead with that. Then state what you checked and the headline conclusion; if the code is clean, say so.\n- `findings`: one entry per line-anchored comment, each with `path` (repo-relative, e.g. `packages/core/src/loader.ts` — **not** prefixed with `/repo/`), `line` (plus `startLine` for a range), `side` (`RIGHT` for additions/changes, `LEFT` for deletions), `severity`, and a markdown `body` that states what the code does and why it's wrong, cites the line, and uses a ` ```suggestion ` block for a clean inline fix.\n\nCite line numbers, be specific, and keep any hostility pointed at the code, not the author.\n\n<!-- File: packages/admin/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Admin Skill\n\nPath: `packages/admin/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/CHANGELOG.md)\n\n<!-- File: packages/admin/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Admin Skill\n\nPath: `packages/admin/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/package.json)\n\n<!-- File: packages/admin/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Admin Skill\n\nPath: `packages/admin/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/admin/tsconfig.json)\n\n<!-- File: packages/atproto-test-utils/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/package.json)\n\n<!-- File: packages/atproto-test-utils/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Atproto-test-utils Skill\n\nPath: `packages/atproto-test-utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/atproto-test-utils/tsconfig.json)\n\n<!-- File: packages/auth-atproto/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Auth-atproto Skill\n\nPath: `packages/auth-atproto/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/CHANGELOG.md)\n\n<!-- File: packages/auth-atproto/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Auth-atproto Skill\n\nPath: `packages/auth-atproto/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/package.json)\n\n<!-- File: packages/auth-atproto/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Auth-atproto Skill\n\nPath: `packages/auth-atproto/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth-atproto/tsconfig.json)\n\n<!-- File: packages/auth/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Auth Skill\n\nPath: `packages/auth/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/CHANGELOG.md)\n\n<!-- File: packages/auth/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Auth Skill\n\nPath: `packages/auth/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/package.json)\n\n<!-- File: packages/auth/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Auth Skill\n\nPath: `packages/auth/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/auth/tsconfig.json)\n\n<!-- File: packages/blocks/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Blocks Skill\n\nPath: `packages/blocks/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/CHANGELOG.md)\n\n<!-- File: packages/blocks/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Blocks Skill\n\nPath: `packages/blocks/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/package.json)\n\n<!-- File: packages/blocks/playground/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/blocks/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/package.json)\n\n<!-- File: packages/blocks/playground/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/blocks/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/playground/tsconfig.json)\n\n<!-- File: packages/blocks/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Blocks Skill\n\nPath: `packages/blocks/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/blocks/tsconfig.json)\n\n<!-- File: packages/cloudflare/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Cloudflare Skill\n\nPath: `packages/cloudflare/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/CHANGELOG.md)\n\n<!-- File: packages/cloudflare/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Cloudflare Skill\n\nPath: `packages/cloudflare/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/package.json)\n\n<!-- File: packages/cloudflare/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Cloudflare Skill\n\nPath: `packages/cloudflare/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/emdash-cms/emdash/HEAD/packages/cloudflare/tsconfig.json)\n\n<!-- ... +327 more modular skills available via /api/skills/emdash-cms/emdash?path={path} -->\n</yakaai_skills>"}