AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Fulcra Agent Operator

skill-ashfulcra-fulcra-tools-fulcra-agent-operator · by ashfulcra

The operator loop for a fulcra-agent-teams space: agents surface waiting-for-operator asks with full context, an orchestrating agent pulls and re-surfaces them on its heartbeat so nothing is forgotten, and the operator's answer flows back as one atomic unblock.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-ashfulcra-fulcra-tools-fulcra-agent-operator

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-ashfulcra-fulcra-tools-fulcra-agent-operator)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
today

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Fulcra Agent Operator? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Fulcra Agent Operator

Enhances fulcra-agent-teams. The failure this skill kills: an agent hits a wall, quietly parks the work, and the operator never finds out — the workstream is forgotten. Instead: asks are first-class bus state, an orchestrator nags on them by age, and the answer is a single deterministic write that puts the work back in motion.

Where to start — the re-entrancy probes

Before surfacing or answering asks, probe whether the engine is usable and whether any asks are waiting. Enter at the first probe that fails (per the repo's skill-quality pattern, docs/skill-quality-pattern.md); both probes are pure reads, and the answer leg is a single idempotent write, so re-entry never corrupts state:

| Probe (run in order) | Command | Passes when | If it fails, enter at | |---|---|---|---| | Engine + auth usable? | coord-engine doctor | exits 0 and the last line is exactly doctor: healthy | fix engine/auth first (see fulcra-agent-reconcile) — do NOT surface asks against a broken engine | | Any asks waiting on the operator? | coord-engine asks [--human ] | the header line reads asks — 0 waiting on (oldest first) — nothing to surface (NON-mutating read) | The orchestrator's duty — a non-zero count means asks are rotting; surface the oldest to the operator and relay the answer per party 2 below |

Both probes clean → the engine is healthy and no ask is waiting; keep polling on your heartbeat.

The three parties

1. Any agent — raising an ask (when you're stuck on the operator)

coord-engine task block   --on-user ""

Rules for a GOOD ask (this is the part that makes the loop work):

  • Self-contained: someone reading only the ask text can answer it. Include the options

("use vault A or B?"), the default you'd pick, and the consequence of waiting.

  • Put longer context in the task body before blocking.
  • Then keep working other tasks — blocking one task parks that workstream, not you.
  • The answer reaches you on your next wake: it returns to your inbox unblocked, and the delivery

record surfaces in your queue read (coord-engine queue --agent ). Resident listeners are retired — do not wait on one.

2. The orchestrator — never letting an ask rot (heartbeat/loop duty)

coord-engine asks  [--human ] [--json]   # oldest first, with age_hours

On every heartbeat: pull asks --json, diff against what you last surfaced, and

  • surface new asks to the operator immediately (notification, chat, digest),
  • re-surface any ask older than your nag threshold (suggested: 4h work-hours / 24h otherwise —

age_hours is in the payload precisely so nagging is a pure function of it),

  • relay the operator's reply with answer (below). Never answer on your own authority — you are a

courier, not the operator. digest includes the same asks in its blocked-on-you section for the human-readable view; the stale section (active tasks untouched >48h) is the companion detector for workstreams that stopped without asking.

3. The operator's answer — one atomic return leg

coord-engine answer   --with ""

In ONE write: records the answer (next_action: OPERATOR ANSWER: … + body note), unblocks (blocked → active), hands the task back to its owner (their inbox, delivered on their next queue read), and strips needs:human. Refuses non-asks (a task that isn't needs:human-tagged or blocked ON THE OPERATOR — a task blocked on CI or another agent is not an ask) and asks with no owner — an answer can never land somewhere nobody is listening.

Why this shape

  • The ask/answer state lives on the bus, not in any one session's memory — any orchestrator instance,

on any host, resumes the loop from asks --json alone.

  • Age-first ordering makes forgetting structurally hard: the oldest ask is always at the top of every

pull, every digest, until someone answers it.

  • The inbound channel is whatever surface the operator is on (chat with an orchestrating agent, or

answering directly). A phone-reply channel is a known future item — the notification gets attention; the answer currently arrives through an agent session.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.