Receber por email
← Voltar para o catálogo

scope

Hard-block edits outside declared frozen directories via PreToolUse hook.

393estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: NOASSERTION

Como adicionar

/plugin marketplace add boshu2/agentops

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/scope-mpt2bth8/svg)](https://www.skillteca.com.br/skills/scope-mpt2bth8)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

$scope — Edit Scope Guard

Purpose: Declare which directories are in scope for the current work session. Edits outside the declared scope are hard-blocked by a PreToolUse hook.

YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.

Quick Start

$scope freeze cli/cmd/ao/                   # Freeze a single directory
$scope freeze cli/cmd/ao/ skills/scope/     # Freeze multiple (additive)
$scope unfreeze cli/cmd/ao/                 # Remove one frozen directory
$scope unfreeze                             # Clear ALL frozen directories
$scope status                               # Show current lock state
$scope status --json                        # JSON output

Behavior Contract

When .agents/scope.lock declares one or more frozen_dirs:

  • Any shell / apply_patch tool call whose target path is outside every frozen directory is rejected by hooks/edit-scope-guard.sh with a structured stderr reason and a non-zero exit code.
  • Edits to paths under any frozen directory are allowed.
  • When the lock file is missing OR frozen_dirs is empty, the hook short-circuits with exit 0 (no enforcement).
  • The hook fails open on malformed JSON or missing target-path fields. Defensive default protects against harness changes.

The lock file is written via cli/internal/llmwiki/scope_guard.go:SafeAtomicWrite, so concurrent freeze / unfreeze calls converge atomically.

Subcommands

$scope freeze <dir>...

Append one or more directories to the frozen set. Idempotent.

$scope unfreeze [<dir>]

Without arguments, clears the entire frozen set. With arguments, removes just those entries.

$scope status [--json]

Print the current lock state. With --json, emit a JSON object matching the schema in [references/lock-file-format.md](references/lock-file-format.md).

$scope guard (future combo skill)

Reserved for a follow-up combo skill. Not implemented in this release.

Lock File Format

.agents/scope.lock is a JSON object. Full schema in [references/lock-file-format.md](references/lock-file-format.md).

Notes

  • Wave 1 hardcodes .agents/scope.lock. Wave 2 (I5) routes through lib/ao-paths.sh.
  • Hooks (session-boundary) and agentopsd (cron-cadence) compose; this skill is session-boundary only.
  • Path-scope freezing handles where edits land. For a complementary lane that gates what commands run (rm -rf, git reset --hard, DROP DATABASE, kubectl delete, terraform destroy) — including allowlist layering, one-shot override codes, and PreToolUse wiring — see [references/destructive-command-guard-patterns.md](references/destructive-command-guard-patterns.md). Wire it alongside the scope guard when a wave touches infrastructure or shared data.
  • When a workflow needs human approval, hook parity, or simultaneous command review rather than only path freezing, use [references/command-approval-and-hook-guardrails.md](references/command-approval-and-hook-guardrails.md).
  • When authoring new hook behavior rather than using scope's existing guard, use $hooks-authoring.

References

  • [references/lock-file-format.md](references/lock-file-format.md)
  • [references/destructive-command-guard-patterns.md](references/destructive-command-guard-patterns.md)
  • [references/command-approval-and-hook-guardrails.md](references/command-approval-and-hook-guardrails.md)

Local Resources

references/

  • [references/lock-file-format.md](references/lock-file-format.md)
  • [references/destructive-command-guard-patterns.md](references/destructive-command-guard-patterns.md)
  • [references/command-approval-and-hook-guardrails.md](references/command-approval-and-hook-guardrails.md)
Compartilhar X LinkedIn