earl

Route API calls, database queries, and shell commands through reviewed HCL templates.

112|7|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/brwse/earl --skill earl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: earl
Source: https://github.com/brwse/earl/tree/main/skills/runtime/earl
Command: npx skills add https://github.com/brwse/earl --skill earl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Earl prevents prompt-injection and secret leakage by routing API calls, database queries, and shell commands through reviewed HCL templates instead of exposing raw endpoints or credentials to an LLM.

Core Features & Use Cases

  • Discovery: Search installed templates to find the exact provider.command that matches an intent (e.g., list pull requests, search repos, send a Slack message).
  • Safe Execution: Reads secrets from the OS keychain, enforces strict flag ordering and explicit approval for write-mode operations, and returns structured JSON results.
  • Integration: Works as a CLI or via MCP endpoints to let agents call deterministic, reviewed tools without seeing template bodies.

Quick Start

Use Earl to search for a template matching "list github pull requests" and call the matched provider.command with the needed parameters.

Frequently Asked Questions about earl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent prompt injection when an LLM agent makes API calls or runs shell commands?

Preventing prompt injection during API calls or shell commands requires routing agent requests through reviewed HCL templates, which constrains the agent to deterministic, pre-approved execution paths. This approach prevents the LLM from seeing raw endpoints or modifying command logic.

What is the best way to keep secrets out of LLM context when automating CLI workflows?

Keeping secrets out of LLM context during CLI automation is achieved by reading credentials directly from the OS keychain at execution time. The templates access required secrets internally without exposing them to the agent's prompt context.

How do I route database queries through MCP endpoints safely?

Routing database queries through MCP endpoints safely is done by mapping query intents to a matched provider.command within an HCL template. The template enforces strict flag ordering and returns structured JSON results for deterministic consumption.

Does the Earl template system require explicit confirmation for write-mode operations?

Yes, the Earl template system requires explicit confirmation for write-mode operations to prevent unauthorized modifications. This safety mechanism enforces strict flag ordering and approval checks before executing any state-changing API or shell command.

Can I use HCL templates to search and execute provider commands across different APIs?

Yes, you can use HCL templates to search installed provider templates by intent and execute the matched provider.command with required parameters. This discovery process maps natural language intents to specific API calls, database queries, or shell commands.