dev-stack
Skill2 starsChanged 9 days agoMITView on GitHub
Run this worktree's copy of the app through the repo's dev stack contract, verify a change on it, and report its Dev URL. Use when the user asks to run or start the app, open it in the browser, or for its URL, or when another skill needs a running app to verify a change.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- dzianisv/skillstheir own version, first seen Nov 8, 2026
- LarsLrn/orcaitheir own version, first seen Nov 8, 2026
- PiloTracer/pilo.ai.logicbisontheir own version, first seen Oct 11, 2026
- bablsoft/accessflowtheir own version, first seen Sep 9, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- bablsoft/accessflow★ 12same name
- dzianisv/skills★ 4same name
- LarsLrn/orcai★ 2same name
- PiloTracer/pilo.ai.logicbison★ 0same 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 repository30 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- code-commentsSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- prose-styleSkill
- prototypeSkill
- prSkill
- review-changesSkill
- setup-pre-commitSkill
- tddSkill
- ui-designSkill
- worktreesSkill
- check-sdlcSkill
- deslopSkill
- grill-with-docsSkill
- handoffSkill
- implementSkill
- implement-specSkill
- improve-codebase-architectureSkill
- refresh-specSkill
- retroSkill
- setup-sdlcSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- update-designSkill
- codebase-designSkill
- grillingSkill
- run-reportSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 3 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Read docs/agents/dev-stack.md.
- Very specific: line 21
Start: Run scripts/dev-stack up from the worktree's top level, with no input attached.
- Distinctive: line 28
Check the change at the Dev URL with the strongest check available, in this order:
- Very specific: line 41
When a check fails, read scripts/dev-stack logs (it lists one log per service) and then scripts/dev-stack logs <service> before forming a …
- Distinctive: line 47
Leave the stack running.
- Very specific: line 65
Leave the Portless proxy as it is.
- Distinctive: line 67
Run the stack on the contract's dev credentials and safe-mode settings.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Dev stack
Bring up the current Worktree's Dev stack, check the work at its Dev URL with the strongest check available, and leave it running for the user. Every action on the stack goes through the repo's Dev stack contract, whose commands and rules are defined in CONTRACT.md.
1. Read the dev stack doc
Read docs/agents/dev-stack.md. It names the contract's entry point (scripts/dev-stack), the cap, the health URL, the e2e command and the browser notes.
Without the doc, say once: "This repo has no dev stack doc; the Dev stack section of setup-sdlc adds one." Then carry on with the rest of the work without a running app, and skip the steps below.
Done when you know the entry point and the cap, or you have said the line above.
2. Up
- Cap. The cap is the doc's (default 4), or a smaller one the calling skill passes. Run
portless listand count the running stacks on this machine: each route is one stack, and routes sharing a slug and a project (a stack's extra services) count once. An Emulator counts with its stack:<slug>.<service>.emulate.<project>with<slug>.<project>, and the main checkout's<service>.emulate.<project>with<project>. When this worktree's own route is among them,uptakes no new slot. At the cap, name the running stacks by route. With a user present, ask whether to continue without a running app or wait while they stop one. In an unattended run, skip the running-app steps and note: "Dev stack skipped:<n>of<cap>stacks running (<routes>)." - Start. Run
scripts/dev-stack upfrom the worktree's top level, with no input attached. It is idempotent: when the stack already runs, it only prints the URL. Take the Dev URL from the last line of its stdout. - On failure, read the reason
upprinted on stderr, thenscripts/dev-stack logs, before changing anything.
Done when scripts/dev-stack status prints running, or the run is skipped with its note.
3. Verify
Check the change at the Dev URL with the strongest check available, in this order:
- The repo's e2e suite (the doc's e2e command) with
E2E_BASE_URL=<Dev URL>, narrowed to the specs that cover the change. - A browser tool your agent has: open the Dev URL and exercise the change as a user would.
- A headless browser script (Playwright, for one) run against the Dev URL.
- HTTP requests (
curl) to each route the change touches, checking status codes and bodies.
When the doc lists Emulators, a check can also confirm an outside effect of the change (the email went out, the charge exists) by reading the Emulator's state over HTTP or in the browser: request the inspect path its doc entry names, or call the Emulator's own API (list the charges, say), at the URL portless get <service>.emulate.<project> prints from the worktree.
Take a screenshot of each UI change at the Dev URL when a browser tool or headless script is available, and save it under .sdlc/dev-stack/screenshots/.
For an https:// Dev URL, trust the Portless CA as CONTRACT.md describes; an http://…:1355 URL needs nothing.
When a check fails, read scripts/dev-stack logs (it lists one log per service) and then scripts/dev-stack logs <service> before forming a theory. Quote only the lines that carry the signal, with secrets written as <REDACTED>.
Done when every change reachable over HTTP or UI has been checked at the Dev URL, each outside effect a check read from an Emulator has its result, each UI change has its screenshot where one could be taken, and every failure has its log lines.
4. Report
Leave the stack running.
An Emulator can drift from the real provider's API. So for each provider that the change touched and whose behaviour a check confirmed only through its Emulator (read its state, or signed in or got a webhook through it), write one real-provider item: try the flows you checked against the real provider before release, and what breaks in production if that is skipped. Write one item per provider, however many checks used its Emulator. An e2e sign-in through the Google Emulator on a change that never touched auth adds no item.
These two lines report the checks:
Dev URL: <Dev URL> (running)
Checked there: <checks run and their result, Emulators read, screenshot paths>With a calling skill that writes a Run report, hand it the real-provider items for its "Before merging" section and put the two lines where the run-report skill says. A calling skill without a Run report lists the items at the end of its own report. With no calling skill, end the report with the two lines, followed by the real-provider items as its last part.
Boundaries
The stack is this worktree's; everything else on the machine belongs to other sessions.
- Reach the stack only through this worktree's
scripts/dev-stack. Other worktrees' stacks are read throughportless listand left alone: their contracts are theirs to run. - Leave the Portless proxy as it is.
upstarts it when it is down; stopping, restarting or reconfiguring it is the user's call, and a mode that differs from the doc's is reported, not fixed. - Register and re-point only this worktree's own route. Another worktree's route is never taken over with
--force. - Run the stack on the contract's dev credentials and safe-mode settings. Production credentials and services stay out of it.
downanddestroyrun only when the user or the calling skill asks; finishing a worktree destroys its stack.
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.

