关于 pod-sales
pod-sales 提供单次执行技能,可在不启动真实 LLM worker 的情况下运行、演示或安排销售 pod 的一次迭代。它会验证模板、预留预算并记录状态;此版本拒绝实时执行。
主要功能
- 01验证 pod 模板和 Agent 类型
- 02通过文件账本预留预算
- 03试运行时不调用模型
- 04将 pod 状态写入后端存储
- 05输出单行 JSON 结果
适用场景
- 01对销售 pod 迭代进行冒烟测试
- 02演示销售自动化流程
- 03安排销售 tick 试运行
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill pod-sales安装后在 Claude Code 中输入/pod-sales确认已加载。
详细介绍
将 pod-tick.mjs 作为销售 pod 的单次运行技能呈现。当 Claude Code 需要演示、冒烟测试或安排一次销售自动驾驶迭代,而无需启动真实的大模型工作进程时使用。
算法
- 解析参数(
--pod-template、--base-path、--dry-run/--live、--budget-cap-usd、--tick-id)。Phase 2 中使用--live会被拒绝,并返回退出代码 3。 - 加载 pod 模板 JSON(默认:
templates/sales.json)。 - 通过
validatePodTemplate(json)进行验证——架构定义位于v3/@claude-flow/cli/src/business-pods/pod-schema.ts,并内嵌于pod-tick.mjs中,因此脚本无需构建 CLI 即可运行。遇到首个违规项时,会附带 JSON 指针路径抛出错误。 - 根据
KNOWN_AGENT_TYPES解析每个agent.agentType。未知类型会中止运行,返回退出代码 2,并提供可执行的错误提示。 - 从
<base-path>/budget/<roomId>.json的文件型账本中预留min(budgetUsdPerRun, --budget-cap-usd)美元。遵循reservationExpiryMs(默认 60_000 毫秒,按 ADR-164.1 §3.2 限定在 [5000, 300000] 范围内)。TODO(adr-164.1):在 Phase 3 中将文件账本替换为 原子 SQLite 跟踪器。 - 为每个 Agent 构建提示词(启动内容限定于工作台描述 +
pod 的 PII 政策)。在
--dry-run模式下,提示词会记录到 stderr,且绝不会调用模型。 - 提交预留。Dry-run 的实际费用为 $0;live 的实际费用为预留金额(Phase 3 将接入真实的
claude -p--max-budget-usd费用报告)。 - 将
pod-status信封追加到 Phase 1 的后端存储<base-path>/.agentbbs/room-<derivedRoomId>.jsonl,以便后续的federation_bbs_watch调用能够看到此次运行。 - 在 stdout 上输出一行 JSON:
{podName, tickId, agentsRan, totalUsd, envelopeId, status}。
退出代码
0— tick 成功(status === 'success')2— 模板无效 / 未知 Agent 类型 / 预算耗尽 / 参数错误3— 请求使用--live(Phase 2 中拒绝)
Phase 3 提供的功能(此版本尚未包含)
--live模式:通过无头模式的claude -p或 Managed Agent 分发每个提示词,并捕获报告的实际--max-budget-usd支出。- 原子 SQLite 预算跟踪器(ADR-164.1 §3.2)。
- 多 pod 变体(
pod-marketing、pod-finance、……)——Phase 3 发布后,每种变体都会有自己的技能。
评论
支持 Markdown