fulcra-agent-roles

Manage durable team roles with lease claims, liveness tracking, and SLA-based vacancy escalation.

10|1|Updated May 21, 2026
One-click install
npx skills add https://github.com/ashfulcra/fulcra-tools --skill fulcra-agent-roles-ashfulcra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fulcra-agent-roles
Source: https://github.com/ashfulcra/fulcra-tools/tree/main/skills/fulcra-agent-roles
Command: npx skills add https://github.com/ashfulcra/fulcra-tools --skill fulcra-agent-roles-ashfulcra

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? In multi-agent teams built on fulcra-agent-teams, there is no notion of a durable role that outlives any single session — no way to answer "who is the reviewer right now?", "is anyone on-call?", or "has this critical function been unattended too long?" This Skill adds persistent, named roles with lease-based ownership so responsibilities survive session turnover. ## Core Features & Use Cases - Role registry with policy and SLA: Define roles (reviewer, maintainer, on-call) as OKF markdown docs with shared or exclusive policy, sla_hours, and a maintainer for escalations. - Lease-based liveness: Agents claim and refresh leases via coord-engine roles claim; the engine deterministically folds lease freshness into HELD, VACANT, CONTESTED, or DORMANT status. - Vacancy escalation and dormancy: Roles vacant past their SLA escalate to a maintainer at most once per day, and dormant_until parks a role without muting the sweep. - Use Case: A team needs an always-covered reviewer role: any available session claims the shared reviewer lease, polls the role inbox, files verdicts, and if no one holds it for 12 hours the maintainer is automatically notified. ## Quick Start Ask the agent to run the re-entrancy probes for a role in your team, then claim the reviewer role with coord-engine and refresh the lease each time it does review work.

Frequently Asked Questions about fulcra-agent-roles

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

FAQPage Schema
How do I assign durable roles to agents in a Fulcra team?

Write a role doc at team/<team>/roles/<name>.md with type: Role and frontmatter for policy, sla_hours, and maintainer. Agents then claim the role with coord-engine roles claim, which writes an engine-named lease shard as the liveness signal.

How do I check who currently holds a role?

Run coord-engine roles status <team> <role> --json. The engine folds lease freshness against the role's policy and SLA and returns HELD, VACANT, CONTESTED, DORMANT, or UNKNOWN plus the list of fresh holders.

What happens when a role is left vacant too long?

When a role has no fresh lease past its sla_hours, the engine sets escalation_due. A first-writer-wins daily marker dedupes the escalation, and a vacancy notice is dropped into the maintainer's team inbox at most once per day.

Can multiple agents hold the same role at once?

Yes, if the role's policy is shared — multiple fresh leases are allowed, including host-qualified ids like maintainer@host1. With exclusive policy, two fresh leases report CONTESTED and all but one holder should release.

How do I pause escalation for a role without deleting it?

Set dormant_until to an ISO-8601 timestamp in the role doc's frontmatter. While that date is in the future the engine reports DORMANT and suppresses vacancy escalation; an unparseable value fails open so a typo never silently mutes the role.