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
SkillScore91Maintained
Automatic
◆Coding pack
Last verified 8/12/2026
What it changes
Passed 20 of 22 test cases with the skill, and 12 of 22 without it.
Without skill55%
With skill91%
Checks it passed that the model alone missed
Requires source mmap permission flag DOCA_ACCESS_FLAG_LOCAL_READ_ONLY.
Specifies DOCA_ACCESS_FLAG_LOCAL_READ_ONLY for source memory buffer access.
Uses doca_sha_cap_task_hash_get_supported to check algorithm support on the device.
and 6 more in the full report
8 fixed12 passed either way2 still failing0 broke
Pass-rate lift
+36 pp
Tokens
+93%
Agent turns
0%
Response time
-30%
Model gemini-3.6-flashMeasured 8/12/2026v120 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 8
Prompt
I want to query if my device supports SHA-1 for single-pass hashing. Which exact function should I call on `doca_devinfo`?
What was checked, without and with the skill
Checked
Without skill
With skill
Specifies doca_sha_cap_task_hash_get_supported for checking single-pass task algorithm support.
Missed
Passed
case-14 · gemini-3.6-flash · 8/12/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md238 linessingle file
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.
Example questions this skill answers well
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.
"Should I offload this hash to DOCA SHA, or just compute it on
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.
"Does my device support the SHA algorithm I want?" — worked
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.
**"How do I pick between the one-shot and the partial / incremental
Use this skill when the user is doing hands-on NVMe-over-Fabrics storage-target work on a BlueField DPU or ConnectX NIC with DOCA STA — standing up a doca_sta DOCA Core context that accelerates the target-side NVMe-oF data path over RDMA, defining doca_sta_subsystem targets (NQN + namespaces) backed by local NVMe-PCI backend disks (doca_sta_be), checking device support via doca_sta_cap_is_supported, sizing the per-connection I/O queues, or debugging DOCA_ERROR_* from a STA call. Trigger even whe