mcpField
C
claims

claims

github.com/ruvnetSecurity80.0k1.1k installsUpdated today
Repository

About claims

claims is a skill for managing agent authorization and coordinating cross-host ownership of work. It supports resource-scoped permissions and federated claim events for syncing, acknowledging, and transferring task ownership.

Key features

  1. 01Check, grant, and revoke authorization claims
  2. 02Limit access with resource patterns
  3. 03Manage work claims and handoffs
  4. 04Sync claim events across hosts
  5. 05Isolate claim messages by channel

Use cases

  1. 01Restrict agents' access to files and commands
  2. 02Set task ownership before multi-agent work
  3. 03Sync claim events across federation nodes
  4. 04Separate claim streams for teams

MCP support

The skill describes runtime tools such as claims_claim and publishing claim events through federation_bbs_publish; it does not specify a particular MCP interface.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ruvnet/ruflo --skill claims

After installing, type/claimsin Claude Code to confirm it loaded.

Details

From the project README

Claims Authorization Skill

Purpose

Claims-based authorization for secure agent operations and access control.

Claim Types

ClaimDescription
readRead file access
writeWrite file access
executeCommand execution
spawnAgent spawning
memoryMemory access
networkNetwork access
adminAdministrative operations

Commands

Check Claim
npx claude-flow claims check --agent agent-123 --claim write
Grant Claim
npx claude-flow claims grant --agent agent-123 --claim write --scope "/src/**"
Revoke Claim
npx claude-flow claims revoke --agent agent-123 --claim write
List Claims
npx claude-flow claims list --agent agent-123

Scope Patterns

PatternDescription
*All resources
/src/**All files in src
/config/*.tomlTOML files in config
memory:patternsPatterns namespace

Security Levels

LevelClaims
minimalread only
standardread, write, execute
elevated+ spawn, memory
adminall claims

Best Practices

  1. Follow principle of least privilege
  2. Scope claims to specific resources
  3. Audit claim usage regularly
  4. Revoke claims when no longer needed

Cross-Host Work Claims (federation, v3.40.0+)

Distinct from the authorization claims above: work claims coordinate ownership of a task or resource across agents, and now propagate across a cross-host federation so a claim made on one node is visible to the whole swarm.

Runtime tools (local ledger)
ToolPurpose
claims_claimTake ownership of an issue/resource (with optional TTL).
claims_releaseGive up a claim you hold.
claims_handoff / claims_accept-handoffTransfer a claim to another agent.
claims_steal / claims_mark-stealableWork-stealing for stalled claims.
claims_status / claims_listInspect current ownership.
Federated (cross-host)

Publish claim events into a federation room (federation_bbs_publish) so ownership converges across hosts. Message types: ClaimIssued / ClaimReleased / ClaimHandoff / ClaimAck.

Rules: one owner per resourceId; first valid ClaimIssued wins (ties → earliest ts, then smallest from); ClaimReleased or expired TTL frees it; ClaimHandoff only from the current owner; a coordinator posts ClaimAck naming the authoritative owner.

Before shared work: claim, sync, and proceed only if you are the acknowledged owner. When a claim must be both cross-host visible and runtime-enforced, mirror the two — publish the federation claim message and call claims_claim. See the cross-host-federation skill (ruflo-bbs-federation plugin) for the transport.

Scoping a claim stream to a channel (ADR-386)

By default every claim event lands in the shared swarm stream, where any relay member reads it. To keep a team's ownership ledger separate — or unreadable by the rest of the relay — publish claim messages into a channel instead:

npx ruflo federation channel --action create --name platform-team --visibility private
npx ruflo federation channel --action grant --channel prv:<hex> --pubkey <teammate 64-hex>
npx ruflo federation channel --action publish --channel prv:<hex> \
  --type ClaimIssued --payload '{"resourceId":"repo/foo","ttlSeconds":7200}'
npx ruflo federation channel --action read --channel prv:<hex>

Reduction rules are unchanged; only the audience changes. Two caveats before relying on it: a private channel hides content but not metadata (the relay still sees who published and when), and a claim nobody outside the channel can read cannot arbitrate against a claim made outside it. If ownership must be swarm-wide, keep it on the open stream. See the open-federation skill for channel mechanics.

Comments

Markdown supported