跳到正文
cccskills
免费在 GitHub 公开

maestro-guard

Manage editing boundary restrictions

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<purpose> Configure directory-level write boundaries enforced by the workflow-guard PreToolUse hook. Subcommands: on, off, status, allow `<path>`, deny `<path>`, remove `<path>`, clear. </purpose> <context> $ARGUMENTS — Parse subcommand and optional path argument.

Config location: .workflow/config.json → guard section

{
  "guard": {
    "enabled": false,
    "mode": "allow",
    "paths": []
  }
}

Enforcement: The workflow-guard hook (PreToolUse on Write/Edit) reads this config and blocks operations targeting files outside boundaries. Requires hooks level >= full.

Output boundary: ALL file writes MUST target .workflow/config.json (guard section) only. NEVER modify hook files, .claude/settings.json, or source code. </context>

<invariants> 1. **Config-only mutation** — guard MUST only modify the `guard` section of `.workflow/config.json`; NEVER touch other config sections or files 2. **Non-destructive** — `off` MUST preserve existing paths and mode; NEVER clear the path list when disabling 3. **Mode switch confirmation** — switching between allow/deny mode MUST require request_user_input confirmation when existing paths will be cleared 4. **Hook dependency** — guard MUST warn when enabled but `workflow-guard` hook is not active (hooks level < full) 5. **Path normalization** — all paths MUST use forward slashes with trailing slash for directories; NEVER store raw backslash paths </invariants> <execution>

Phase Gates (MANDATORY, BLOCKING)

GATE 1: Parse → Config Read

  • REQUIRED: Subcommand parsed (on/off/status/allow/deny/remove/clear) or defaulted to status.
  • BLOCKED if: invalid subcommand provided.

GATE 2: Config Read → Execute

  • REQUIRED: .workflow/config.json read successfully or initialized with empty guard section.
  • BLOCKED if: file unreadable and cannot be created (E001).

GATE 3: Execute → Confirm

  • REQUIRED: Config mutation applied (for on/off/allow/deny) or status displayed (for status).
  • REQUIRED: Mode-switch request_user_input answered (for allow↔deny transitions with existing paths).
  • BLOCKED if: user declines mode switch.

Step 1: Parse subcommand

Extract from $ARGUMENTS:

  • on / off / status / allow <path> / deny <path>
  • If no subcommand, default to status

Step 2: Read config

Read .workflow/config.json. If file missing, initialize with empty guard section.

Step 3: Execute subcommand

status:

  • Display: enabled/disabled, mode (allow/deny), paths list
  • Check if workflow-guard hook is active (read .claude/settings.json for hook presence)
  • If guard enabled but hook not active, warn: "⚠ PathGuard enabled but workflow-guard hook not installed. Run maestro hooks level full to activate."

on:

  • Set guard.enabled = true
  • If guard.paths is empty, set default: ["src/", "tests/", ".workflow/"]
  • Check hook level, warn if < full
  • Write config

off:

  • Set guard.enabled = false
  • Preserve existing paths and mode
  • Write config

allow <path>:

  • Normalize path to forward slashes, ensure trailing slash for directories
  • If guard.mode is deny, request_user_input: "Switching from deny to allow mode will clear existing paths ({N} paths). Continue?" — abort if user declines. Clear guard.paths (mode switch invalidates previous path list).
  • Set guard.mode = "allow"
  • Add path to guard.paths (deduplicate)
  • Set guard.enabled = true if not already
  • Write config

deny <path>:

  • Normalize path to forward slashes, ensure trailing slash for directories
  • If guard.mode is allow, request_user_input: "Switching from allow to deny mode will clear existing paths ({N} paths). Continue?" — abort if user declines. Clear guard.paths (mode switch invalidates previous path list).
  • Set guard.mode = "deny"
  • Add path to guard.paths (deduplicate)
  • Set guard.enabled = true if not already (symmetric with allow: adding a deny path auto-enables the guard)
  • Write config

remove <path>:

  • Normalize path
  • Remove from guard.paths (if present)
  • Write config

clear:

  • Set guard.paths = []
  • Write config

Step 4: Confirm

Display updated guard configuration.

</execution>

<error_codes>

  • E001: .workflow/config.json not found and cannot be created (not a maestro project)
  • W001: PathGuard enabled but workflow-guard hook not installed </error_codes>

<success_criteria>

  • Config read/written correctly
  • Hook level warning displayed when applicable
  • Updated configuration shown after changes </success_criteria>
<completion> ### Next-step routing | Condition | Suggestion | |-----------|-----------| | Guard enabled, hook not installed | `maestro hooks level full` | | Want to verify guard works | Edit a file outside allowed paths | </completion>

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

maestro

免费

Intent-to-chain planner over the canonical Session/Run lifecycle

中文简介正在准备中。当前显示原文说明。

catlog22/maestro-flow5662026年10月15日 更新

Quick execution for small tasks — minimal run lifecycle (start + done) with evidence recording. Full LLM capability, scoped to mechanically clear tasks.

中文简介正在准备中。当前显示原文说明。

catlog22/maestro-flow5662026年10月15日 更新

Create or sync session worktree for parallel dev

中文简介正在准备中。当前显示原文说明。

catlog22/maestro-flow5662026年10月15日 更新

Maestro Flow 命令帮助系统。搜索命令、浏览技能、工作流推荐、新手引导。Triggers on "maestro-help", "帮助", "命令", "怎么用", "skill", "workflow", "maestro 怎么用".

中文简介正在准备中。当前显示原文说明。

catlog22/maestro-flow5662026年10月15日 更新

Use when designing, reviewing, refining, fixing, or codifying frontend UI with Maestro's self-contained Impeccable core

中文简介正在准备中。当前显示原文说明。

catlog22/maestro-flow5662026年10月15日 更新

Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.

中文简介正在准备中。当前显示原文说明。

catlog22/maestro-flow5662026年10月15日 更新

查看 catlog22 的全部技能

报告此技能的问题