bytedance/agentkit-samples is a collection of examples and tutorials for Volcengine AgentKit, an AI-agent development platform for building, deploying, and operating agent applications. Developers use the samples to learn agent creation, multi-agent collaboration, memory, retrieval, MCP integrations, media generation, customer service, and other workflows. The catalogue skills provide agent workflows based on these examples.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add bytedance/agentkit-samples --skill byted-util-ark-cuagit clone --depth 1 https://github.com/bytedance/agentkit-samplesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bytedance/agentkit-samples/byted-util-ark-cua)<a href="https://agentmods.dev/skills/bytedance/agentkit-samples/byted-util-ark-cua"><img src="https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-util-ark-cua/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bytedance/agentkit-samples/byted-util-ark-cua"><img src="https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-util-ark-cua.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00117 | $0.02226 |
| Opus 5 | $0.00059 | $0.01113 |
| Sonnet 5 | $0.00023 | $0.00445 |
| Haiku 4.5 | $0.00012 | $0.00223 |
Grade A, and why
byted-util-ark-cua scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ARK CUA
Operate ARK CUA through the bundled Python CLI. Keep all gateway access inside the CLI and never request an AgentPlan API key in chat.
Command surface
python3 <skill-dir>/scripts/cua.py <command> [options]
Parse the single JSON object printed by each invocation:
- Success:
ok: true, withdataand sometimesnext. - Failure:
ok: false, witherror.codeand sometimesnext.setup_command.
Read references/commands.md for non-core commands. For a credential intent, read references/credentials.md before acting. Read references/auth.md, references/outcomes.md, or references/troubleshooting.md only when the corresponding state occurs.
Core workflow
- Run
auth status. When no credential is configured, the CLI first probesarkclithrough a private temporary HOME snapshot so read-only discovery also works in restricted sandboxes. It selects the first profile withtype=agent-planandplan_tier=max, then reads its key in memory. It never assumes the active arkcli profile is eligible or writes to the real arkcli state. - On
AUTH_REQUIRED, inspecterror.arkcli_status/error.arkcli_hint. Follow a recoverable arkcli hint first (for example, select or refresh its key), then retryauth status. If arkcli is missing or that path cannot complete, relaysetup_commandand ask the user to run it in their own local terminal; the existing hidden API-key prompt is the fallback. Never accept the key in chat. OnTOKEN_EXPIREDorREFRESH_FAILED, follow the same recovery path. - When the user explicitly wants to use a different API key even though arkcli is available, ask them to run
auth login --manualin their own local terminal. This mode bypasses arkcli only for that login, validates the hidden input, and stores it in the protected cache that business commands already prefer. A rejected manual credential fails back to the same manual setup path instead of silently switching to arkcli, which prevents operations from targeting the wrong desktop.auth logoutremoves the manual override and restores normal arkcli discovery. Never accept the key in chat or as a command argument. - After the user confirms login completed, run
auth statusagain. Ifdata.real_name_verification.statusisunverified, explain that a new CUA cannot be allocated until Volcengine real-name verification is complete, and provide itsverification_url. Do not describe the API key as invalid. An existing allocated CUA remains usable and its invocations are not stopped. - Run
delegate --objective "<user request>"once. Preserve the user's objective without planning or decomposing it. - Record
data.invocation_id; never submit the same request again. - Drive
data.outcomeuntil terminal:in_progress: runnext.commandand continue watching.needs_input: relaydata.input_request.questionverbatim, then submit the user's reply withanswer.completed: usedata.result.textas the authoritative result.failed: report the failure; retry only when requested and safe.cancelled: report cancellation.
What ships with it
16 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/config.json 308 B
- LICENSE 11 KB
- references/auth.md 5.1 KB
- references/commands.md 8.0 KB
- references/credentials.md 4.1 KB
- references/outcomes.md 1.3 KB
- references/troubleshooting.md 5.6 KB
- scripts/bootstrap-agent.py 18 KB runs code
- scripts/cua_auth.py 21 KB runs code
- scripts/cua_http.py 10.0 KB runs code
- scripts/cua_state.py 14 KB runs code
- scripts/cua_util.py 9.0 KB runs code
- scripts/cua.py 97 KB runs code
- scripts/prepare-source.py 9.3 KB runs code
- scripts/sync-cua-resource.py 6.1 KB runs code
- scripts/sync-cua.py 20 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 78 lines · 117 tokens per session scan A 9869e10778e6
byted-util-ark-cua is a skill published in the GitHub repository bytedance/agentkit-samples (450 stars, last pushed 6d ago), licensed Apache-2.0. It adds 117 tokens to every session and 2,226 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
ensembl-database
Query Ensembl genome database REST API for 250+ species. Gene lookups, sequence retrieval, variant analysis, comparative genomics, orthologs, VEP predictions, for genomic research.
aatmf-t10-confidentiality-breach
AATMF T10 — Integrity & Confidentiality Breach. System prompt extraction, training-data extraction, model-weight leakage, private-key recovery.
mochi-remind
Handle due reminders — notify the user with natural language and mark them done.
sidewinder-rattlesnake
Adversary-emulation profile for SideWinder (G0121 / Rattlesnake / T-APT-04 / Razor Tiger), India's suspected state-sponsored cyber-espionage actor.
ha-data-stores
Map of Hope Agent's local data stores and safe read-only query workflow. Use when the user asks where Hope Agent stores data, wants to inspect sessions/messages/memory/logs/background jobs/knowledge indexes/settings, asks the model to query local app data, or debugging requires checking persisted state. Trigger…
sn-image-imitate
An image tool that creates new content while following the visual style and layout of a single reference image.