Ghost AGENTS.md

Repository instructions for contributing to Ghost, a publishing platform, including its monorepo, which is one repository containing multiple related projects.

In plain words
What is it for?
Use them when changing Ghost code, running checks or tests, adding agent skills, handling workspace dependencies, or preparing a contribution.
Why use it?
They reduce setup and contribution mistakes by defining the required package manager, documentation to read, validation commands, testing workflow, and repository skill conventions.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/tryghost/ghost/agents-md
Clone the repo
git clone --depth 1 https://github.com/TryGhost/Ghost

Made for: Codex, OpenCode.

Per session 761 This file is loaded in full into every session.
When invoked 761 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00761 $0.00761
Opus 5 $0.00380 $0.00380
Sonnet 5 $0.00152 $0.00152
Haiku 4.5 $0.00076 $0.00076

Measured yesterday against content hash 3414ce388319, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

Ghost AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 67 lines

How it starts

The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md

Agent-specific execution guidance for the Ghost monorepo. Human-readable setup, workflow, architecture, and practice guidance lives in the codebase documentation and nearby package READMEs.

Start with:

Required workflow

  • Always use pnpm, never npm or Yarn. External dependency versions belong in the catalogs in pnpm-workspace.yaml; workspace dependencies use workspace: versions.
  • Run pnpm setup before other commands in a fresh checkout or worktree.
  • Use pnpm check as the default full validation command. Browser E2E and Ember Admin tests run separately; follow the testing guide.
  • Read the nearest AGENTS.md, CLAUDE.md, and README before changing a package or subsystem. More specific guidance overrides this file.
  • When committing, load and follow .agents/skills/commit/SKILL.md.

Repository skills

Repository skills live under .agents/skills/. When adding one, also add the matching .claude/skills/<name> symlink to ../../.agents/skills/<name>. Run pnpm lint:agent-skills to verify discovery.

Use the relevant repository skill before adding an Admin API endpoint, database migration, private feature flag, Shade component, or internal package.

Task routing and important warnings

  • Admin UI: read apps/admin/README.md and apps/shade/AGENTS.md. Build new features in React, use admin-x-framework for APIs, and use Shade for UI. Admin and Core deploy independently, so feature-detect backend support and test the older-backend case.
  • Embedded Admin CSS: do not import @tryghost/shade/styles.css from an embedded app. Admin owns the single Tailwind and Shade CSS lane.
  • Translations: follow the internationalization guide. Run the extraction command after changing t() calls and never split one sentence across translation calls.
  • Public apps: read the app's README and the shipping guide. Their release and CSS lanes differ from Admin.
  • Ghost Core: use the server map and read the services guide before adding a service. New standalone services use TypeScript; keep CommonJS only at existing require() boundaries. Boot owns service initialization; do not initialize on the first request.
  • ESLint: use the shared factories and dependency rules in the ESLint configuration README. A hand-written config must declare every plugin it imports locally.
  • Analytics: start with pnpm dev:analytics and follow the nearby Tinybird READMEs under ghost/core/core/server/data/tinybird/.

Read the full file on GitHub · 67 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 67 lines · 761 tokens per session scan A 3414ce388319

Subscribe to this mod's changes

Ghost AGENTS.md is an instructions file published in the GitHub repository TryGhost/Ghost (55,095 stars, last pushed today), licensed MIT. It adds 761 tokens to every session, about $0.0038 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.