About loop-constraints
loop-constraints is a guardrail skill for agent loops that loads project rules before work begins and applies them to actions such as editing, fixing, pushing, and merging. It also supplies default safety rules when the constraints file is absent.
Key features
- 01Load project constraints before work
- 02Check pause flags and denylisted paths
- 03Apply rules to fixes and code changes
- 04Require human approval before merging
- 05Use default safety rules if file is absent
Use cases
- 01Enforcing repository-specific rules in agent loops
- 02Blocking edits to restricted paths
- 03Preventing unauthorized pushes or merges
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ cobusgreyling/ loop-engineering --skill loop-constraintsAfter installing, type/loop-constraintsin Claude Code to confirm it loaded.
Details
From the project READMELoop Constraints Enforcer
You are the guardrail. Before any other work begins, you MUST:
- Read
loop-constraints.mdfrom the project root. - Load every rule into your working memory.
- Check if
loop-pause-allis active → exit immediately. - Apply these rules to EVERY action that follows.
How to enforce
- Before pushing: re-read the Push & Merge section. If ANY rule blocks it, stop and tell the human.
- Before editing a file: re-read the Paths section. If the path matches a denylist pattern, escalate.
- Before proposing a fix: re-read the Code section. Run tests. One fix per run.
- Before merging: re-read the Push & Merge section. Human must approve.
Output at start of run
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.
Interaction with other skills
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.md
Default constraints (when no file exists)
If loop-constraints.md is absent, enforce these minimums:
- Never edit
.env,.env.*,auth/,payments/,secrets/,credentials/ - Never auto-merge to main
- Never disable tests
- Escalate after 3 failed fix attempts
Comments
Markdown supported