self-dev-loop
Skill5 starsChanged 23 days agoApache-2.0View on GitHub
Meta-loop for Remedy developing herself — self-inject, change-safety, unit tests, security gauntlet, product soak, stress, then ship gates. Use when self-dev, hot-inject, improve the codebase, work on RemedyAI monorepo end-to-end, or "run the full quality loop on ourselves".
In this repository9 other files it gives its agents.
- change-safetySkill
- gauntlet-securitySkill
- memory-backupSkill
- project-etiquetteSkill
- refactor-safeSkill
- self-injectSkill
- soak-productSkill
- stress-suiteSkill
- webui-paritySkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is 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.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 74
Read root AGENTS.md for ship gates, installer naming, smoke matrix.
- Distinctive: line 86
Prefer durable fixes; keep tree runnable.
- Very specific: line 109
Follow project-etiquette exactly: no publish on red CI.
≈ “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
Self-dev loop (Remedy on Remedy)
Goal
One ordered playbook when the user wants Remedy to improve this monorepo while staying a trustworthy partner. Prefer activating sub-skills rather than re-inventing commands.
When to use
- Working in the RemedyAI repo as the project
- User says self-dev, dogfood loop, full quality loop, “run gauntlet then soak”
- Multi-hour sessions that must not skip security or ship discipline
Default sequence
Execute in order. Skip a stage only if the user explicitly narrows scope (e.g. “unit tests only”) or the stage does not apply (docs-only change).
0. Orient → project-overview / AGENTS.md / git status
1. Hot-inject → self-inject (draft → test-gate → apply/rollback → restart)
2. Blast radius → change-safety
3. Implement → write-tests, refactor-safe as needed
4. Unit gates → pytest + desktop npm test/build + check_docs
5. Gauntlet → gauntlet-security (if security surface touched or user asked)
6. Soak → soak-product (if desktop/API/CUA/stream touched or user asked)
7. Stress → stress-suite (optional; after soak green or user asked)
8. Ship → project-etiquette (test → docs → build → commit → CI → publish)Activate helpers
Never skill_activate every pack (“reload all skills”). That floods context
and causes endless tool loops. Rescan disk with:
skill_reload()Then load one procedure at a time (or let auto-suggest inject for the task):
skill_activate(skill="self-dev-loop") # this meta playbook
skill_activate(skill="self-inject")
skill_activate(skill="gauntlet-security")
skill_activate(skill="soak-product")
skill_activate(skill="stress-suite")
skill_activate(skill="change-safety")
skill_activate(skill="project-etiquette")Stage details (short)
0. Orient
git status -sb
git log -5 --onelineRead root AGENTS.md for ship gates, installer naming, smoke matrix.
1. Hot-inject
- Draft a change with normal edit tools (Python sidecar or desktop SPA).
- Gate is tests-only (pytest + npm test). Green → apply + restart sidecar /
rebuild SPA; red → roll back and record in the ledger (
~/.remedy/self_inject_ledger.jsonl). - Full mechanics:
docs/SELF_INJECT.md. Never commit red; never leave a broken tree.
2–3. Change + implement
- Name blast radius (chat, gateway, rails, settings, packaging).
- Prefer durable fixes; keep tree runnable.
- Pair with write-tests for behavior changes.
4. Unit gates (minimum always before ship)
uv run pytest -q
cd desktop; npm test; npm run build
uv run python scripts/check_docs.py5–7. Live quality (when scope needs it)
| Stage | Skill | Trigger |
| Gauntlet | gauntlet-security | auth, jail, SSRF, host, sanitize |
| Soak | soak-product | CUA, browser, stream, multi-tab, “soak” |
| Stress | stress-suite | concurrency, multi-provider, “stress/break” |
Set REMEDY_API / REMEDY_HOME to the profile under test.
8. Ship
Follow project-etiquette exactly: no publish on red CI; version only for real
releases; desktop tag vX.Y.Z for installers.
Reporting template
| Stage | Result | Evidence |
| Hot-inject | applied / rolled back / n/a | ledger + diff-id |
| Blast radius | surfaces listed | |
| Unit | pass/fail | commands |
| Gauntlet | pass/fail/skip | |
| Soak | pass/fail/skip | docs/_full_product_soak_results.json |
| Stress | pass/fail/skip | |
| Ship | commit / CI / publish |
Anti-patterns
- Stress before unit green
- Gauntlet against the wrong API port/home
- Shipping without project-etiquette when user asked for release
- Dual messenger pollers "for testing"
- Committing a red self-inject round (never — roll back instead)
- Claiming self-dev done when only the chat replied and no commands ran
Related skills
- self-inject · gauntlet-security · soak-product · stress-suite
- change-safety · project-etiquette · github · session-handoff
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.

