Skip to content

Skills: Scoped tool permissions (auto-approve tools declared by a skill) #293276

@digitarald

Description

@digitarald

Follow-up to #285172

With skills now invocable as /commands, a key gap remains: skills can declare tools they need, but the user still gets prompted for approval on each tool use. This friction undermines the "packaged workflow" value proposition of skills.

Problem

Today the tools frontmatter field lists which tools are available for a prompt, but does not affect approval behavior. A deployment skill that calls terminal, git, and file tools still triggers per-use confirmation dialogs — defeating the purpose of encoding a trusted workflow as a skill.

Proposed behavior

Add an allowed-tools frontmatter field (or extend the existing tools field with an approval modifier) that grants auto-approval for the listed tools only for the duration of that skill's execution.

Example SKILL.md:

---
name: safe-reader
description: Read and analyze files without making changes
allowed-tools: Read, Grep, Glob
---

Explore the codebase and report findings. Do not modify any files.

When /safe-reader runs, the three listed tools execute without confirmation prompts. All other tools still require approval per the user's normal permission settings.

Key design considerations

  • Scoped lifetime: Auto-approval applies only while the skill is active, not globally
  • User override: Users should be able to revoke or restrict auto-approved tools via settings
  • Audit trail: Tool invocations under auto-approval should still be visible in the chat/output
  • Workspace trust: Auto-approval should be gated by workspace trust settings
  • Granular syntax: Consider supporting tool arguments (e.g., Bash(git *) to only auto-approve git commands)

Prior art

  • Claude Code allowed-tools frontmatter field
  • Claude Code also supports permission rules like Skill(name) / Skill(name *) for admin-level control over which skills can be invoked

Metadata

Metadata

Assignees

Labels

chat-promptsPrompt and Instruction files related issuesfeature-requestRequest for new features or functionality

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions