{"owner":"TryGhost","repo":"Ghost","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":1834,"categories":["root-instruction","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"Ghost":{"command":"npx","args":["-y","@modelcontextprotocol/server-Ghost"]}}},"found":["AGENTS.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"AGENTS.md":"# AGENTS.md\n\nAgent-specific execution guidance for the Ghost monorepo. Human-readable setup,\nworkflow, architecture, and practice guidance lives in the\n[codebase documentation](docs/README.md) and nearby package READMEs.\n\nStart with:\n\n- [Development setup](docs/contributing/development-setup.md)\n- [Contribution workflow](docs/contributing/workflow.md)\n- [Writing codebase documentation](docs/contributing/documentation.md)\n- [Testing](docs/contributing/testing.md)\n- [Shipping](docs/contributing/shipping.md)\n- [Codebase direction](docs/codebase/direction.md)\n- [Monorepo structure](docs/codebase/monorepo-structure.md)\n\n## Required workflow\n\n- Always use `pnpm`, never npm or Yarn. External dependency versions belong in\n  the catalogs in `pnpm-workspace.yaml`; workspace dependencies use\n  `workspace:` versions.\n- Run `pnpm bootstrap` before other commands in a fresh checkout or worktree.\n- Run Ghost in the background with `pnpm dev:up`, `pnpm dev:status` and\n  `pnpm dev:down`, and give the user the URL they print as a markdown link.\n  Don't background `pnpm dev`: killing its pid leaves Ghost and the dev\n  servers running. Before you finish, stop a stack you started only to check\n  your own work with `pnpm dev:down`; leave running one the user asked for.\n  Subagents always stop theirs, which otherwise run until the parent session\n  exits.\n- Use `pnpm check` as the default full validation command. Browser E2E tests\n  run separately; follow the testing guide.\n- Read the nearest `AGENTS.md` and README before changing a package\n  or subsystem. More specific guidance overrides this file.\n- When committing, load and follow `.agents/skills/commit/SKILL.md`.\n\n## Repository skills\n\nRepository skills live under `.agents/skills/`. When adding one, also add the\nmatching `.claude/skills/<name>` symlink to\n`../../.agents/skills/<name>`. Run `pnpm lint:agent-skills` to verify discovery.\n\nUse the relevant repository skill before adding an Admin API endpoint, database\nmigration, private feature flag, Shade component, or internal package.\n\n## Task routing and important warnings\n\n- **Admin UI:** read [`apps/admin/README.md`](apps/admin/README.md) and\n  [`apps/shade/AGENTS.md`](apps/shade/AGENTS.md). Build new features in React,\n  use `admin-x-framework` for APIs, and use Shade for UI. Admin and Core deploy\n  independently, so feature-detect backend support and test the older-backend\n  case.\n- **Embedded Admin CSS:** do not import `@tryghost/shade/styles.css` from an\n  embedded app. Admin owns the single Tailwind and Shade CSS lane.\n- **Translations:** follow the\n  [internationalization guide](docs/practices/internationalization.md). Run the\n  extraction command after changing `t()` calls and never split one sentence\n  across translation calls.\n- **Public apps:** read the app's README and the\n  [shipping guide](docs/contributing/shipping.md). Their release and CSS lanes\n  differ from Admin.\n- **Ghost Core:** use the [server map](docs/codebase/monorepo-structure.md#ghost-core)\n  and read the [services guide](ghost/core/server/services/README.md) before\n  adding or relocating a service root; apply its placement rules rather than\n  inferring ownership from existing directory names. New standalone services\n  use TypeScript; keep CommonJS only\n  at existing `require()` boundaries. Boot owns service initialization; do not\n  initialize on the first request.\n- **Repository tooling:** read the [tooling ownership guide](tools/README.md)\n  and the owning folder README before adding or relocating scripts.\n- **ESLint:** use the shared factories and dependency rules in the\n  [ESLint configuration README](tools/configs/eslint/README.md). A hand-written config\n  must declare every plugin it imports locally.\n- **Analytics:** start with `pnpm dev:analytics` and follow the nearby Tinybird\n  READMEs under `ghost/core/server/data/tinybird/`.\n\nKeep shared facts in human documentation. This file should contain only routing,\nagent execution constraints, and high-value warnings that prevent recurring\nmistakes.\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/plugin.json)"},"files":{"AGENTS.md":"# AGENTS.md\n\nAgent-specific execution guidance for the Ghost monorepo. Human-readable setup,\nworkflow, architecture, and practice guidance lives in the\n[codebase documentation](docs/README.md) and nearby package READMEs.\n\nStart with:\n\n- [Development setup](docs/contributing/development-setup.md)\n- [Contribution workflow](docs/contributing/workflow.md)\n- [Writing codebase documentation](docs/contributing/documentation.md)\n- [Testing](docs/contributing/testing.md)\n- [Shipping](docs/contributing/shipping.md)\n- [Codebase direction](docs/codebase/direction.md)\n- [Monorepo structure](docs/codebase/monorepo-structure.md)\n\n## Required workflow\n\n- Always use `pnpm`, never npm or Yarn. External dependency versions belong in\n  the catalogs in `pnpm-workspace.yaml`; workspace dependencies use\n  `workspace:` versions.\n- Run `pnpm bootstrap` before other commands in a fresh checkout or worktree.\n- Run Ghost in the background with `pnpm dev:up`, `pnpm dev:status` and\n  `pnpm dev:down`, and give the user the URL they print as a markdown link.\n  Don't background `pnpm dev`: killing its pid leaves Ghost and the dev\n  servers running. Before you finish, stop a stack you started only to check\n  your own work with `pnpm dev:down`; leave running one the user asked for.\n  Subagents always stop theirs, which otherwise run until the parent session\n  exits.\n- Use `pnpm check` as the default full validation command. Browser E2E tests\n  run separately; follow the testing guide.\n- Read the nearest `AGENTS.md` and README before changing a package\n  or subsystem. More specific guidance overrides this file.\n- When committing, load and follow `.agents/skills/commit/SKILL.md`.\n\n## Repository skills\n\nRepository skills live under `.agents/skills/`. When adding one, also add the\nmatching `.claude/skills/<name>` symlink to\n`../../.agents/skills/<name>`. Run `pnpm lint:agent-skills` to verify discovery.\n\nUse the relevant repository skill before adding an Admin API endpoint, database\nmigration, private feature flag, Shade component, or internal package.\n\n## Task routing and important warnings\n\n- **Admin UI:** read [`apps/admin/README.md`](apps/admin/README.md) and\n  [`apps/shade/AGENTS.md`](apps/shade/AGENTS.md). Build new features in React,\n  use `admin-x-framework` for APIs, and use Shade for UI. Admin and Core deploy\n  independently, so feature-detect backend support and test the older-backend\n  case.\n- **Embedded Admin CSS:** do not import `@tryghost/shade/styles.css` from an\n  embedded app. Admin owns the single Tailwind and Shade CSS lane.\n- **Translations:** follow the\n  [internationalization guide](docs/practices/internationalization.md). Run the\n  extraction command after changing `t()` calls and never split one sentence\n  across translation calls.\n- **Public apps:** read the app's README and the\n  [shipping guide](docs/contributing/shipping.md). Their release and CSS lanes\n  differ from Admin.\n- **Ghost Core:** use the [server map](docs/codebase/monorepo-structure.md#ghost-core)\n  and read the [services guide](ghost/core/server/services/README.md) before\n  adding or relocating a service root; apply its placement rules rather than\n  inferring ownership from existing directory names. New standalone services\n  use TypeScript; keep CommonJS only\n  at existing `require()` boundaries. Boot owns service initialization; do not\n  initialize on the first request.\n- **Repository tooling:** read the [tooling ownership guide](tools/README.md)\n  and the owning folder README before adding or relocating scripts.\n- **ESLint:** use the shared factories and dependency rules in the\n  [ESLint configuration README](tools/configs/eslint/README.md). A hand-written config\n  must declare every plugin it imports locally.\n- **Analytics:** start with `pnpm dev:analytics` and follow the nearby Tinybird\n  READMEs under `ghost/core/server/data/tinybird/`.\n\nKeep shared facts in human documentation. This file should contain only routing,\nagent execution constraints, and high-value warnings that prevent recurring\nmistakes.\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# AGENTS.md\n\nAgent-specific execution guidance for the Ghost monorepo. Human-readable setup,\nworkflow, architecture, and practice guidance lives in the\n[codebase documentation](docs/README.md) and nearby package READMEs.\n\nStart with:\n\n- [Development setup](docs/contributing/development-setup.md)\n- [Contribution workflow](docs/contributing/workflow.md)\n- [Writing codebase documentation](docs/contributing/documentation.md)\n- [Testing](docs/contributing/testing.md)\n- [Shipping](docs/contributing/shipping.md)\n- [Codebase direction](docs/codebase/direction.md)\n- [Monorepo structure](docs/codebase/monorepo-structure.md)\n\n## Required workflow\n\n- Always use `pnpm`, never npm or Yarn. External dependency versions belong in\n  the catalogs in `pnpm-workspace.yaml`; workspace dependencies use\n  `workspace:` versions.\n- Run `pnpm bootstrap` before other commands in a fresh checkout or worktree.\n- Run Ghost in the background with `pnpm dev:up`, `pnpm dev:status` and\n  `pnpm dev:down`, and give the user the URL they print as a markdown link.\n  Don't background `pnpm dev`: killing its pid leaves Ghost and the dev\n  servers running. Before you finish, stop a stack you started only to check\n  your own work with `pnpm dev:down`; leave running one the user asked for.\n  Subagents always stop theirs, which otherwise run until the parent session\n  exits.\n- Use `pnpm check` as the default full validation command. Browser E2E tests\n  run separately; follow the testing guide.\n- Read the nearest `AGENTS.md` and README before changing a package\n  or subsystem. More specific guidance overrides this file.\n- When committing, load and follow `.agents/skills/commit/SKILL.md`.\n\n## Repository skills\n\nRepository skills live under `.agents/skills/`. When adding one, also add the\nmatching `.claude/skills/<name>` symlink to\n`../../.agents/skills/<name>`. Run `pnpm lint:agent-skills` to verify discovery.\n\nUse the relevant repository skill before adding an Admin API endpoint, database\nmigration, private feature flag, Shade component, or internal package.\n\n## Task routing and important warnings\n\n- **Admin UI:** read [`apps/admin/README.md`](apps/admin/README.md) and\n  [`apps/shade/AGENTS.md`](apps/shade/AGENTS.md). Build new features in React,\n  use `admin-x-framework` for APIs, and use Shade for UI. Admin and Core deploy\n  independently, so feature-detect backend support and test the older-backend\n  case.\n- **Embedded Admin CSS:** do not import `@tryghost/shade/styles.css` from an\n  embedded app. Admin owns the single Tailwind and Shade CSS lane.\n- **Translations:** follow the\n  [internationalization guide](docs/practices/internationalization.md). Run the\n  extraction command after changing `t()` calls and never split one sentence\n  across translation calls.\n- **Public apps:** read the app's README and the\n  [shipping guide](docs/contributing/shipping.md). Their release and CSS lanes\n  differ from Admin.\n- **Ghost Core:** use the [server map](docs/codebase/monorepo-structure.md#ghost-core)\n  and read the [services guide](ghost/core/server/services/README.md) before\n  adding or relocating a service root; apply its placement rules rather than\n  inferring ownership from existing directory names. New standalone services\n  use TypeScript; keep CommonJS only\n  at existing `require()` boundaries. Boot owns service initialization; do not\n  initialize on the first request.\n- **Repository tooling:** read the [tooling ownership guide](tools/README.md)\n  and the owning folder README before adding or relocating scripts.\n- **ESLint:** use the shared factories and dependency rules in the\n  [ESLint configuration README](tools/configs/eslint/README.md). A hand-written config\n  must declare every plugin it imports locally.\n- **Analytics:** start with `pnpm dev:analytics` and follow the nearby Tinybird\n  READMEs under `ghost/core/server/data/tinybird/`.\n\nKeep shared facts in human documentation. This file should contain only routing,\nagent execution constraints, and high-value warnings that prevent recurring\nmistakes.\n","isInternal":false,"tokens":934,"sizeBytes":4034},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":193},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":179},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":172}],"systemPromptSnippet":"<yakaai_skills repo=\"TryGhost/Ghost\">\n<!-- File: AGENTS.md (Tokens: ~934 | Category: root-instruction) -->\n# AGENTS.md\n\nAgent-specific execution guidance for the Ghost monorepo. Human-readable setup,\nworkflow, architecture, and practice guidance lives in the\n[codebase documentation](docs/README.md) and nearby package READMEs.\n\nStart with:\n\n- [Development setup](docs/contributing/development-setup.md)\n- [Contribution workflow](docs/contributing/workflow.md)\n- [Writing codebase documentation](docs/contributing/documentation.md)\n- [Testing](docs/contributing/testing.md)\n- [Shipping](docs/contributing/shipping.md)\n- [Codebase direction](docs/codebase/direction.md)\n- [Monorepo structure](docs/codebase/monorepo-structure.md)\n\n## Required workflow\n\n- Always use `pnpm`, never npm or Yarn. External dependency versions belong in\n  the catalogs in `pnpm-workspace.yaml`; workspace dependencies use\n  `workspace:` versions.\n- Run `pnpm bootstrap` before other commands in a fresh checkout or worktree.\n- Run Ghost in the background with `pnpm dev:up`, `pnpm dev:status` and\n  `pnpm dev:down`, and give the user the URL they print as a markdown link.\n  Don't background `pnpm dev`: killing its pid leaves Ghost and the dev\n  servers running. Before you finish, stop a stack you started only to check\n  your own work with `pnpm dev:down`; leave running one the user asked for.\n  Subagents always stop theirs, which otherwise run until the parent session\n  exits.\n- Use `pnpm check` as the default full validation command. Browser E2E tests\n  run separately; follow the testing guide.\n- Read the nearest `AGENTS.md` and README before changing a package\n  or subsystem. More specific guidance overrides this file.\n- When committing, load and follow `.agents/skills/commit/SKILL.md`.\n\n## Repository skills\n\nRepository skills live under `.agents/skills/`. When adding one, also add the\nmatching `.claude/skills/<name>` symlink to\n`../../.agents/skills/<name>`. Run `pnpm lint:agent-skills` to verify discovery.\n\nUse the relevant repository skill before adding an Admin API endpoint, database\nmigration, private feature flag, Shade component, or internal package.\n\n## Task routing and important warnings\n\n- **Admin UI:** read [`apps/admin/README.md`](apps/admin/README.md) and\n  [`apps/shade/AGENTS.md`](apps/shade/AGENTS.md). Build new features in React,\n  use `admin-x-framework` for APIs, and use Shade for UI. Admin and Core deploy\n  independently, so feature-detect backend support and test the older-backend\n  case.\n- **Embedded Admin CSS:** do not import `@tryghost/shade/styles.css` from an\n  embedded app. Admin owns the single Tailwind and Shade CSS lane.\n- **Translations:** follow the\n  [internationalization guide](docs/practices/internationalization.md). Run the\n  extraction command after changing `t()` calls and never split one sentence\n  across translation calls.\n- **Public apps:** read the app's README and the\n  [shipping guide](docs/contributing/shipping.md). Their release and CSS lanes\n  differ from Admin.\n- **Ghost Core:** use the [server map](docs/codebase/monorepo-structure.md#ghost-core)\n  and read the [services guide](ghost/core/server/services/README.md) before\n  adding or relocating a service root; apply its placement rules rather than\n  inferring ownership from existing directory names. New standalone services\n  use TypeScript; keep CommonJS only\n  at existing `require()` boundaries. Boot owns service initialization; do not\n  initialize on the first request.\n- **Repository tooling:** read the [tooling ownership guide](tools/README.md)\n  and the owning folder README before adding or relocating scripts.\n- **ESLint:** use the shared factories and dependency rules in the\n  [ESLint configuration README](tools/configs/eslint/README.md). A hand-written config\n  must declare every plugin it imports locally.\n- **Analytics:** start with `pnpm dev:analytics` and follow the nearby Tinybird\n  READMEs under `ghost/core/server/data/tinybird/`.\n\nKeep shared facts in human documentation. This file should contain only routing,\nagent execution constraints, and high-value warnings that prevent recurring\nmistakes.\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/TryGhost/Ghost/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}