11 / 168 · 01 Agent Skills for Browser Automation · Skill Lifecycle: From Installation to Execution← prev⊞ allnext →☰ Read as one page
2.4Phase 4: Invocation
When Claude decides to use a skill, it calls the Skill tool:
{
"tool": "Skill",
"input": {
"skill": "playwright-cli"
}
}
The system then performs several operations:
4a. Visibility Message (Shown to User)
<command-message>The "playwright-cli" skill is loading</command-message>
<command-name>playwright-cli</command-name>
This appears in the user's chat interface, providing transparency about what's happening.
4b. Context Injection (Hidden from User, Sent to API)
The full content of SKILL.md is injected as a user message with isMeta: true:
- Visible to Claude — it receives the full instructions
- Hidden from UI — the user doesn't see the raw markdown
- Added to conversation history — persists for the remainder of the skill's execution
4c. Permission Elevation
If the SKILL.md frontmatter specifies allowed-tools: Bash, the Bash tool is temporarily pre-approved. This means:
- The agent can run
playwright-cli open <url>without asking permission for each command - The user isn't bombarded with "Allow Bash?" prompts during browser automation
- Permissions revert after the skill completes
4d. Model Override (Optional)
If the SKILL.md specifies a model: field, the system switches to that model for the skill's execution. This enables cost optimization — a simple skill can use Haiku while the main conversation uses Opus.