Scope guard for your coding agent — free
Paste the things your product must NOT do. Get a hook that stops the agent's tool call and names the boundary, with configs for Claude Code, Cursor, Codex CLI, Devin Desktop (ex-Windsurf) and GitHub Copilot, a constitution and .cursorrules. No account, no model, ready in a second.
The pack is built
Files in the archive:
What next
- Unzip the archive into the root of your repository.
- open the project in your agent — it reads its hook config on the next session
cursor . - check the wiring: the hook is in place and your boundaries are readable
python scripts/scope_guard.py doctor
Download did not start? Download the pack again
What is inside
What unzips into the repository root:
.lumis/scope_guard.jsontriggers: packages, paths, keywords that block — and the words that only warn.claude/settings.jsonhook config · Claude Code.cursor/hooks.jsonhook config · Cursor.codex/hooks.jsonhook config · Codex CLI.devin/hooks.jsonhook config · Devin Desktop (ex-Windsurf).windsurf/hooks.jsonhook config · Devin Desktop (legacy).github/hooks/lumis-scope-guard.jsonhook config · GitHub Copilot.github/workflows/lumis-boundary-check.ymlthe same check on every pull request (GitHub Actions)scripts/scope_guard.pythe hook itself: stdlib, exit code 2 stops the call.lumis/.gitignorekeeps the guard's log local, out of commits.lumis/guard.manifest.jsonthe files of the pack and their checksums — doctor compares themCONSTITUTION.mdyour Non-Goals and invariants, verbatim.cursorrulesthe same boundaries in the format the agent reads by itselfCLAUDE.mdthe same boundaries in the format the agent reads by itselfAGENTS.mdthe same boundaries in the format the agent reads by itselfREADME_SCOPE_GUARD.mdinstall and check stepsSCOPE_ANNEX.mda short scope annex for a fixed-price contract: what is out of scope, how it is checked, what a change request is
Unzip into the repository root, then run python scripts/scope_guard.py doctor to check the wiring. Every agent picks up its own hook config on the next session — Claude Code, Cursor, Codex CLI, Devin Desktop (ex-Windsurf) and GitHub Copilot all stop a tool call on exit code 2. Then ask the agent to add something from the list — it must refuse or ask.
Or install it as an agent skill
Same engine, no download: the skill adds /lumis-scope-guard init, check and status to your agent and writes the same files into your repository: hook configs for Claude Code, Cursor, Codex CLI, Devin Desktop (ex-Windsurf) and GitHub Copilot, and the same boundaries as text rules (CONSTITUTION.md, .cursorrules, CLAUDE.md) for any other agent.
npx skills add momonanq/lumis-skills --skill lumis-scope-guard --global
No specification yet? The consilium builds one around these boundaries: PRD, architecture, roadmap, decision log, design constitution and a master prompt. Run the consilium — 2 free runs →