Agent skill

Ghost Private Feature Flag

by TryGhost in TryGhost/Ghost

Adds a private developer-experiments feature flag to Ghost, covering the backend registration, the Labs settings toggle and the test snapshot updates.

MITAuto-check passedDevelopment

Install Ghost Private Feature Flag

skills CLI
$ npx skills add TryGhost/Ghost --skill add-private-feature-flag -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TryGhost/Ghost add-private-feature-flag --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TryGhost/Ghost.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-private-feature-flag .claude/skills/add-private-feature-flag && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
add-private-feature-flag
GitHub stars
55k
Token cost
~486 tokens
SKILL.md length
218 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Adds a private developer-experiments feature flag to Ghost, covering the backend registration, the Labs settings toggle and the test snapshot updates.

  • Works in 3 steps: Add the flag to… → Add a UI toggle in… → Run tests and update the config API…
  • Adding a new experimental flag behind the developer experiments toggle in Ghost
  • SKILL.md covers Overview, Steps and Notes
  • Calls pnpm

What it does

Private flags in Ghost show up under the Private features tab in Labs settings, and only when developer experiments are enabled. The skill walks through three steps: add the camelCase flag name to the `PRIVATE_FEATURES` array in `ghost/core/core/shared/labs.js`, add a matching entry with a title, description and flag to the features array in `private-features.tsx` under the admin app, then run the tests.

Testing means running the labs unit test, updating the config and settings API snapshots with the `-u` flag through `pnpm test:single`, and reviewing both diffs to confirm only the new flag was added. The name must be identical in the flag list, the toggle and the snapshots, and no database migration is needed because flags live in one JSON setting. Public beta flags go in `PUBLIC_BETA_FEATURES` and `beta-features.tsx` instead. The skill points to the repository's feature flag guide to read first.

When your agent uses it

  • Adding a new experimental flag behind the developer experiments toggle in Ghost
  • Registering a flag in Ghost's labs.js and exposing its settings toggle
  • Updating the config and settings API snapshots after adding a flag

Example prompts

  • “Add a private feature flag called newMemberImport to Ghost.”
  • “Register a developer experiment flag for the new editor sidebar and add its Labs toggle.”
  • “I added a flag in labs.js. Update the snapshots and check that only that flag changed.”

Requirements

  • A Ghost repository checkout with pnpm

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Add the flag to ghost/core/core/shared/labs.js
  2. Add a UI toggle in apps/admin/src/settings/advanced/labs/private-features.tsx
  3. Run tests and update the config API snapshot

What it can do on your machine

Read from SKILL.md and the folder at commit 5b09711. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ghost Private Feature Flag loads about 486 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 218 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~486

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TryGhost/Ghost at commit 5b09711, republished under its MIT licence (© TryGhost). 218 words, ~486 tokens.

