Skip to content
Back to skills

Scope Discipline

ASecurity

Keep one task closed-looped before starting the next. Triggered when a new problem surfaces mid-task (a bug, a security finding, a missing env var), when you're about to branch into unrelated work, or when you notice the session has sprawled across many half-finished threads. Prevents the "nothing ever lands" failure where each step spawns new work and none finishes.

  • 27 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentsgosecurity

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add IgorGanapolsky/ThumbGate --skill scope-discipline --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scope Discipline?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Scope Discipline
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/igorganapolsky-scope-discipline/badge)](https://www.skillsdirectory.com/skills/igorganapolsky-scope-discipline)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: scope-discipline
description: >
  Keep one task closed-looped before starting the next. Triggered when a new
  problem surfaces mid-task (a bug, a security finding, a missing env var), when
  you're about to branch into unrelated work, or when you notice the session has
  sprawled across many half-finished threads. Prevents the "nothing ever lands"
  failure where each step spawns new work and none finishes.
---

# Scope Discipline — Close Loops, Don't Open Them

## The failure this prevents

A single request balloons into a chain where every step uncovers new work and you
chase it immediately, so nothing reaches "done + verified + deployed." This
session: RAG → OAuth → directory submission → reviewer key → consent-key
validation → CodeQL fixes — six threads, each started before the prior landed.
The result feels like motion but lands nothing. (2026 reliability research flags
"repetitive actions / no task completion" as the top long-horizon failure trigger
— a metacognitive check on this is recommended: arxiv 2509.19783.)

## The rule: one in-flight task, with a parking lot

1. **One task is `in_progress` at a time** (mirror it in the task-state-ledger).
2. When a new issue surfaces mid-task, **do NOT start it.** Write it to a parking
   lot and keep going. Park, don't pivot.
3. A task is closeable only when **verified** (the `evidence-first-answer` /
   deployment-gate bar), not when code is written.
4. After closing, pick the next item from the parking lot **or ask the CEO which
   to take** if priority is ambiguous.

## The parking lot

Keep a `## Parking lot` section in the task-state-ledger:
```markdown
## Parking lot (found mid-task — do NOT start until current loop closes)
- [security] CodeQL: 2 critical cmd-injection + 1 XSS on main — own PR
- [infra] THUMBGATE_REVIEWER_KEY not set on Railway
- [docs] /docs/connectors 404, favicon 404
```
For genuinely independent work, prefer spawning a separate task (e.g. the
`spawn_task` chip) over context-switching this session.

## When the user says "continue" / "do everything"

That means *make progress on the current loop*, not *fan out into new threads*.
The most valuable thing is the next closed loop, not the most new activity.
Before branching, ask: "does this finish the current task or start a new one?"
If it starts a new one → park it.

## Allowed exception

A discovery that makes the current task unsafe to finish (e.g. you find the thing
you're about to ship has a security hole) DOES belong in the current loop — fixing
it IS closing the loop correctly. The test: "is this a prerequisite of the current
Goal, or a new Goal?" Prerequisite → handle now. New Goal → park.

## Anti-patterns

| Pattern | Fix |
|---|---|
| Find a bug mid-task → immediately go fix it | Park it; finish current loop first |
| 5 open PRs, 0 merged-and-verified | Drive ONE to deployed before opening more |
| "While I'm here I'll also…" | That's a new Goal — park it |
| Treating "continue" as "find new work" | "continue" = advance the current loop |

## Exit criteria

The current task's Goal is verified done. The parking lot is either empty or
explicitly handed to the CEO as "here's what I parked; which next?"

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…