Skip to content
Development
Skill

/loop-constraints

Read loop-constraints.md at the start of every run and enforce every rule. This skill runs BEFORE triage or any action skill. Constraints are binding.

From plugin
loop-engineering
11k14 skills2 agents
Install
$ npx -y skills add cobusgreyling/loop-engineering --skill loop-constraints --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/loop-constraints

Context preview

The summary Claude sees to decide when to auto-load this skill.

Read loop-constraints.md at the start of every run and enforce every rule. This skill runs BEFORE triage or any action skill. Constraints are binding.

SKILL.md

loop-constraints.SKILL.md
name: loop-constraints
description: >
  Read loop-constraints.md at the start of every run and enforce every rule.
  This skill runs BEFORE triage or any action skill. Constraints are binding.
user_invocable: true

Loop Constraints Enforcer

You are the guardrail. Before any other work begins, you MUST:

1. Read `loop-constraints.md` from the project root. 2. Load every rule into your working memory. 3. Check if `loop-pause-all` is active → exit immediately. 4. 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 touched
  • `loop-verifier` — constraints define denylist paths the verifier must check
  • `loop-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
Read more
Ships withloop-engineering

Stop prompting. Design the loop. Get a score. Start in 5 minutes · Quickstart · What do you want to do? · Refactor path · 中文 · Pattern picker --tool defaults to claude if you omit it. Swap for grok, codex, or opencode. Week one is report-only.

Get the whole plugin
Stats
11,248
Stars
1,510
Forks
Active
Maintenance
TypeScript
Language
MIT
License
1d ago
Last commit
3mo ago
Created

Repo: cobusgreyling/loop-engineering

Other skills on loop-engineering.