Skip to content
Back to skills

Pod Sales

ASecurity

Run one tick of the sales business-pod (ADR-164 §4.1, Phase 2). Loads templates/sales.json, validates it against the pod-schema, resolves agents against ruflo's agent registry, reserves budget via the Phase-2 file-based stub ledger (atomic SQLite tracker is Phase 3 per ADR-164.1), constructs per-agent dry-run prompts, posts a summary envelope to room "sales" via the federation_bbs_publish JSONL backing store, and emits a structured {podName, tickId, agentsRan, totalUsd, envelopeId, status} li...

  • 73,733 stars
  • 0 votes
  • 0 copies
  • 10 views
  • Added September 2, 2026
ai-agentsgobashsql

Works with

  • claude code
  • cli

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add ruvnet/ruflo --skill pod-sales --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pod Sales?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pod Sales
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ruvnet-pod-sales/badge)](https://www.skillsdirectory.com/skills/ruvnet-pod-sales)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pod-sales
description: Run one tick of the sales business-pod (ADR-164 §4.1, Phase 2). Loads templates/sales.json, validates it against the pod-schema, resolves agents against ruflo's agent registry, reserves budget via the Phase-2 file-based stub ledger (atomic SQLite tracker is Phase 3 per ADR-164.1), constructs per-agent dry-run prompts, posts a summary envelope to room "sales" via the federation_bbs_publish JSONL backing store, and emits a structured {podName, tickId, agentsRan, totalUsd, envelopeId, status} line for /loop ingestion. Dry-run by default; --live is reserved for Phase 3.
argument-hint: "[--pod-template <path>] [--base-path <dir>] [--dry-run|--live] [--budget-cap-usd <amt>] [--tick-id <id>]"
allowed-tools: Bash
---

Surfaces `pod-tick.mjs` as a single-shot skill for the sales pod. Use when
Claude Code needs to demonstrate, smoke-test, or schedule one iteration of
the sales autopilot without spawning real LLM workers.

## Algorithm

Implementation: [`scripts/pod-tick.mjs`](../../scripts/pod-tick.mjs).

1. Parse args (`--pod-template`, `--base-path`, `--dry-run` / `--live`,
   `--budget-cap-usd`, `--tick-id`). `--live` is refused with exit code 3
   in Phase 2.
2. Load the pod template JSON (default: `templates/sales.json`).
3. Validate via `validatePodTemplate(json)` — schema in
   `v3/@claude-flow/cli/src/business-pods/pod-schema.ts` and inlined in
   `pod-tick.mjs` so the script runs without a built CLI. Throws with a
   JSON-pointer path on the first violation.
4. Resolve every `agent.agentType` against `KNOWN_AGENT_TYPES`. Unknown
   types abort with exit code 2 and an actionable error.
5. Reserve `min(budgetUsdPerRun, --budget-cap-usd)` USD against the
   file-based ledger at `<base-path>/budget/<roomId>.json`. Honors
   `reservationExpiryMs` (default 60_000 ms, bounded to [5000, 300000]
   per ADR-164.1 §3.2). `TODO(adr-164.1)`: swap the file ledger for the
   atomic SQLite tracker in Phase 3.
6. Build per-agent prompts (kickoff scoped to the bench description +
   pod's PII policy). In `--dry-run` they are logged to stderr and the
   model is never invoked.
7. Commit the reservation. Dry-run actual = $0; live actual = the
   reserved amount (Phase 3 wires real `claude -p` `--max-budget-usd`
   reporting).
8. Append a `pod-status` envelope to the Phase-1 backing store at
   `<base-path>/.agentbbs/room-<derivedRoomId>.jsonl` so subsequent
   `federation_bbs_watch` calls see the tick.
9. Emit a single JSON line on stdout:
   `{podName, tickId, agentsRan, totalUsd, envelopeId, status}`.

## Exit codes

- `0` — tick succeeded (`status === 'success'`)
- `2` — invalid template / unknown agent type / budget exhausted / arg error
- `3` — `--live` requested (refused in Phase 2)

## Phase 3 surfaces (not in this build)

- `--live` mode: dispatch each prompt through `claude -p` headless or a
  Managed Agent and capture the actual `--max-budget-usd` reported spend.
- Atomic SQLite budget tracker (ADR-164.1 §3.2).
- Multi-pod variants (`pod-marketing`, `pod-finance`, ...) — each gets its
  own skill once Phase 3 ships.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.