demo-update
Skill93 starsChanged 8 days agoMITView on GitHub
Update the live demo app with the latest released gem version
1 other project uses a version of this.
Adopted by
Most recently taken up by
- AloisSeckar/demos-javatheir own version, first seen Nov 9, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- AloisSeckar/demos-java★ 25same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- add-breadcrumb-pageSkill
- chaosSkill
- cqrs-patternsSkill
- host-app-safetySkill
- new-featureSkill
- release-rulesSkill
- releaseSkill
- roadmap-statusSkill
- safety-checkSkill
- testSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 41
Never hand-edit the schema dumps or the lockfile for a release.
- Very specific: line 55
Add -f summary="Short description" to set the pill's text.
- Very specific: line 90
Check the table's unique index before writing rows.
- Distinctive: line 139
Features: ALL analytics enabled, source code + git blame, multi-app, separate DB
≈ “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
/demo-update — Update Demo App
Point the live demo app at a newly released gem version. A workflow in the demo repo does the update. Your job is to start it, read the result, and do the one part it can't: seeds and feature cards.
Usage
/demo-update— update to the latest version on RubyGems
The workflow always targets the latest published version. It can't pick an older one.
How the automation works
.github/workflows/update-demo-release.yml in the demo repo runs at :17 and :47
past each hour, and on demand. When RubyGems has a version the demo doesn't run, it:
- Reads that version's GitHub Release, and stops if it's a draft or a prerelease.
- Picks the hero pill's text: the
summaryinput, else the notes'<!-- demo-summary: ... -->comment, else the first###heading that isn't generic, else the first bullet. It cuts anything over 95 characters, and fails if it finds no text at all. - Updates the lockfile with
--conservative, using the Bundler the lockfile names. - Copies any new migrations from the gem into
db/migrate, skipping names the demo already has. - Writes
config/demo_release.json, which the hero pill reads, and regenerates the schema dumps by migrating. - Runs the demo's tests, system tests, RuboCop, Brakeman and bundler-audit. A failure here stops the run before anything is pushed.
- Commits to
mainaschore: update demo to rails_error_dashboard X.Y.Z, and Render deploys that commit. - Polls the live site for up to ten minutes, until the landing page shows the new version and four dashboard pages return 200.
Never hand-edit the schema dumps or the lockfile for a release. Step 5 and step 3 exist because doing that by hand broke the demo.
Steps
- Check the gem is live on RubyGems. The run needs it there:
curl -s https://rubygems.org/api/v1/gems/rails_error_dashboard.json | jq -r .version - Start the workflow, or let the schedule pick the release up:
Addgh workflow run update-demo-release.yml -R AnjanJ/rails_error_dashboard_demo_app-f summary="Short description"to set the pill's text. On a version the demo already runs, that changes only the pill. - Read the result:
"Demo already runs X.Y.Z" means the schedule got there first. A failed gate pushes nothing, so read the log and fix the cause. A new Brakeman release fails this gate until the demo bumpsgh run list -R AnjanJ/rails_error_dashboard_demo_app --workflow update-demo-release.yml --limit 3 gh run view <run-id> -R AnjanJ/rails_error_dashboard_demo_app --log-failedbrakeman. - Load
/and read the pill. The version tag and the summary beside it must describe the same release. - Check whether seeds or feature cards need work, below. Patch releases with no user-visible feature don't.
What the workflow doesn't do
These live in the demo repo. The workflow pushes to its main, so pull before you edit:
a local clone falls behind on every release.
Seeds
db/seeds.rb only needs work if the new version added a feature that requires demo
data to show anything.
The test is not "did the feature ship", it is "can a visitor SEE it". If you are
about to add a landing-page card for the feature, that card links to a page which must
not be empty. 0.10.0 shipped AI crawler tracking and
/red/errors/rack_attack_summary read "no events can be recorded", because nothing
had ever written to that table on the demo.
Seeding notes learned there:
- Check the table's unique index before writing rows.
rack_attack_eventsis keyed on(rule, match_type, discriminator, path, period_hour, application_id), so every seeded row must differ in at least one. - Some tables are hourly aggregates, not request logs. Seed buckets across a range of hours so the page's time filters have something to do.
- Where a classifier decides what renders (
AiAgentClassifierhere), verify your fixture strings against it rather than assuming — and include a negative case (Googlebot is named butai=false) so the page demonstrates the distinction rather than counting everything as a hit. - Vary the shape. Flat identical counts across every bucket read as synthetic; assistants spiking in working hours while crawlers grind steadily reads as traffic.
- Add the model to the
CLEAR_BEFORE_SEEDblock.bin/docker-entrypointreseeds on every boot, so anything missing there accumulates per deploy. - Guard new model references with
defined?, so the seed still runs against an older gem.
Feature cards
| What | Where | Auto? |
| Hero pill version and summary | config/demo_release.json | yes |
| Footer / install snippet version | <%= @version %> | yes |
| Feature card | a .gcell in the grid-features section of app/views/pages/home.html.erb | NO |
| Card version badge | <span class="vbadge">vX.Y.Z</span> | NO |
For a release with a user-visible headline feature, add a .gcell to the
grid-features grid, newest first, with a <span class="vbadge"> naming the version
that introduced it. Badge the version the feature SHIPPED IN, not the current version.
Storm protection stays v0.8.2 forever.
Crossing into 1.x
The demo's Gemfile pins ~> 0.9, and in RubyGems that means >= 0.9, < 1.0. It allows
every 0.x minor and nothing from 1.0 on, so the run will fail with Resolved X, expected
1.0.0 until that line changes. Change it before the 1.0.0 release.
The workflow only accepts a stable X.Y.Z, so it won't deploy 1.0.0.rc1.
Demo App Details
- Repo:
AnjanJ/rails_error_dashboard_demo_app - Location:
/Users/anjan/code/RED/rails_error_dashboard_demo_app - Live URL: https://rails-error-dashboard.anjan.dev
- Credentials: gandalf / youshallnotpass
- Toolchain: Ruby 3.4.5, Bundler 4.0.3
- Gemfile constraint:
gem "rails_error_dashboard", "~> 0.9"(allows every 0.x minor) - Platform: Free Render instance
- Uptime: UptimeRobot pings every 5 minutes
- Features: ALL analytics enabled, source code + git blame, multi-app, separate DB
- Seed data: LOTR-themed (4 kingdoms, 480 errors, 296 comments, Fellowship members)
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.

