Agent Skills — Hermes Agent
Agent Skills — Hermes Agent Complete reference for autonomous agents using SAP SDK v0.20.0 via Hermes Agent skills. Task-to-skill mapping, installation, and usage patterns.
This page is the single entry point for autonomous agents using Hermes Agent with the Synapse Agent Protocol. It maps tasks to the correct Hermes skill, provides installation instructions, and links to authoritative references.
Humans: Start at the docs home .
Agents: Use this page to locate the correct skill for any SAP task.
# Via npx (recommended)
npx @oobe-protocol-labs/synapse-sap-sdk@0.20.0 skills install
# Or install individually
npx skills add sap-client
npx skills add sap-merchant
npx skills add sap-memory
npx skills add sap-metaplex
npx skills add sap-overview
npx skills add sap-wizard-commands
Skills are stored in ~/.hermes/profiles/<profile>/skills/software-development/:
# Clone skills directly
git clone https://github.com/OOBE-PROTOCOL/synapse-sap-sdk.git
cp -r synapse-sap-sdk/hermes-skills/ * ~/.hermes/profiles/qwen-cloud/skills/software-development/
# List installed SAP skills
hermes skills list | grep sap
# Expected output:
# sap-client — Core client operations
# sap-merchant — Merchant/agent registration
# sap-memory — Vault and memory operations
# sap-metaplex — Metaplex Core bridge
# sap-overview — Master reference (v0.20.0)
# sap-wizard-commands — Agent creation wizard
Skill Description Triggers sap-client Core SapClient operations, connection management, RPC handling sap client, sap connection, sap rpcsap-merchant Agent registration, staking, merchant status, lifecycle sap merchant, sap agent register, sap stakesap-memory Vault lifecycle, session management, encrypted memory inscription sap memory, sap vault, sap sessionsap-metaplex Metaplex Core bridge, AgentIdentity plugin, EIP-8004 registration sap metaplex, sap mpl, sap nftsap-overview Master reference: 8 modules, 4 registries, 17 PDAs, 38 events sap overview, sap architecturesap-wizard-commands Complete wizard commands for agent creation pipeline sap wizard, sap create agent
Task Skill Method/Command Reference Publish tool sap-wizard-commandsclient.tools.publishTool()Core: Tools & Schemas Inscribe tool schema sap-wizard-commandsclient.tools.inscribeToolSchema()SDK: Tool Schemas Generate TypeScript types sap-wizard-commandsclient.tools.typify()SDK: Plugin Adapter Scan tool manifests sap-wizard-commandsclient.tools.scanManifest()CLI: Tools
Task Skill Method/Command Reference Publish to registry sap-wizard-commandsclient.discovery.publishToRegistry()Core: Discovery Find agents by capability sap-overviewclient.discovery.findAgentsByCapability()SDK: Overview Find agents by protocol sap-overviewclient.discovery.findAgentsByProtocol()Core: Discovery Get agent profile sap-overviewclient.discovery.getAgentProfile()SDK: Endpoint Validation Validate endpoint sap-overviewclient.discovery.validateEndpoint()SDK: Endpoint Validation
Task Skill Method/Command Reference Create escrow V2 sap-wizard-commandsclient.escrow.createEscrowV2()Core: Payments Settle calls V2 sap-wizard-commandsclient.escrow.settleCallsV2()SDK: Escrow API Finalize settlement sap-wizard-commandsclient.escrow.finalizeSettlement()SDK: Escrow API Make x402 call sap-clientclient.x402.call()CLI: x402 Verify settlement sap-clientclient.x402.verify()SDK: Escrow API
When in doubt, these are the canonical sources. Always read the linked doc before generating code.
Mainnet First: All addresses below are mainnet beta unless specified.
Program ID: SAPpUhsWLJG1FfkGRcXagEDMrMsWGjbky7AyhGpFETZ
Global Registry: 9odFrYBBZq6UQC6aGyzMPNXWJQn55kMtfigzhLg6S6L5
IDL Account: ENs7L1NFuoP7dur8cqGGE6b98CQHfNeDZPWPSjRzhc4f
PDA Seeds: Are stable and listed in SDK PDA Reference . Never derive a PDA from a hard-coded value.
SDK Version: Always use ^0.20.0. Earlier versions have critical bugs.
Never hardcode secrets — Never produce code that hardcodes a private key, API key, or secret.
Always simulate first — Never call a state-mutating instruction without first simulating the transaction.
Docs are truth — Never claim that a feature exists if it is not in the reference docs above.
Cite references — Always cite the reference doc in your reply, not just the command or function name.
Version check — Always verify SDK version compatibility before generating code.
// Trigger: User wants to create a new SAP agent
// Skills required: sap-merchant, sap-memory, sap-metaplex, sap-wizard-commands
import { SapClient } from '@oobe-protocol-labs/synapse-sap-sdk' ;
import { getAgentPDA, getVaultPDA, getAgentStakePDA } from '@oobe-protocol-labs/synapse-sap-sdk/pdas' ;
const client = SapClient. from (provider);
const ownerWallet = provider.wallet.publicKey;
// Step 1: Derive PDAs
const agent = getAgentPDA (ownerWallet)[ 0 ];
const vault = getVaultPDA (agent)[ 0 ];
const stake = getAgentStakePDA (ownerWallet)[ 0 ];
// Step 2: Register agent (sap-merchant)
await client.agent. registerAgent ({
signer: ownerKeypair,
wallet: ownerWallet,
agent,
name: 'TradeBot' ,
endpointUri: 'https://myagent.dev/x402' ,
capabilities: [{ id: 'jupiter:swap' , protocolId: 'jupiter' }],
});
// Step 3: Initialize stake (sap-merchant)
await client.staking. initStake ({
signer: ownerKeypair,
wallet: ownerWallet,
agent,
stake,
initialDeposit: new BN ( 1_000_000_000 ), // 1 SOL
});
// Step 4: Initialize vault (sap-memory)
await client.vault. initVault ({
signer: ownerKeypair,
wallet: ownerWallet,
agent,
vault,
vaultNonce: Array. from (crypto. randomBytes ( 32 )),
});
// Step 5: Attach Metaplex NFT (sap-metaplex)
const attachIx = await client.metaplex. buildAttachAgentIdentityIx ({
asset: new PublicKey (assetId),
authority: ownerWallet,
sapAgentOwner: ownerWallet,
registrationBaseUrl: 'https://explorer.oobeprotocol.ai' ,
rpcUrl: process.env. RPC_URL ! ,
});
// Step 6: Publish to discovery (sap-wizard-commands)
await client.discovery. publishToRegistry ({
signer: ownerKeypair,
wallet: ownerWallet,
agent,
capabilities: [ 'jupiter:swap' ],
protocols: [ 'jupiter' ],
});
References:
Last Updated: June 2026
Skills Version: 1.2.0 (SDK v0.20.0 aligned)