> Use this skill when the user is doing hands-on DOCA SHA programming — offloading SHA-1, SHA-256, or SHA-512 hashing onto a BlueField DPU or ConnectX accelerator, picking between one-shot `doca_sha_task_hash` and incremental `doca_sha_task_partial_hash`, querying `doca_sha_cap_*` for algorithm support and min destination / max source buffer sizes, setting source / destination `doca_mmap` permissions, or decoding DOCA_ERROR_* returns from the SHA API. Trigger even when the user does not explicitly mention "DOCA SHA" or "doca_sha_task" — typical implicit phrasings include "hash a multi-GiB file on the DPU", "offload SHA-256 to the BlueField", "streaming hash over chunks", "partial hash returns BAD_STATE", "destination buffer too small for digest", or "is SHA-512 available on this card". Refuse and route elsewhere for general cryptographic-hash theory (collision resistance, SHA-3 selection), other DOCA crypto libraries (AES-GCM, Compress, DMA), or DOCA install / BFB bring-up — those belong to other skills.
npx skills add https://github.com/NVIDIA/skills --skill doca-sha
Where to start: This skill assumes DOCA is already installed and
the user is doing hands-on SHA-acceleration work on a BlueField
/ ConnectX / host with DOCA. Open TASKS.md if the user
wants to *do* something (configure / build / modify / run / test /
debug); open CAPABILITIES.md when the question
is *what can DOCA SHA express* on this version. If the user has not
installed DOCA yet, route to
doca-setup first. If the user is
asking *"should I even use the accelerator for this hash?"*, the
path-selection rule in
CAPABILITIES.md ## Capabilities and modes
is the first stop.
The CLASSES of DOCA SHA questions this skill is built to answer,
each with one worked example. The agent should treat the *class* as
the load-bearing piece — the worked example is a single instance.
the CPU?"** — worked example: *"I am verifying file integrity on
a 4 GiB image; is doca-sha worth the setup vs OpenSSL on the
CPU?"*. Answered by the path-selection table in
CAPABILITIES.md ## Capabilities and modes
+ the *"when NOT to use doca-sha"* bullets in
CAPABILITIES.md ## Safety policy.
example: *"is SHA-256 in the accelerator on this BlueField, and
what is the minimum destination buffer size for it?"*. Answered
by the algorithm + buffer-sizing capability-query rule
(doca_sha_cap_task_hash_get_supported(devinfo, algorithm)
for the one-shot path; _task_partial_hash_get_supported(devinfo, algorithm)
for the partial-hash path; doca_sha_cap_get_min_dst_buf_size,
doca_sha_cap_get_max_src_buf_size) in
CAPABILITIES.md ## Capabilities and modes
+ the discovery step in
TASKS.md ## configure.
hash task?"** — worked example: *"my input is 1 GiB and the device
cap says max source buffer is 64 MiB"*. Answered by the
one-shot-vs-partial table in
CAPABILITIES.md ## Capabilities and modes
+ the task-config workflow in
TASKS.md ## modify.
worked example: *"my doca_sha_task_hash returns
DOCA_ERROR_NOT_PERMITTED"*. Answered by the permission matrix
in CAPABILITIES.md ## Safety policy
+ the mmap-set-permissions checklist in
TASKS.md ## test.
— worked example: *"is doca_sha_task_partial_hash in the DOCA
I have installed?"*. Answered by the version-compatibility
overlay in
CAPABILITIES.md ## Version compatibility,
which cross-links the canonical detection chain in
doca-version and adds the
SHA-specific *"discover, do not assume"* bullets.
DOCA_ERROR_* from a SHA call mean and whichlayer caused it?"** — worked example: *"DOCA_ERROR_INVALID_VALUE
on doca_sha_task_hash_alloc_init"*. Answered by the SHA overlay
on the cross-library taxonomy in
CAPABILITIES.md ## Error taxonomy
+ the layered ladder in
TASKS.md ## debug that escalates to
doca-debug.
This skill serves **external developers building applications that
consume the DOCA SHA library** — i.e., users whose code calls
doca_sha_* (directly in C/C++, or through FFI/bindings from
another language) to offload SHA hashing onto a BlueField DPU or
ConnectX accelerator. It is *not* for NVIDIA developers contributing
to DOCA SHA itself.
Language scope. DOCA SHA ships as a C library with pkg-config
module name doca-sha. The shipped samples are written in C. C and
C++ consumers are the canonical case and the worked examples in
TASKS.md assume that path. Other-language consumers (Rust, Go,
Python, …) consume the same *.so through FFI or language-specific
bindings; the skill's contribution in that case is to keep the
lifecycle, capability-discovery, permission, error-taxonomy, and
one-shot-vs-partial guidance language-neutral, and to route the
agent to the public C ABI as the authoritative surface that any
wrapper will eventually call.
Load this skill when the user is doing hands-on DOCA SHA work, in
any language. Concretely:
doca_sha context on a doca_dev and configuringat least one task type (doca_sha_task_hash and/or
doca_sha_task_partial_hash) before doca_ctx_start().
doca_sha_task_hash —input fits in a single source buffer, output digest lands in a
single destination buffer) and the partial / incremental task
(doca_sha_task_partial_hash — input streamed in chunks, finalized
separately) for the user's data shape.
doca_mmap correctly for the source buffer(DOCA_ACCESS_FLAG_LOCAL_READ_ONLY at minimum) and the destination
buffer (DOCA_ACCESS_FLAG_LOCAL_READ_WRITE).
doca_sha_cap_get_min_dst_buf_size(devinfo, algorithm) and
the source buffer against
doca_sha_cap_get_max_src_buf_size(devinfo).
(DOCA_SHA_ALGORITHM_SHA1, DOCA_SHA_ALGORITHM_SHA256,
DOCA_SHA_ALGORITHM_SHA512) the active device's accelerator
advertises, via
doca_sha_cap_task_hash_get_supported(devinfo, algorithm) and
doca_sha_cap_task_partial_hash_get_supported(devinfo, algorithm) —
both fold task-support and algorithm-support into one call.
bulk input through the accelerator.
DOCA_ERROR_* returned from a SHA call (lifecycle vs.buffer-sizing vs. permission vs. unsupported-algorithm) and the
task-completion event on the progress engine.
wrap the SHA C ABI — for the lifecycle, permission, capability,
and one-shot-vs-partial rules the wrapper must honor.
Do not load this skill for general DOCA orientation, install of
DOCA itself, non-SHA hashing libraries on CPU (use OpenSSL or
similar), or other DOCA libraries. For those, use
doca-public-knowledge-map.
This is a thin loader. The body keeps only the orientation
needed to pick the right next file. The substantive SHA-specific
material lives in two companion files:
CAPABILITIES.md — what DOCA SHA can express on this version:the two task types (one-shot hash and partial / incremental
hash), the three algorithm enums, the capability-query surface
(doca_sha_cap_* for algorithm support and buffer sizing), the
SHA error taxonomy (mapped onto the cross-library DOCA_ERROR_*
set), the observability surface (per-task completion events on
the progress engine), the safety policy that gates source /
destination mmap permission decisions, and the path-selection
rule (when to use doca-sha versus a CPU hash or a different
DOCA crypto library).
TASKS.md — step-by-step workflows for the six in-scope SHAverbs: configure, build, modify, run, test, debug.
Plus a Deferred task verbs block that points out-of-scope
questions at the right next skill.
The skill assumes a host or BlueField where DOCA is already
installed at the standard location and the user has the privileges
their public install profile expects. It does not cover installing
DOCA — that path goes through
doca-setup.
This skill is agent guidance, not a samples or templates
bundle. To keep the boundary clean, it deliberately does not
contain — and pull requests should not add:
language.** The verified SHA source code is the shipped C samples
at /opt/mellanox/doca/samples/doca_sha/, plus the File Integrity
reference application linked from the public DOCA SHA guide. The
agent's job is to route the user to those files and prescribe a
minimum-diff modification on them via the universal
modify-a-sample workflow in
doca-programming-guide,
layered with the SHA-specific overrides in
TASKS.md ## modify.
tells the agent to use a *published* test vector (e.g. the NIST
SHA test vectors for the empty string, "abc", and the
million-a input) as the known-vector smoke; it does not ship a
vector bank of its own.
meson.build, CMakeLists.txt,Cargo.toml, …) parked inside the skill. The agent constructs
the build manifest *in the user's project directory* against the
user's installed DOCA, where pkg-config --modversion doca-sha
is the source of truth.
samples/, bindings/, or reference/ subtree of anykind. A mock or incomplete artifact in this skill's tree, even
one labeled "reference", is misleading: users will read it as
buildable.
SKILL.md first to confirm the user's question is inscope.
partial task split, capability-query rules, permission matrix,
error taxonomy, observability, and safety / path-selection
policy, see CAPABILITIES.md.**
test, debug — see TASKS.md.**
Both companion files cross-link to each other,
doca-version for the canonical
version-handling rules, and
doca-public-knowledge-map
whenever the right answer is "look it up in the public docs or the
installed package layout" rather than "SHA-specific guidance".
doca-public-knowledge-map —the routing table for every public DOCA documentation source and
the on-disk layout of an installed DOCA package. The DOCA SHA
page lives at docs.nvidia.com/doca/sdk/DOCA-SHA/; the File
Integrity reference application is the canonical worked example.
doca-setup — env preparation,install verification, and the *I have no install yet* path with
the public NGC DOCA container. This skill assumes its
preconditions are satisfied.
doca-version — canonical DOCAversion-handling rules. This skill's
## Version compatibility
cross-links the four-way match rule and adds only the SHA-specific
*"discover algorithms + buffer sizes via cap query"* overlay.
doca-structured-tools-contract —the bundle's structured-tools precedence rule (detect / prefer
/ fall back / report). The Command appendix in
TASKS.md honors this contract.
doca-programming-guide —general DOCA programming patterns shared by every library: the
canonical pkg-config + meson build pattern, the universal
modify-a-shipped-sample first-app workflow, the universal
lifecycle, the cross-library DOCA_ERROR_* taxonomy, and the
program-side debug order. This skill layers SHA specifics on
top.
doca-debug — the cross-cuttingdebug ladder (install / version / build / link / runtime /
program / driver). SHA-specific debug (algorithm-not-supported,
destination-buffer-too-small, partial-hash-out-of-order) overlays
on top of that ladder.
Build professional financial services data packs from various sources including CIMs, offering memorandums, SEC filings, web search, or MCP servers. Extract, normalize, and standardize financial data into investment committee-ready Excel workbooks with consistent structure, proper formatting, and documented assumptions. Use for M&A due diligence, private equity analysis, investment committee materials, and standardizing financial reporting across portfolio companies. Do not use for simple financial calculations or working with already-completed data packs.
Give the AI agent its own EVM wallet with admin-controlled policies the agent CANNOT bypass even under prompt injection. Encrypted keystore (AES-256-GCM, scrypt KDF), policy file the agent has no tool to write, deterministic policy gate on every signing operation, optional local HTTP dashboard. Triggers: agent wallet, give the agent a wallet, agent address, fund the agent, agent autonomy, policy gate, kill switch, agent permissions, bounded autonomy, ERC-4337 alternative, session-key alternative.
BNB Chain MCP server connection and tool usage. Covers npx @bnb-chain/mcp@latest, PRIVATE_KEY and RPC, and every MCP tool — blocks, transactions, contracts, ERC20/NFT transfers, wallet, ERC-8004 agent registration, Greenfield. Use when connecting to bnbchain-mcp, querying or transacting on BNB Chain/opBNB/EVM, registering as ERC-8004 agent, or using Greenfield.
Entry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.
Upload files to IPFS through the Kleros x402 payment gateway in exchange for $0.01 USDC on Base mainnet. Use this skill **specifically** when the user is uploading content destined for the Kleros ecosystem — dispute evidence, meta-evidence JSON, court / dispute / arbitrator policies, Curate item metadata, juror justifications, or any artifact a Kleros smart contract or subgraph will reference by IPFS CID. Trigger when the request mentions Kleros, a court / arbitrator / dispute / juror / curate / proof-of-humanity context, or any of the conventional Kleros operation tags (evidence, meta-evidence, justification). Do NOT trigger for generic 'upload to IPFS' / 'get me a CID' requests with no Kleros context — point those users at Pinata, web3.storage, or any general-purpose pinning service instead. Exception: if the user explicitly names this gateway (kleros-ipfs-gateway.fly.dev / kleros-api.netlify.app/.netlify/functions/upload-to-ipfs), explicitly requests this skill, or asks the agent to test / validate / sanity-check this gateway or skill, trigger regardless of topical context — a deliberate end-to-end test is a valid trigger.
Use when an agent hits HTTP 402 / payment-required, or the user mentions x402, x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, permit2, upto, metered billing, a payment channel / voucher / session, channelId / channel_id, opening / closing / topping up / settling / refunding a channel, a paymentId or a2a_ link, creating / checking a payment link, A2MCP / an A2MCP endpoint, or sending a request to / calling an Agent's endpoint with a concrete endpoint URL. Covers x402 (exact, exact+Permit2, upto, aggr_deferred), MPP (charge / session), and a2a-pay paymentId flows. Any close / topup / settle / voucher / refund near a channel_id or session is an MPP mid-session op. The full bilingual trigger list (including Chinese) lives in the skill body.
Onchain OS onboarding & guide hub — the single entry for first-time, 'what is this / how do I use it', OKX.AI, and customer-support intents; classifies the intent and routes to the right sub-flow via its Intent Routing table. Covers: (1) Onchain OS onboarding + welcome banner — 'what is onchainos', 'what is onchain os', 'what can it do', 'what can onchainos do', 'what does onchainos do', 'how do I use this', 'how do I play', 'how to use onchainos', 'how to play onchainos', 'how does onchainos work', 'how do I start', 'getting started', 'tutorial', 'onboarding', 'first time', 'I just installed', 'now what', 'what do I do now', 'where do I start', 'who are you', 'what are you', 'introduce onchainos', 'tell me about onchainos', 'I'm new'; (2) OKX.AI intro & role-registration routing (the Agent economic system — roles User / ASP / Evaluator) — 'what is OKX.AI', 'OKX.AI 是什么', 'how to use OKX.AI', 'OKX.AI 快速开始', and any spelling / spacing / casing / typo variant (OKXAI, okx ai, okx-ai, lowercase okx.ai, 啥是okxai); (3) customer support / Help Center — 'contact support', 'talk to a human', 'customer service', 'file a complaint', 'give feedback', 'report a bug / system error', 'help center', 'FAQ', 'user guide', 'something is broken'. NOT for: direct on-chain actions (swap / wallet / balance / token) or Agent task lifecycle (publish / accept / deliver / dispute) — those have their own skills.
Create and manage Starknet wallets for AI agents. Transfer tokens, check balances, manage session keys, deploy accounts, and interact with smart contracts using native Account Abstraction.
Take nvidia/doca-sha from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.