agentleFS
jocarrdjocarrd/crux-agents/skills/deploy-watch/SKILL.md

deploy-watch

Skill4 starsChanged 18 days agoMITView on GitHub

Watch a deployment after merging until confirming the new version is in production and working: wait for it to arrive, check that routes respond without errors, look at what the change touched and say how to roll back if something fails. Use right after merging a proposal that deploys itself, when someone asks whether it is already in production, or when a deployment finished green and nobody has actually looked at the site.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    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
  1. Distinctive:

    After merging a proposal whose deployment starts on its own.

    line 17
  2. Very specific:

    After a manual deployment (/deploy-fallback).

    line 18
  3. Distinctive:

    If the change adds nothing visible to look for, wait for the platform to report the deployment as finished and say that the version could …

    line 66
  4. Very specific:

    Interface: look at it rendered on mobile and desktop, with /visual-test.

    line 82
  5. Distinctive:

    API: call the affected endpoint with a real request that doesn't write data.

    line 84
  6. Distinctive:

    Don't fix blindly in production.

    line 90
  7. Distinctive:

    If the platform allows going back to the previous deployment with one click, that is faster than the revert, but do the revert too: …

    line 95

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

deploy-watch

Merging is not deploying, and a green deployment is not working. Between the two there is a gap where nobody looks: CI says it built, the platform says it published, and the first one to open the site is a user.

This closes that gap. It is the last step of the cycle before closing the session.

When it applies

  • After merging a proposal whose deployment starts on its own.
  • After a manual deployment (/deploy-fallback).

When it doesn't

  • Changes that aren't deployed: internal documentation, the docs repo itself.
  • Libraries published with a version: there the check is installing the published version in a clean project, not opening a URL.

What the project declares

The kernel doesn't know where each project lives. Its crux.json declares it:

"deploy": {
  "url": "https://<domain>",
  "paths": ["/", "/<important-route>"]
}

With several deployable repos, one per repo:

"deploy": {
  "repos": {
    "<repo>": { "url": "https://<domain>", "paths": ["/"] }
  }
}

paths are the few routes that are noticed if they fail: the home page and whatever is used most. Not the whole sitemap.

The walkthrough

1. Wait for the new version to arrive

This wait runs in the background. A deployment takes minutes and the session doesn't sit in front of it: the watcher is launched there, you say it is running and move on to the next thing. You come back when it reports.

A 200 right after merging is usually the previous version answering while the new one builds. You have to wait for something only the new one has: text the change adds, or the commit identifier if the application exposes it.

bash <this-skill-directory>/scripts/smoke.sh --expect "<text only the new version has>"

If the change adds nothing visible to look for, wait for the platform to report the deployment as finished and say that the version could not be confirmed.

2. Routes respond

The same script checks each declared route: status code, time and whether the body is actually an error page served with a 200, which some frameworks do.

Output: 0 everything responds, 1 some route fails, 3 the new version did not arrive.

3. What the change touched

Generic routes don't see a specific change. Open what the diff touched in production:

  • Interface: look at it rendered on mobile and desktop, with /visual-test. Compare it with what was seen in the proposal's preview.
  • API: call the affected endpoint with a real request that doesn't write data.
  • Data: the migration is applied and the application starts against it.

4. If something fails

Don't fix blindly in production. In order:

  1. Roll back: open a proposal with git revert of the merge and merge it. What comes back is something that already worked; the fix is done later, calmly and with its own cycle.
  2. If the platform allows going back to the previous deployment with one click, that is faster than the revert, but do the revert too: otherwise the next deployment publishes the failure again.
  3. Investigate with /root-cause, starting from the production signals (/prod-signals).

5. Report it

One line is enough if everything is fine: which version, which routes, how long they took. If something failed: what, since when, what was done and what remains.

What it costs

Almost nothing. The script doesn't read whole pages into the context: it returns one line per route. The expensive part is step 3 when there is an interface, and it is the same visual review already done in the preview, now against production.

Anti-patterns

  • Assuming what was merged is deployed. The platform may have failed, or may still be building.
  • Checking only the home page. The change is almost never on the home page.
  • Hot-fixing on production. First you go back to what worked; the fix goes through the cycle.
  • Rolling back from the platform and not in git. The next deployment resurrects the failure.

Related

  • /flow: this is its step 6c
  • /visual-test: to look at the interface in production
  • /prod-signals: when something fails and you need to see what production says
  • /deploy-fallback: when automatic deployment is not available

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.