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-outbound-callgit 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-outbound-call)<a href="https://agentmods.dev/skills/bytedance/agentkit-samples/byted-outbound-call"><img src="https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-outbound-call.svg" alt="Measured on agentmods" 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.00041 | $0.03386 |
| Opus 5 | $0.00020 | $0.01693 |
| Sonnet 5 | $0.00008 | $0.00677 |
| Haiku 4.5 | $0.00004 | $0.00339 |
Grade A, and why
byted-outbound-call 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 5d 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 — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
概述
目标用户
希望将生活服务场景中「需要打电话」的琐事外包给AI Agent的用户,适用场景目前只包含餐厅门店的预约、改订、取消。
注意事项
严禁修改byted-outbound-call下的代码。
核心用户故事,智能代打电话
- 核心场景:作为不想自己打电话的用户,我可以直接用自然语言告诉ArkClaw要联系的门店、具体需求,调用流程:[二、外呼任务执行流程]。
- 分步场景:
- 我可以直接说自然语言需求:「帮我联系A餐厅,电话13500015678,预约3月20日晚上7点的家庭聚餐,4个人」
- 当预订需要支付押金时,我会收到二次确认提示,确认后再继续执行
- 我能收到清晰的结果:成功时会返回完整的预订信息,失败时会告知具体原因,以及可选的替代方案
核心用户故事,查询外呼任务结果
- 核心场景:用户主动的询问外呼任务状态,调用流程:[三、查询外呼任务状态流程]。
功能说明
一、前置准备(使用前需完成)
- 开通火山引擎账号,完成外呼号线对接与资质备案
- 在火山外呼平台创建3个专用Agent并配置对应的语音交互逻辑、音色、话术模板,每个场景对应固定剧本ID:
场景 Agent名称 剧本ID 新预约 预约Agent llm_wlne_biffj 修改已有预约 改订Agent llm_eeac_bigci 取消已有预约 取消Agent llm_ivqy_bigcj - 每个Agent配置对应的任务并发数,支持多任务并行执行
二、外呼任务执行流程
阶段1:任务创建与校验
- 用户输入:用户用自然语言描述需求,无需固定格式
- 范围校验:仅接受餐厅的「预约/改订/取消」类任务,其他类型任务直接拒绝,返回拒绝原因
- 需求分类:自动识别用户需求是「预约/改订/取消」中的哪一类,匹配对应剧本ID
- 信息校验与追问:校验对应场景的必填信息,任意一项缺失时自动用自然语言追问用户,直到信息补全:
需求类型 必填信息 对应参数名 预约 门店名称、门店电话、预约日期(年月日)、预约时间(时分)、人数、用户姓氏、用户联系电话 shop_name/shop_phone_number/date/time/people_number/first_name/user_phone_number改订 门店名称、门店电话、原本预约的日期(年月日)、原本预约的时间(时分)、原本的人数、新预约日期(年月日)、新预约时间(时分)、新人数、用户姓氏、预订时预留的联系电话 shop_name/shop_phone_number/date/time/people_number/new_date/new_time/new_people_number/first_name/user_phone_number取消 门店名称、门店电话、预约日期(年月日)、预约时间(时分)、人数、用户姓氏、预订时预留的联系电话 shop_name/shop_phone_number/date/time/people_number/first_name/user_phone_number - 押金二次确认:如果外呼前检测到该门店预订需要支付押金,自动向用户发送确认提示,用户确认后再继续执行
- 异常处理:若本阶段任何步骤出现接口异常(code非200),直接将错误信息整理为自然语言告知用户,终止外呼流程,不进入后续提交步骤。
阶段2:必须携带的环境变量列表
当调用本技能的脚本时,下列所有的变量都必填,否则消息通知会报错,必须自动将当前会话的如下信息作为环境变量传递给exec命令。信息获取方式如下:
- OPENCLAW_CHANNEL:
- 含义: 当前消息渠道。
- 获取方式: 从消息元数据(metadata)中的
channel字段获取。
- OPENCLAW_SESSION_ID:
- 含义: 当前会话的chat_id。
- 获取方式: IF:
channel为webchat,则运行工具(tool)sessions_list,从sessions_list输出结果中获取当前对话的会话id(sessionId),并将sessionId赋值给OPENCLAW_SESSION_ID。ELSE: 将字符串赋值"no_need"赋值给OPENCLAW_SESSION_ID。
- OPENCLAW_USER_ID:
- 含义: 发送者用户ID。
- 获取方式: IF:
channel为webchat,将字符串赋值"no_need"赋值给OPENCLAW_USER_IDELSE: 将消息元数据(metadata)中的chat_id字段去除"user:"前缀,赋值给OPENCLAW_USER_ID。
What ships with it
27 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.
- LICENSE 9.9 KB
- manifest.json 605 B
- README.md 0 B
- scripts/__init__.py 646 B runs code
- scripts/common/__init__.py 783 B runs code
- scripts/common/api_response.py 2.4 KB runs code
- scripts/common/http_headers.py 1.6 KB runs code
- scripts/common/http_request.py 3.9 KB runs code
- scripts/common/job_utils.py 6.3 KB runs code
- scripts/common/logger_config.py 3.8 KB runs code
- scripts/common/utils.py 1.2 KB runs code
- scripts/message/__init__.py 646 B runs code
- scripts/message/notify.py 7.2 KB runs code
- scripts/query_job.py 3.7 KB runs code
- scripts/run.py 1.6 KB runs code
- scripts/schemas/__init__.py 646 B runs code
- scripts/schemas/script/__init__.py 646 B runs code
- scripts/schemas/script/submit_job_schema.py 8.2 KB runs code
- scripts/schemas/service/__init__.py 646 B runs code
- scripts/schemas/service/call_result.py 2.2 KB runs code
- scripts/schemas/service/job_status.py 2.1 KB runs code
- scripts/schemas/service/response_meta_data.py 2.0 KB runs code
- scripts/schemas/service/submit_job_data.py 2.4 KB runs code
- scripts/submit_job.py 7.9 KB runs code
- scripts/volc/__init__.py 646 B runs code
- scripts/volc/volc_openai.py 8.5 KB runs code
- scripts/wait_job_result.py 6.6 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.
- 5d ago First seen · 192 lines · 41 tokens per session scan A 795b33d032ed
byted-outbound-call is a skill published in the GitHub repository bytedance/agentkit-samples (450 stars, last pushed 4d ago), licensed Apache-2.0. It adds 41 tokens to every session and 3,386 once invoked, about $0.0002 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
aatmf-t10-confidentiality-breach
AATMF T10 — Integrity & Confidentiality Breach. System prompt extraction, training-data extraction, model-weight leakage, private-key recovery.
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.
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.