Install
$ agentstack add skill-allemaar-open-skills-caller-options ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/caller-options
Caller Options (COP) makes a skill's hidden choices visible. When a participating skill runs, COP detects whether the invocation has material optionality along two dimensions, evaluates the live options, and surfaces them to the caller — instead of the skill silently picking. The caller (a human, or another agent) decides.
- Venue — who executes:
inline(the active agent),delegated(one primed sub-agent, while the active agent orchestrates — the "agentic counterpart"), orfan-out(N parallel sub-agents). - Mode — which path of the skill, when the skill already has more than one.
COP is invoked two ways: automatically, when a skill carrying the COP opt-in block is triggered; or directly, as /caller-options for an ad-hoc routing decision.
The protocol — five steps
COP always runs in the active agent — the venue decision cannot itself be delegated.
- Triage. Read the triggered skill's
caller-optionsdeclaration and the task. If exactly one venue and one mode clearly dominate, skip straight to execute — do not prompt the caller. This anti-nag gate resolves most invocations. - Enumerate. List the viable
mode × venuecombinations. Dropdelegated/fan-outif the skill is on the never-delegate list, is self-orchestrating (spawns its own sub-agents — wrapping it would nest to depth 2), or if a resolved-invocation marker is present (depth guard). - Assess. Evaluate the survivors for cost, context hygiene, and fit. Two or fewer options → compare inline. Three or more → invoke
/insight-assess. - Surface. Human caller →
AskUserQuestion, recommended option first. Agent caller → state the options and the pick visibly, honoring the skill'sdefault-policy. - Execute. Run the chosen combination. For
delegated/fan-out: build a primed brief (reusing thehandoffbrief schema), prepend theCOP-RESOLVEDmarker block (literal format in [OPT-IN-BLOCK.md](references/OPT-IN-BLOCK.md)) — it carriesdepth: 1, so the sub-agent runs its skill and any COP participant it triggers inline and never re-enters COP; spawn; orchestrate; inspect the diff/output before accepting.
Venue heuristics
Whether to delegate is decided by [references/VENUE-HEURISTICS.md](references/VENUE-HEURISTICS.md). In short — delegate when the skill does heavy throwaway reading, produces a bounded artifact, writes files, or the main context is large; keep inline when the skill needs the live conversation, is trivial, is interactive, or the caller needs to see the reasoning. A skill that spawns its own sub-agents is inline only — COP never wraps an orchestrator.
The opt-in block & frontmatter contract
A skill joins COP by adding the standard opt-in block — see [references/OPT-IN-BLOCK.md](references/OPT-IN-BLOCK.md) for both forms (a @SEC/@STEP for protocol.yon, a prose block for SKILL.md) and the frontmatter-contract spec:
caller-options:
venue: [inline, delegated] # venues this skill supports
modes: [quick, deep] # named paths; omit if single-mode
default-policy: ask # ask | recommend | auto
The frontmatter is metadata — the harness does not execute it; it is read by audit tooling and by humans. Behavior lives in the opt-in block + protocol.yon. Per-skill frontmatter is canonical for that skill's dimensions; [references/CANDIDATES.md](references/CANDIDATES.md) is a derived index.
Depth & safety
- Depth-1 only. COP-spawned sub-agents must not delegate again. Every primed brief carries a
COP-RESOLVEDmarker block withdepth: 1; the receiving sub-agent runs its skill — and any COP participant it triggers —inline, which closes the depth-2 path. No harness signal detects sub-agent nesting, so the marker is the mechanism. - No orchestrator nesting. Self-orchestrating skills are inline-forced.
- Inspect before accept. Delegated output is inspected (diff/changed paths), never accepted on narrative alone — reuses
orchestrate-mode's discipline.
Platform mapping
COP runs on every runtime, but two steps need a runtime-specific form:
- Surface (step 4) — Claude Code:
AskUserQuestion. Codex, or any runtime without a structured-question tool: present the options + recommendation in prose and wait for the caller's reply. The agent-caller path (visible pick) is already runtime-agnostic. - Execute
delegated/fan-out(step 5) — resolve the capability the current runtime actually provides. Use proven worktree isolation when available. When workers share a filesystem or working tree, read-only work may still fan out; code-changing work requires disjoint write scopes and explicit shared-state coordination, otherwise serialize it or runinline. Never infer isolation from a vendor or tool name.
Triage, Enumerate, Assess, and inline Execute are runtime-agnostic.
Standalone use
/caller-options runs the protocol ad-hoc on a task or a named skill, with no opt-in block involved — useful for a one-off routing decision or to smoke-test the protocol.
Boundary
Not a session mode — for that use [orchestrate-mode](../orchestrate-mode/SKILL.md) (dispatch-only) or [multi-agent-mode](../multi-agent-mode/SKILL.md) (lead + helpers). COP routes a single skill invocation. COP uses [insight-assess](../insight-assess/SKILL.md) to evaluate 3+ options — it does not replace it.
When orchestrate-mode or multi-agent-mode is active, the mode owns delegation — COP drops the Venue dimension and surfaces only Mode; the orchestrator decides whether the skill runs in a worker. This avoids COP and an active orchestrator both trying to route the same invocation.
> Structured execution spec: [protocol.yon](protocol.yon). Read it for the canonical rules and step sequence; this file is explanation. The two must stay in sync — if you edit one, update the other and refresh the @STAMP date.
> Self-improvement. On completion, run the Self-Improvement Protocol (self-improve/SKILL.md): if this run surfaced a concrete, blocking-or-recurring weakness in this skill, propose a specific fix for the handler to approve. Conservative — silent otherwise. Never auto-apply.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: allemaar
- Source: allemaar/open-skills
- License: Apache-2.0
- Homepage: https://allemaar.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.