Agent Self-Customization
nanocoai/nanoclaw
A decision tree for an agent changing its own setup: edit memory directly, request approval for packages and MCP servers, and delegate code edits to a builder agent.
Loads a project's loop-constraints.md before any other action and blocks pushes, edits or merges that violate the rules it defines.
$ npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cobusgreyling/loop-engineering loop-constraints --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/loop-constraints .claude/skills/loop-constraints && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "loop-constraints" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraints into .claude/skills/loop-constraints/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-constraints", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraintsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cobusgreyling/loop-engineering loop-constraints --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/loop-constraints .agents/skills/loop-constraints && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "loop-constraints" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraints into .agents/skills/loop-constraints/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-constraints", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cobusgreyling/loop-engineering loop-constraints --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/loop-constraints .cursor/skills/loop-constraints && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "loop-constraints" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraints into .cursor/skills/loop-constraints/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-constraints", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/cobusgreyling/loop-engineering.git --path skills/loop-constraints--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cobusgreyling/loop-engineering loop-constraints --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/loop-constraints .gemini/skills/loop-constraints && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "loop-constraints" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraints into .gemini/skills/loop-constraints/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-constraints", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install cobusgreyling/loop-engineering loop-constraintsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/loop-constraints .github/skills/loop-constraints && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "loop-constraints" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraints into .github/skills/loop-constraints/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-constraints", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cobusgreyling/loop-engineering loop-constraints --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/loop-constraints .opencode/skills/loop-constraints && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "loop-constraints" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/skills/loop-constraints into .opencode/skills/loop-constraints/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-constraints", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
loop-constraintsLoads a project's loop-constraints.md before any other action and blocks pushes, edits or merges that violate the rules it defines.
Runs before triage or any action skill, reading `loop-constraints.md` from the project root and loading every rule into working memory, exiting immediately if a global pause flag is active. Every later action re-checks the relevant section of that file: a push re-reads the push and merge rules and stops to tell a human if any rule blocks it, an edit re-reads the paths section and escalates on a denylisted path, and a proposed fix re-reads the code rules and limits itself to one fix per run after running tests.
At the start of a run it reports a one-line confirmation naming how many individual rules are active, counted directly from the constraints file. When no constraints file exists, it falls back to a fixed minimum: never edit `.env` files or folders holding auth, payments, secrets or credentials, never auto-merge to the main branch, never disable tests, and escalate after three failed fix attempts.
It is explicitly designed to sit above and constrain other skills in the same toolkit, for example overriding a triage skill's priority or limiting which files a minimal-fix skill may touch, so those skills stay bounded by whatever this one has already loaded.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1f1e8a7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Loop Constraints Enforcer loads about 475 tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 225 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- Never edit `.env`, `.env.*`, `auth/`, `payments/`, `secrets/`, `credentials/`Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from cobusgreyling/loop-engineering at commit 1f1e8a7, republished under its MIT licence (© cobusgreyling). 225 words, ~475 tokens.
.claude/skills/loop-constraints/SKILL.md (or your agent's skills folder).You are the guardrail. Before any other work begins, you MUST:
loop-constraints.md from the project root.loop-pause-all is active → exit immediately.Always begin with a one-line confirmation. Count each individual constraint/rule in loop-constraints.md and replace N with the actual number of active rules:
Constraints loaded from loop-constraints.md: N rules active.If no loop-constraints.md exists, say so and proceed with default safety rules from docs/safety.md.
loop-triage — constraints may override triage priority (e.g. "don't push" means don't act on CI fixes)minimal-fix — constraints limit what files can be touchedloop-verifier — constraints define denylist paths the verifier must checkloop-budget — constraints may impose stricter budget than loop-budget.mdIf loop-constraints.md is absent, enforce these minimums:
.env, .env.*, auth/, payments/, secrets/, credentials/© cobusgreyling, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/loop-constraints of cobusgreyling/loop-engineering.
Open the folder on GitHubat commit 1f1e8a7
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in cobusgreyling/loop-engineering, which our catalogue first saw on October 7, 2026.
Loop Constraints Enforcer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Loop Constraints Enforcer this skillcobusgreyling/loop-engineering | 11k | 1 repos | ~475 | Automated safety check: Notes | MIT | |
| Agent Self-Customizationnanocoai/nanoclaw | 31k | 1 repos | ~1.5k | Automated safety check: Notes | MIT | |
| Show Me Your Work Decision Logcursor/plugins | 10k | 9 repos | ~1.6k | Automated safety check: Pass | None | |
| Darwin Skill Optimizeralchaincyf/darwin-skill | 6.2k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Using Agent Skillsaddyosmani/agent-skills | 102k | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Claude ReflectBayramAnnakov/claude-reflect | 1.7k | 2 repos | ~627 | Automated safety check: Pass | MIT |
nanocoai/nanoclaw
A decision tree for an agent changing its own setup: edit memory directly, request approval for packages and MCP servers, and delegate code edits to a builder agent.
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
BayramAnnakov/claude-reflect
Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
cobusgreyling/loop-engineering
Installs Loop Engineering into a project through the single @cobusgreyling/loop CLI, scaffolding a report-only loop and a readiness score.
cobusgreyling/loop-engineering
Turns a structured list of changes from changelog-scan into a categorized, user-facing release notes draft file, and never publishes anything.
cobusgreyling/loop-engineering
Scans open GitHub issues and discussions, flags duplicates, scores priority and proposes labels into issue-triage-state.md without ever labeling or closing.
cobusgreyling/loop-engineering
Turns CI failures, open issues, recent commits and chat threads into a prioritized markdown report that an automation loop can act on without inventing architecture work.
cobusgreyling/loop-engineering
Check token budget and run-log spend before and after a loop run. Enforces early exit when over budget or when there is no actionable work.
cobusgreyling/loop-engineering
Tracks open pull requests and records CI state, staleness, merge conflicts and unanswered review comments in a state file, then lists the top three actions for a human.
Categories
Loads a project's loop-constraints.md before any other action and blocks pushes, edits or merges that violate the rules it defines. md` from the project root and loading every rule into working memory, exiting immediately if a global pause flag is active. Every later action re-checks the relevant section of that file: a push re-reads the push and merge rules and stops to tell a human if any rule blocks it, an edit re-reads the paths section and escalates on a denylisted path, and a proposed fix re-reads the code rules and limits itself to one fix per run after running tests.
Loop Constraints Enforcer fits situations like: starting any automated loop run that might push, merge, or edit sensitive files; checking whether a planned push is blocked by project constraints; confirming how many constraint rules are currently active; falling back to safe defaults when no constraints file exists yet.
Run `npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a claude-code`. Or copy the skill folder (skills/loop-constraints in cobusgreyling/loop-engineering) into .claude/skills/loop-constraints in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a codex`. Or copy the skill folder (skills/loop-constraints in cobusgreyling/loop-engineering) into .agents/skills/loop-constraints in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cobusgreyling/loop-engineering --skill loop-constraints -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/loop-constraints, .gemini/skills/loop-constraints, .github/skills/loop-constraints and .opencode/skills/loop-constraints in your project.
SKILL.md names no scripts, command-line tools or credentials: Loop Constraints Enforcer is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Loop Constraints Enforcer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 475 tokens (SKILL.md is roughly 1.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Loop Constraints Enforcer: Agent Self-Customization (nanocoai/nanoclaw, 31k stars), Show Me Your Work Decision Log (cursor/plugins, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars) and Using Agent Skills (addyosmani/agent-skills, 102k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cobusgreyling (a GitHub user) maintains it in cobusgreyling/loop-engineering, which has 11,429 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 7, 2026.
Source: cobusgreyling/loop-engineering on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.