Download SKILL.mdSave it as .claude/skills/add-private-feature-flag/SKILL.md (or your agent's skills folder).
name
add-private-feature-flag
description
Use when adding a new private (developer experiments) feature flag to Ghost, including the backend registration and settings UI toggle.

Add Private Feature Flag

Overview

Adds a new private feature flag to Ghost. Private flags appear in Labs settings under the "Private features" tab, visible only when developer experiments are enabled.

Read and follow the canonical feature flag guide before adding a flag. The guide covers when a Labs flag is appropriate, safe gating across server and Admin, testing, and the cleanup lifecycle.

For Admin 7 milestone flags, also use the Admin 7 feature flags skill for naming and shared presentation guidance.

Steps

  1. Add the flag to ghost/core/core/shared/labs.js

    • Add the flag name (camelCase string) to the PRIVATE_FEATURES array.
  2. Add a UI toggle in apps/admin/src/settings/advanced/labs/private-features.tsx

    • Add a new entry to the features array with title, description, and flag (must match the string in labs.js).
  3. Run tests and update the config API snapshot

    • Unit: cd ghost/core && pnpm test:single test/unit/shared/labs.test.js
    • Update snapshots: cd ghost/core && pnpm test:single test/e2e-api/admin/config.test.js -u && pnpm test:single test/e2e-api/admin/settings.test.js -u
    • Review both snapshot diffs to confirm only your new flag was added.

Notes

  • No database migration is needed. Labs flags are stored in a single JSON labs setting.
  • The flag name must be identical in labs.js, private-features.tsx, and the snapshots.
  • Flags are camelCase strings (e.g. welcomeEmailDesignCustomization).
  • For public beta flags (visible to all users), add to PUBLIC_BETA_FEATURES in labs.js instead and add the toggle to apps/admin/src/settings/advanced/labs/beta-features.tsx.

© TryGhost, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/add-private-feature-flag of TryGhost/Ghost.

Open the folder on GitHubat commit 5b09711

Compare with similar skills

Ghost Private Feature Flag next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ghost Private Feature Flag compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ghost Private Feature Flag this skillTryGhost/Ghost55k—~486Automated safety check: PassMIT
@pierre/diffs Code Renderingpierrecomputer/pierre6.2k2 repos~803Automated safety check: PassApache-2.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
Link Workspace Packagesnomcopter/react-mosaic4.8k6 repos~760Automated safety check: PassCustom licence
Pull Requestspnpm/pnpm37k—~2.2kAutomated safety check: PassMIT
Release Notespnpm/pnpm37k—~2.8kAutomated safety check: PassMIT

Similar skills

  • @pierre/diffs Code Rendering

    pierrecomputer/pierre

    Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.

    6.2k GitHub starsUsed in 2 repos~803 tokens
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Link Workspace Packages

    nomcopter/react-mosaic

    Link workspace packages in monorepos (npm, yarn, pnpm, bun).

    4.8k GitHub starsUsed in 6 repos~760 tokens
    DevelopmentAuto-check passed
  • Pull Requests

    pnpm/pnpm

    Take a change through a pull request in the pnpm repository — opening it, then staying with it after every push until CI is green and the review round is quiet.

    37k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Notes

    pnpm/pnpm

    Curate a pending release page - merging entries that describe one change, dropping notes for defects that never shipped, ordering by importance, and checking the version the intents ask for.

    37k GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from TryGhost/Ghost

  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    55k GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.

    55k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Guidance for running the Tinybird tb CLI: choosing local, branch or cloud workflows, building and deploying, loading data, handling tokens and secrets, and CI/CD.

    55k GitHub stars~388 tokensUpdated today
    Auto-check passed
  • Ghost Commit Workflow

    TryGhost/Ghost

    Guides the agent through making a focused git commit in the Ghost repository: inspect state, stage only relevant files, follow the contributing rules, then verify.

    55k GitHub stars~286 tokensUpdated today
    Auto-check passed
  • Rules for writing Tinybird datasources, pipes, endpoints and materialized views, with SQL constraints, optimization habits and deduplication patterns.

    55k GitHub stars~417 tokensUpdated today
    Auto-check passed
  • Admin7 Feature Flags

    TryGhost/Ghost

    Add, consume, review, or remove Admin 7 milestone flags using Ghost's existing Labs conventions.

    55k GitHub stars~169 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Ghost Private Feature Flag

What does Ghost Private Feature Flag do?

Adds a private developer-experiments feature flag to Ghost, covering the backend registration, the Labs settings toggle and the test snapshot updates. Private flags in Ghost show up under the Private features tab in Labs settings, and only when developer experiments are enabled.tsx` under the admin app, then run the tests.

When should I use Ghost Private Feature Flag?

Ghost Private Feature Flag fits situations like: adding a new experimental flag behind the developer experiments toggle in Ghost; registering a flag in Ghost's labs.js and exposing its settings toggle; updating the config and settings API snapshots after adding a flag.

How do I install Ghost Private Feature Flag in Claude Code?

Run `npx skills add TryGhost/Ghost --skill add-private-feature-flag -a claude-code`. Or copy the skill folder (.agents/skills/add-private-feature-flag in TryGhost/Ghost) into .claude/skills/add-private-feature-flag in your project. Claude Code loads it when a task matches its description.

How do I install Ghost Private Feature Flag in Codex?

Run `npx skills add TryGhost/Ghost --skill add-private-feature-flag -a codex`. Or copy the skill folder (.agents/skills/add-private-feature-flag in TryGhost/Ghost) into .agents/skills/add-private-feature-flag in your project. Codex loads it when a task matches its description.

Can I use Ghost Private Feature Flag in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TryGhost/Ghost --skill add-private-feature-flag -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-private-feature-flag, .gemini/skills/add-private-feature-flag, .github/skills/add-private-feature-flag and .opencode/skills/add-private-feature-flag in your project.

What does Ghost Private Feature Flag need to run?

Going by SKILL.md and its folder, Ghost Private Feature Flag needs the command-line tools its instructions call (pnpm). Our summary lists: A Ghost repository checkout with pnpm.

Does Ghost Private Feature Flag access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ghost Private Feature Flag safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ghost Private Feature Flag use?

Ghost Private Feature Flag is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ghost Private Feature Flag use?

About 486 tokens (SKILL.md is roughly 1.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ghost Private Feature Flag?

Skills that share tags, products or a category with Ghost Private Feature Flag: @pierre/diffs Code Rendering (pierrecomputer/pierre, 6.2k stars), React Router Release Notes Prep (remix-run/react-router, 57k stars), Link Workspace Packages (nomcopter/react-mosaic, 4.8k stars) and Pull Requests (pnpm/pnpm, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ghost Private Feature Flag?

TryGhost (a GitHub organization) maintains it in TryGhost/Ghost, which has 55,495 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: TryGhost/Ghost on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.