sandcastle
Skill1 starsChanged 27 days agoMITView on GitHub
sandcastle-kit: unattended coding agents that burn down a repo's GitHub issues or ticket files in Docker sandboxes. Actions: init (set a project up - gates, lean sandbox, hooks), audit (review the repo with read-only agents and file what they find as tickets), queue (triage open tickets into the agent queue with the user), run (start a burndown and close it with a summary), status (what a run is doing, or how the last one ended), pause (hold a live run without losing work), resume (carry a paused run on), update (pull the latest kit and bring this project up to date). Use for sandcastle, burndown, AFK agents, pausing or resuming a run, auditing a repo to build a backlog, queueing tickets for agents, or upgrading sandcastle-kit.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- will-ness-ai/skillstheir own version, first seen Aug 13, 2026
- av/skillstheir own version, first seen Mar 30, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- will-ness-ai/skills★ 170same name
- av/skills★ 28same 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 repository3 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- site/llms.txtllms.txt
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 7 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
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
- Very specific: line 32
Run sandcastle doctor. Its first line is the kit's location.
- Distinctive: line 50
Read init.md in this skill's directory (next to this file) and follow it.
- Distinctive: line 54
Read audit.md in this skill's directory and follow it.
- Distinctive: line 59
Read queue.md in this skill's directory and follow it.
- Distinctive: line 63
Read run.md in this skill's directory and follow it, from the first step to closing the run.
- Distinctive: line 67
Read status.md in this skill's directory and follow it.
- Very specific: line 71
Read pause.md in this skill's directory and follow its "pause" part.
- Distinctive: line 76
Read pause.md in this skill's directory and follow its "resume" part.
- Distinctive: line 80
Read update.md in this skill's directory and follow it.
≈ “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
Sandcastle
Requested action: $action
| Action | Does | Done when |
init | Sets up the current project: config, rules, lean sandbox, hook decisions | The user has approved the config and it is committed |
audit | Reviews the repo with read-only agents, one per lens, and files what they find as tickets that meet the queue criteria, with the user | Every finding is filed, merged into another, or dropped with a stated reason, and the user has the table |
queue | Triages every open ticket into the agent queue, with the user | Every open ticket is labelled, parked, or left with a stated reason |
run | Starts a burndown detached, waits for it with sandcastle wait, and closes it with a summary | The run is live and its printed status view is confirmed, or the user holds the exact command; when it ends, the user has the closing summary: the seven sections, unless they asked for a short hand-back |
status | Reports what a run is doing, or how the last one ended | The user has the snapshot and the cause of any failed row |
pause | Holds the live run at the next safe juncture, so no new ticket or agent pass starts and no work is lost; a hold is a pause, never a stop | The user knows the run is paused, what is still finishing, and how to resume (or that no run is live) |
resume | Carries a paused run on, in the same run | The status view no longer reads PAUSED (or the user knows why there was nothing to resume) |
update | Pulls the latest kit and brings the current project up to date with it | The kit is current, the project's image and hook check are clean, and every change that affects it is reported or applied |
With no action (blank, or the literal $action in a harness that does not fill it in), take it
from the user's request; if that names none either, run sandcastle status 0 and suggest the
action that fits what it shows. When it shows no runs and sandcastle queue is empty, name the
next step: the audit action to find work, or file tickets (GitHub issues or ticket files) and
then the queue action. A request to change a project's models or effort is answered by run.md's
"Models and effort".
Before every action
- Run
sandcastle doctor. Its first line is the kit's location; that kit'sREADME.mdand itsdocs/(the README's Documentation table says which file holds what) cover anything this skill does not. Ifsandcastleis not found, the kit is not installed: have the user clone it and run./bin/sandcastle setupin their own terminal (it asks for tokens). - Fix every
FIXline doctor prints before going further, and mention eachwarnline to the user. Tokens are the user's to create. When a run or preflight fails on auth,sandcastle doctor --verifyasks GitHub and Anthropic whether the tokens are accepted (no model call).
Where things are written. The kit is shared by all the user's projects and may be public, so
its files (this skill, the README, prompts) stay generic. Project facts go in the project's
.sandcastle/; the user's preferences go in their memory.
Costs. sandcastle run, sandcastle preflight and sandcastle lean --measure call the model
and spend the user's plan allowance or API credits. Say so and get a yes before running them.
init - set up a project
Read init.md in this skill's directory (next to this file) and follow it.
audit - find work and file it
Read audit.md in this skill's directory and follow it. It files tickets by the queue action's categories and closed-spec test, so read queue.md as well.
queue - triage every open ticket into the queue
Read queue.md in this skill's directory and follow it.
run - start a burndown
Read run.md in this skill's directory and follow it, from the first step to closing the run.
status - what a run is doing
Read status.md in this skill's directory and follow it.
pause - hold a live run
Read pause.md in this skill's directory and follow its "pause" part. It also says which requests
mean a pause and which mean sandcastle stop: read "Pause, not stop" first.
resume - carry a paused run on
Read pause.md in this skill's directory and follow its "resume" part.
update - bring the kit and this project up to date
Read update.md in this skill's directory and follow it.
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.

