verify-service-change
Skill56k starsChanged 3 days agoMITView on GitHub
Independently verify a service characterization or defineService migration before its pull request is opened or marked ready. Use when checking tests-only characterization or a service migration that someone else wrote.
Trending
Less talk lately.about the whole repository
Who's talking about TryGhost/Ghost
- Repocast | GitHub 일일 브리핑“뉴스레터로 돈 버는 오픈소스, Ghost 공개”YouTube · Aug 21, 2026 · 1.2k views
- YT G“How to install Ghost platform on Mac locally”YouTube · Jun 27, 2018 · 508 views
- The Infinity“What is Ghost? The Next-Gen Publishing Platform for Creators”YouTube · Aug 13, 2025 · 277 views
- Ghost for Beginners“Significance of Ghost's Upcoming Public API”YouTube · Nov 6, 2015 · 251 views
- Blueprint Bytes“Blueprint Bytes | Ghost: The Professional Open-Source Publishing Platform”YouTube · Aug 3, 2026 · 190 views
The biggest 5 of 96 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 96
Talked about on Stack Overflow, GitHub, YouTube, Bluesky, Hacker News and the web (96 times).
On Stack Overflow · 28
- Feb 24, 2014Bootstrap 3 .img-responsive images are not responsive inside fieldset in FireFox50 votes
- Dec 6, 2017Random high content download time in chrome?28 votes
- Oct 16, 2013Ghost blog Failed to lookup view "index"25 votes
- Dec 9, 2014Ghost: newest post with specific tag on the front page12 votes
- Feb 3, 2019How do I set Ghost Blog Custom Routes.yaml Collection Title / Meta Description in my custom template?6 votes · 3 answers
23 more on Stack Overflow
- Feb 13, 2015How to deploy an Ember CLI app to Azure Websites6 votes · 2 answers
- Jan 23, 2015Run Ghost in a subdirectory of my main Node.js application5 votes · 1 answer
- May 14, 2020custom fields and post types for Ghost4 votes
- Oct 5, 2016Common practice for database schema load on Bookshelf.js/Knex.js4 votes · 1 answer
- Nov 7, 2013How can I apply date formatting to Ghost's post.published_at property?4 votes
- Feb 19, 2016ERR_TOO_MANY_REDIRECTS while setting up Ghost + Nginx with both HTTP and HTTPS2 votes
- Jan 15, 2016Ghost how to add custom template post2 votes
- Jan 19, 2015Run Ghost blog as subfolder of website running on node http-server2 votes
- Nov 20, 2014Use an articles title in the url, not the id2 votes
- Feb 20, 2019How do I set Ghost Blog Custom Routes.yaml Collection Title / Meta Description in my custom template?1 vote
- Feb 8, 2019How do I Re-route Ghost Blog Admin URL without modifying the API Address?1 vote
- Jul 2, 2018How run ghost on Google App Engine1 vote
- Mar 23, 2018Accessing Post html from Ghost Blog Custom Handlebars Helper1 vote
- Dec 10, 2017Initialize Ghost database on new install1 vote · 3 answers
- Jan 14, 2017Ghost on Heroku1 vote
- Mar 9, 2016Trying to setup a Ghost blog with Buster1 vote
- Dec 23, 2015Ghost Blog posts sort order1 vote
- Feb 20, 2015node-pre-gyp install --fallback-to-build error install with npm on OSX1 vote
- Feb 14, 2015Is there a way to give Ghost static pages access to the 'posts' variable that index.hbs is passed?1 vote
- Sep 16, 2014How does ember data access fixtures declared with ic-ajax's declareFixture?1 vote
- Apr 11, 2014Error installing via npm install1 vote
- Nov 18, 2013Why these 2 calls to same function?1 vote · 1 answer
- Nov 6, 2013gem installed, can't import bourbon1 vote · 1 answer
On GitHub · 26
- May 2, 2022`dropNullable` gives incorrect SQL on MariaDB 10.2.7+ — knex/knex12 reactions · 1 comment
- Jan 22, 2019Source Request: Ghost — gridsome/gridsome11 reactions · 2 comments
- Sep 5, 2018Enhancement: expose libvips magicksave, requires v8.7.0 — lovell/sharp11 reactions · 30 comments
- Dec 18, 2019Fix IME issue — bustle/mobiledoc-kit8 reactions · 4 comments
- Oct 28, 2019Non-breaking spaces are ignored by the editor — bustle/mobiledoc-kit4 reactions · 2 comments
21 more on GitHub
- Sep 30, 2016Minor toolbar visual refinement suggestions — brave/browser-laptop4 reactions · 5 comments
- Sep 12, 2023[benchmark] Contribute Ghost.js workload to Node.js benchmarks — nodejs/nodesays it tested it3 reactions · 3 comments
- Apr 24, 2021Repeated crash on 4.3.2-alpine with no log output — TryGhost/docker-library-ghost2 reactions · 30 comments
- Jun 11, 2019:memo: iTop security policy — Combodo/iTop2 reactions · 4 comments
- Feb 7, 2018add a SUPPORT.md file to centralize support resources for Desktop — desktop/desktop2 reactions · 1 comment
- Mar 14, 2017🔥 remove settings.postsPerPage — TryGhost/Admin2 reactions · 1 comment
- Sep 25, 2026Add outbound ActivityPub Move support — TryGhost/ActivityPub1 reaction · 5 comments
- Jun 16, 2026chore(ghost): bump ghost to 6.45.0 — helmforgedev/charts1 reaction · 2 comments
- Jun 15, 2026Improved Twitter embed rendering — TryGhost/ActivityPub1 reaction · 1 comment
- Jun 10, 2026chore(ghost): bump ghost to 6.44.1 — helmforgedev/charts1 reaction · 2 comments
- Nov 9, 2023🐛 Fixed HTML->Lexical conversion not handling paragraphs inside blockquotes — TryGhost/Koenig1 reaction
- Jan 13, 2023Added support for FormData and body streams in express-test — TryGhost/framework1 reaction · 2 comments
- Sep 6, 2021Added missing schedule events to webhook dropdown — TryGhost/Admin1 reaction · 6 comments
- Apr 1, 2021Allows administrators to update email settings — TryGhost/Admin1 reaction · 3 comments
- Nov 20, 2019✨ Added Secondary Navigation — TryGhost/Admin1 reaction · 3 comments
- Sep 19, 2019✨ Added Koenig bookmark card CSS v2 rules — TryGhost/gscan1 reaction
- Dec 11, 2018Fix temp files not being deleted of unzipped theme in cache — TryGhost/gscan1 reaction · 2 comments
- Dec 10, 2018🐛 Fixed ability to submit invite form with a missing role — TryGhost/Admin1 reaction · 1 comment
- Jul 11, 2017Switch from ember-cli-shims to new module imports — TryGhost/Admin1 reaction · 2 comments
- Dec 21, 2016Add initial alpine variant — TryGhost/docker-library-ghost1 reaction · 8 comments
- Aug 24, 2016🐛 prevent task-buttons dropping clicks after focus-out events — TryGhost/Admin1 reaction · 1 comment
On YouTube · 19
- Aug 21, 2026뉴스레터로 돈 버는 오픈소스, Ghost 공개 — Repocast | GitHub 일일 브리핑1.2k views · 1 comment
- Jun 27, 2018How to install Ghost platform on Mac locally — YT G508 views
- Aug 13, 2025What is Ghost? The Next-Gen Publishing Platform for Creators — The Infinity277 views · 2 comments
- Nov 6, 2015Significance of Ghost's Upcoming Public API — Ghost for Beginners251 views
- Aug 3, 2026Blueprint Bytes | Ghost: The Professional Open-Source Publishing Platform — Blueprint Bytes190 views
14 more on YouTube
- Sep 13, 2026Cut the Cost: Self‑Hosted Ghost for Free Publishing — CodeAZ187 views
- Nov 30, 2017Ghost Blog GitHub repo History — Kirsten Kluge163 views
- Apr 25, 2019Ghost Content Management System — Brian Christner155 views
- Oct 20, 2013TryGhost - Ghost — GourceTV87 views
- Apr 20, 2026Ghost CMS: 93 Devs, 567 Commits, One Month! 👻✨ — CodeTimelapse81 views
- Jun 20, 2026Ghost — Open Source Alternative to Medium / Substack — Open Sourcery77 views
- Sep 13, 202610 free GitHub projects you can legally rebrand and sell #ai — Neura Quanta76 views
- Aug 7, 2026Stop Paying Substack! Own Your Newsletter FREE (Ghost) — OpenRepo71 views
- Nov 9, 2026🤯 This Open-Source Tool Can Replace Substack! Build Your Own Platform 🔥 #Shorts — GitHub_devils52 views
- Jul 14, 2026Stop Giving Substack a Cut! Run Your OWN Newsletter (Ghost) — OpenRepo51 views
- May 28, 2026GitHub - TryGhost/Ghost: Independent technology for modern publishing, memberships, subscriptions... — GitHub Daily Trend AI Podcast50 views
- Jan 2, 2022TryGhost/Ghost - Gource visualisation — Gourcer25 views
- Oct 22, 2026How to Get Notified When Ghost CMS Releases a New Version — MayaGuides7 views
- Nov 6, 2026Stop Paying $300.00 for Webflow Premium Site Plan — This Free GitHub Repo Replaces It — Githut0 views · 1 comment
On Bluesky · 15
- Sep 1, 2025This is not true Quillette isn’t on ghost.org. They run the open source code from github.com/TryGhost/Ghost — @retornam.bsky.social19 likes and reposts · 1 reply
- Jan 30, 2025Congrats to @johnonolan.bsky.social and team for the latest release of the open source Ghost CMS (now up to 5.108.2). A great CMS, a great… — @davidryan.bsky.social4 likes and reposts · 1 reply
- Sep 24, 2025📦 TryGhost / Ghost ⭐ 50,758 (+31) 🗒 JavaScript Independent technology for modern publishing, memberships, subscriptions and newsletters. — @github-trending-js.bsky.social3 likes and reposts
- Oct 3, 2024And they're using an open source CMS with an active developer community, so there is an emphasis on a lot of these kinds of open web… — @ericm.cd3 likes and reposts
- Aug 22, 2026📦 TryGhost / Ghost ⭐ 54,861 (+32) 🗒 JavaScript Independent technology for modern publishing, memberships, subscriptions and newsletters. — @github-trending.bsky.social2 likes and reposts
10 more on Bluesky
- May 17, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 TryGhost / Ghost ⭐ 53,070 (+209) 🗒 JavaScript Independent technology for modern publishing,… — @github-trending-js.bsky.social2 likes and reposts · 1 reply
- Mar 30, 2026📦 TryGhost / Ghost ⭐ 52,213 (+36) 🗒 JavaScript Independent technology for modern publishing, memberships, subscriptions and newsletters. — @github-trending-js.bsky.social2 likes and reposts
- Dec 3, 2025Ist nicht LAMP, aber: Ghost? — @papaleaks.de2 likes and reposts · 1 reply
- May 7, 2025Maybe github.com/TryGhost/Ghost ? You can self host it and the ui is clean, but I think it might be a little bit too focused on selling… — @efpee.pl2 likes and reposts
- Jan 6, 2025It’s open source too! github.com/TryGhost/Ghost (also they don’t pay me, I’m just enthusiastic about web stuff) — @laniakita.com2 likes and reposts
- May 18, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 TryGhost / Ghost ⭐ 53,070 (+209) 🗒 JavaScript Independent technology for modern publishing,… — @github-trending.bsky.social1 likes and repost · 1 reply
- Mar 4, 2024📦 TryGhost / Ghost ⭐ 45,277 (+32) 🗒 JavaScript Independent technology for modern publishing, memberships, subscriptions and newsletters. — @github-trending-js.bsky.social1 likes and repost
- Mar 1, 2024I thought this might interest you, since I remembered you considering Ghost. CEO/founder of Ghost flat-out saying Ghost won't sell your… — @flaky.blue1 likes and repost · 1 reply
- Dec 28, 2023I am interested in trying Ghost ghost.org github.com/TryGhost/Ghost And what people think of it before I commit — @tqft.bsky.social1 likes and repost
- Dec 21, 2023If you're a complete nerd you can just host it on your own damn server and not have ANYONE tell you what to do. — @brokentoys.social1 likes and repost
On Hacker News · 7
- Oct 14, 2013Ghost Blogging Platform47 points · 6 comments
- Feb 27, 2024Tea.xyz causes a flood of spam pull requests to open source projects46 points · 16 comments
- Feb 5, 2018Ghost: A beautiful, Open Source, markdown blogging platform in JavaScript5 points · 1 comment
- Feb 18, 2014The future of Ghost's admin UI4 points
- Jul 28, 2016New Ghost blog release with scheduled posts2 points
2 more on Hacker News
- Jul 25, 2017Ghost Blog 1.0.0 has been released1 point · 3 comments
- Feb 19, 2014The future of Ghost's admin UI1 point
On the web · 1
- Oct 5, 2026CVE-2026-105647 Detail - NVD — nvd.nist.gov
In this repository19 other files it gives its agents.
- AGENTS.mdAGENTS.md
- e2e/AGENTS.mdAGENTS.md
- Add Admin API EndpointSkill
- add-private-feature-flagSkill
- add-serviceSkill
- admin7-feature-flagsSkill
- commitSkill
- convert-internal-package-to-typescriptSkill
- Create database migrationSkill
- Format numbersSkill
- migrate-internal-packageSkill
- migrate-serviceSkill
- Shade component decisionSkill
- Shade dropdown surface contractSkill
- Shade inputSurface recipeSkill
- Shade new componentSkill
- Shade ShadCN installSkill
- tinybird-cli-guidelinesSkill
- tinybirdSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Check another author's work from the code and its claims.
- Distinctive: line 20
Do not read the author's mutation list, a coordinator's summary or an earlier review.
- Distinctive: line 34
Ask whether this is the simplest way.
- Distinctive: line 41
Write your own mutations from the production code and run at least one per claim.
- Distinctive: line 47
every instance of a repeated dependency, not only the first
- Distinctive: line 63
Every difference needs a reason in the PR description.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Verify a service change
Check another author's work from the code and its claims. An author's own results show what they thought to test, so they cannot show what they missed.
Start here
Use only:
- the branch or pull request diff
- the PR description, commit messages and inventory changes
- the output of
pnpm gx services verify <service> --json - the unchanged service source, its consumers and existing tests in your checkout
Do not read the author's mutation list, a coordinator's summary or an earlier review. Ignore them if the brief includes them.
Work in your own checkout of the commit, and restore every mutation. Do not commit, push or edit the branch: report findings to whoever owns it. Run database suites one at a time.
Check every change
gx services verifyhas nofailresult.- For each
reviewline, read the diff and decide whether it is still true. A stale inventory sentence is a finding. - Map every claim to evidence: each inventory sentence added or changed, and each statement in the PR description and commit messages. "Unchanged" is a claim.
- Ask whether this is the simplest way. List anything the change does not need.
Characterization
For each test and inventory sentence, ask: does it do what it says, is it the simplest way, and is every claim asserted?
Write your own mutations from the production code and run at least one per claim. Each must fail the test named for that behaviour. Include these variants where they apply:
- a module loaded at import rather than on use, checked by a test that observes the load before the module is first required
- every instance of a repeated dependency, not only the first
- a different error with the same message
- the success path as well as each failure path
- a fake clock away from the boundary it is set to
- a chained handler where the test only inspects the first call
Say when fakes hide the risk, such as a test that fakes Express for code whose regression would only show in a booted app.
Migration
Fill in one row for each dependency, resource and consumer:
| Item | Old: when and how often resolved | New: when and how often resolved | Read by consumers at | On failure |
Every difference needs a reason in the PR description. Look hardest at:
- work the old root repeated on each boot in one process, now run once
- reads at module load, including route loaders and test harnesses
- fixtures and consumer tests that still use the old shape
- failures that moved between boot and the first request
- anything left half-started when init fails and is retried
- whether order between services has a boot test; the standard services boot test only covers that boot waits for this root and fails when it fails
Then check the shape of the change:
- A stateless utility must be imported under an exact allowance, not injected.
- Injected logging is
GhostLoggeror aPickof it, and class tests usecreateLoggingFake(). - A root that still builds itself in two steps is not finished.
Note in the report if consumer files changed outnumber the service's own files, or
if the inventory disposition is not migrate. Both can mean the service should not
be migrated this way, so finish the review and raise them for the owner.
Report
| Claim or row | Evidence | Mutation and result | Finding | Severity |
Use three severities:
- Blocker: a regression, a broken consumer, or a claim that is false.
- Should fix: a claim the tests do not prove, or stale text.
- Note: a gap the change does not claim to close.
Finish with a verdict. Say "ready" when no row is a blocker or an unresolved "should fix", and list anything you did not run.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

