A destructive-migration skill for a civic database must allow file writes but block shell execution. What frontmatter helps?
Select an answer to reveal the explanation.
Short Explanation
Destructive migrations and open Bash are a bad mix. allowed-tools is the bouncer—file writes get in, Bash stays outside for that skill run.
Full Explanation
Skills that perform dangerous work need explicit tool allowlists. For a destructive-migration skill on a civic database that must allow file writes but block shell execution, set allowed-tools so the skill may write files but cannot use Bash. Frontmatter becomes the bouncer for that skill run.
Why the correct option works: allowed-tools restricts which tools a skill may invoke during execution. Migration skills often need to Write SQL files or migration scripts under review, but Bash would enable unconstrained shell access to databases and hosts. Allowlisting write-oriented tools while omitting Bash enforces that boundary.
Why the other three fail by concept: omitting allowed-tools and granting unrestricted Bash by default for migrations exposes civic data planes to shell-driven accidents or abuse. Setting allowed-tools to Bash only and forbidding all file write tools inverts the requirement—blocking the needed writes while enabling the dangerous shell. Removing the skill and pasting migration SQL into public chat logs loses isolation, reviewability, and confidentiality.
Exam caveat: allowed-tools is skill-scoped capability control; combine with human review of generated migration files before apply. Operational check: configure allowed-tools for file writes without Bash, run the destructive-migration skill in a staging civic DB project, confirm files can be written and Bash invocations are denied, then apply migrations through the normal controlled path.