packages/extension/src/skills/erc8004-register/SKILL.md
Register coop as ERC-8004 agent identity — build manifest, upload to IPFS, register onchain via Safe.
npx skillsauth add regen-coordination/coop erc8004-registerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when a coop needs to register or re-register its agent identity under the ERC-8004 agent registry. The trigger fires when no valid registration exists or when coop metadata has changed since the last registration.
Goals:
agent.json manifest from current coop shared statedata:application/json;base64,... URI for onchain storageInputs (from coop shared state via read-coop-context):
coopName — human-readable coop namecoopPurpose — one-line purpose statementskillIds — list of active skill IDs loaded by the harnesssafeAddress — the coop's Safe multisig addresschainId — target chain (42161 for Arbitrum One, 11155111 for Sepolia)Manifest format (agent.json):
{
"type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
"name": "Coop: <coopName>",
"description": "<coopPurpose>",
"services": [{ "name": "web", "endpoint": "https://coop.regen.earth" }],
"active": true,
"supportedTrust": ["reputation"],
"capabilities": ["tab-capture", "content-extraction", "archive-anchor", "peer-sync"],
"skills": ["<skillId1>", "<skillId2>", ...],
"operator": { "safeAddress": "0x...", "chainId": 42161 },
"guardrails": {
"approvalRequired": true,
"maxCycleActions": 8,
"autoRunSkills": ["erc8004-register", "erc8004-feedback"]
}
}
Rules:
active to true for new registrationsskills from the actual loaded skill IDs, not a hardcoded listguardrails.maxCycleActions at 8 unless the coop config overrides iterc8004-registration-output schema: agentURI (base64 data URI), metadata (array of {key, value} pairs including name, version, safeAddress), rationale (one-line explanation)tools
Plan the next action for the top-scored grant opportunity using a Gemma 4 function call.
tools
Cluster related local signals into reusable themes for shared memory and coordination.
tools
Route newly captured extracts into local coop contexts, preserve weak matches, and seed local drafts for stronger matches.
tools
Produce a weekly-style synthesis draft from accepted drafts and recent shared artifacts.