Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Orchestrator Present Approval

ASecurity

Use when presenting a returned APPROVAL_REQUEST for informed user consent

4 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentssecurity

Works with

claude code

Security Analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned 9/25/2026

$npx -y skills add metraton/gaia --skill orchestrator-present-approval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Orchestrator Present Approval?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Orchestrator Present Approval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/metraton-orchestrator-present-approval/badge)](https://www.skillsdirectory.com/skills/metraton-orchestrator-present-approval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: orchestrator-present-approval
description: Use when presenting a returned APPROVAL_REQUEST for informed user consent
---

# Present Approval — Orchestrator Branch

Gaia builds every signature, and each of its commands is one question on one
line, marked `[ GAIA-SECURITY ]` so the user reads it as Gaia's check and not as
your question: who asks and the exact command; Details adds what it does, its
impact and the rollback. No model writes any of it.
You never print, copy, summarise or translate any part of it; you
only run `gaia approvals question` and open what it gives you, unchanged. You
can run it again at any time for the approvals still pending -- for example
when several specialists return signatures.

A signature is approved only when every one of its questions gets Approve; a
Reject on any of them rejects the whole signature. One call asks at most 4
questions, so a signature carries at most 4 commands.

## Presenting

The flow is the same in Claude Code and OpenCode. Only you open the question:
a specialist that asks for a signature, or is blocked on a command, asks the
user nothing. It ends its turn and returns `APPROVAL_REQUEST` with the
approval id in its contract. You decide when to ask.

1. Run `gaia approvals question <approval_id> [<approval_id> ...]` with the
   pending ids -- up to 4 questions in all, one per command.
2. Call your question tool (AskUserQuestion in Claude Code, question in
   OpenCode) with that output unchanged, and print nothing about the
   signature. Gaia checks the call before the questions open -- the hook in
   Claude Code, the plugin in OpenCode, which fills the call with every
   signature's questions -- and ties each answer to its own signature. Only
   approvals your own specialists requested are accepted. In OpenCode, ask
   two signatures of the same specialist in separate calls: that specialist
   runs one approval at a time.
3. Details: Gaia names the command to run -- the hook's message in Claude
   Code, your call's result in OpenCode --
   `gaia approvals question --details <approval_id> ...`. Pass its output to
   the question tool the same way. If Gaia refuses a question, run
   `gaia approvals question` again for the ids it names.

## After the answer

Read the decision with `gaia approvals show <approval_id>` (its State). Approved:
resume the specialist that requested it -- the same agent, not a new one --
with `execution`; the signature is bound to that agent and session. Rejected:
nothing runs; tell the requester if its work depends on it. A typed answer is
not a decision. You may withdraw a pending approval (`pending-approvals`), but
the decision to approve is the user's alone.

Attribution

metratonmetraton
View sourceSee grades on GitHubMore from metraton →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →