Consolidated monorepo for the Agentcy CLI suite. Member runtimes transform a durable Brand / Voice / Visual / Content / Outcomes foundation into explicit protocol artifacts.
Read these first:
docs/capability-model.md — foundation, runtimes, extensionsdocs/principal-patterns.md — small-core operating modeldocs/design-md-fidelity.md — DESIGN.md evidence-first visual contractA portable brand kit lives at brands/<brand>/{BRAND.md, DESIGN.md, brand.yml, assets/}. BRAND.md is the behavioral contract; DESIGN.md follows Google's public design.md shape under design_system / tokens / components, with Agentcy execution rules under agentcy.
| Dir | Package / bin | Purpose |
|---|---|---|
protocols/ | agentcy-protocols | Shared schemas, examples, and adapters |
voice/ | agentcy-voice | Persona creation and voice_pack.v1 export |
briefs/ | agentcy-briefs | Brand planning and brief.v1 generation |
forecast/ | agentcy-forecast | Forecast generation from documents + requirement |
studio/ | agentcy-studio | TypeScript execution runtime for brand.md-driven drafts, review, publish |
measure/ | agentcy-measure | run_result.v1 → performance.v1 + calibration + study |
Each protocol artifact's writer.repo and writer.module carry the same agentcy-* name. Python imports match with underscores (agentcy_voice, agentcy_briefs, agentcy_forecast, agentcy_measure).
See docs/capability-model.md for the canonical model.
Current extension families:
social.post, blog.post, outreach.touch, respond.reply, lab card/cover/renderrun_eval sidecarsadapt, calibrate, studyskills/agentcy skill with reference filesNatural next Studio modes are og.cover, social.card, carousel, short.video, ugc.ad, longform.script, and campaign.pack.
# Python workspace + repo-local dev tools
uv sync --group dev
# Studio runtime (under studio/)
cd studio && pnpm install
# Forecast full simulation runtime, isolated on Python 3.11
make install-forecast-simulation
Agentcy is best when you need a protocol-first workflow stack rather than a single embedded SDK:
BRAND.md contractsIt is not yet the best fit for:
The suite is consumable in layers:
# Base Python suite: root CLI + protocols + voice + briefs + forecast base CLI + measure
uv sync --group dev
# or: make install-python-suite
# Full Forecast simulation runtime (isolated Python 3.11 env)
make install-forecast-simulation
# Studio runtime (Node, under studio/)
cd studio && pnpm install
# or: make install-studio
# Full local operator stack
make install-full-operator
Published package contours:
agentcy-protocols — closest thing to a drop-in library layeragentcy-* member CLIs — stage-owned workflow toolsagentcy — umbrella dispatcher and pipeline orchestratorThe umbrella package is therefore best understood as an operator CLI suite, not a single drop-in SDK.
Useful discovery commands:
agentcy catalog --json
agentcy quickstart --profile full-operator --json
agentcy doctor --json
agentcy member briefs --json plan list
make doctor
make check
make lint
# The protocol seam tests shell into studio, so install the runtime once in a clean checkout.
cd studio && pnpm install
uv run pytest tests briefs/tests forecast/tests measure/tests voice/tests protocols/tests -q
cd studio && pnpm check
# Essential bundle: cheap deterministic output under artifacts/pipelines/<pipeline_id>/
uv run agentcy pipeline run \
--pipeline-id givecare-launch-01 \
--brand givecare \
--brief "Before fall gets busy, make caregiving feel lighter" \
--mode preview \
--output-dir artifacts/pipelines \
--json
# Default path:
# brief.v1 -> Studio draft/render -> inspectable artifacts
# It does not run Voice, Forecast, Measure, providers, or publish unless requested.
# Heavier opt-in path
uv run agentcy --provider claude-cli --model sonnet pipeline run \
--pipeline-id givecare-launch-forecast-01 \
--brand givecare \
--brief "Before fall gets busy, make caregiving feel lighter" \
--persona scientist \
--persona-eval \
--with-forecast \
--files docs/launch-memo.md \
--publish \
--smoke \
--output-dir artifacts/pipelines \
--json
# After Studio publish + Measure adapt happen, backfill the bundle with canonical later-stage artifacts
uv run agentcy pipeline update \
--manifest artifacts/pipelines/<pipeline_id>/manifest.json \
--run-result /tmp/run_result.json \
--performance /tmp/performance.json \
--json
# Re-open the manifest later and run Measure study once performance exists
uv run agentcy pipeline study \
--manifest artifacts/pipelines/<pipeline_id>/manifest.json \
--json
Dispatcher commands also accept root-level LLM overrides that are forwarded to members which honor them. The root pipeline also supports --pipeline-id so stable bundles can land at paths like artifacts/pipelines/givecare-launch-01/:
uv run agentcy --provider claude-cli --model haiku forecast run --files docs/memo.md --requirement "Predict reaction" --smoke --json
uv run agentcy-voice --json export scientist --to voice-pack.v1 > /tmp/voice_pack.json
uv run agentcy-briefs plan run "Before fall gets busy, make caregiving feel lighter" \
--brand givecare \
--voice-pack-input /tmp/voice_pack.json \
--brief-v1-output /tmp/brief.json \
-f json > /tmp/brief_plan.json
forecast/.venv-simulation/bin/agentcy-forecast run --files docs/ --brief /tmp/brief.json --json > /tmp/forecast.json
uv run agentcy studio run social.post --brand givecare --brief-file /tmp/brief.json --json > /tmp/run_result.json
uv run agentcy-measure adapt --run-result /tmp/run_result.json --sidecar sidecar.json --output /tmp/performance.json --json > /tmp/performance.stdout.json
uv run agentcy-measure calibrate --forecast /tmp/forecast.json --performance /tmp/performance.json --json > /tmp/calibration.json
agentcy-forecast full simulation requires make install-forecast-simulation, which creates forecast/.venv-simulation on Python 3.11agentcy-forecast run --smoke skips ontology/graph/profiles and the OASIS subprocess, then emits deterministic run artifacts for plumbing checksstudio needs pnpm installmake pipeline-fixtures is the fixture-backed smoke path when you only want to validate downstream protocol plumbingpipeline run / pipeline update / pipeline study, defaults to Briefs mock provider plus deterministic Studio artifacts, forwards root-level --provider / --model overrides when explicitly provided, and exposes agentcy member <member> --json ... as a normalized wrapper over member-local JSON differences--json preference and --json-envelope normalized success envelopesrun_eval sidecar alongside canonical forecast export; full simulation still requires the isolated Python 3.11 env--json envelopes and a study command that ingests optional forecast/voice eval sidecars17 commits
Python
83.9%
TypeScript
15.7%
Consolidated monorepo for the Agentcy CLI suite. Member runtimes transform a durable Brand / Voice / Visual / Content / Outcomes foundation into explicit protocol artifacts.
Read these first:
docs/capability-model.md — foundation, runtimes, extensionsdocs/principal-patterns.md — small-core operating modeldocs/design-md-fidelity.md — DESIGN.md evidence-first visual contractA portable brand kit lives at brands/<brand>/{BRAND.md, DESIGN.md, brand.yml, assets/}. BRAND.md is the behavioral contract; DESIGN.md follows Google's public design.md shape under design_system / tokens / components, with Agentcy execution rules under agentcy.
| Dir | Package / bin | Purpose |
|---|---|---|
protocols/ | agentcy-protocols | Shared schemas, examples, and adapters |
voice/ | agentcy-voice | Persona creation and voice_pack.v1 export |
briefs/ | agentcy-briefs | Brand planning and brief.v1 generation |
forecast/ | agentcy-forecast | Forecast generation from documents + requirement |
studio/ | agentcy-studio | TypeScript execution runtime for brand.md-driven drafts, review, publish |
measure/ | agentcy-measure | run_result.v1 → performance.v1 + calibration + study |
Each protocol artifact's writer.repo and writer.module carry the same agentcy-* name. Python imports match with underscores (agentcy_voice, agentcy_briefs, agentcy_forecast, agentcy_measure).
See docs/capability-model.md for the canonical model.
Current extension families:
social.post, blog.post, outreach.touch, respond.reply, lab card/cover/renderrun_eval sidecarsadapt, calibrate, studyskills/agentcy skill with reference filesNatural next Studio modes are og.cover, social.card, carousel, short.video, ugc.ad, longform.script, and campaign.pack.
# Python workspace + repo-local dev tools
uv sync --group dev
# Studio runtime (under studio/)
cd studio && pnpm install
# Forecast full simulation runtime, isolated on Python 3.11
make install-forecast-simulation
Agentcy is best when you need a protocol-first workflow stack rather than a single embedded SDK:
BRAND.md contractsIt is not yet the best fit for:
The suite is consumable in layers:
# Base Python suite: root CLI + protocols + voice + briefs + forecast base CLI + measure
uv sync --group dev
# or: make install-python-suite
# Full Forecast simulation runtime (isolated Python 3.11 env)
make install-forecast-simulation
# Studio runtime (Node, under studio/)
cd studio && pnpm install
# or: make install-studio
# Full local operator stack
make install-full-operator
Published package contours:
agentcy-protocols — closest thing to a drop-in library layeragentcy-* member CLIs — stage-owned workflow toolsagentcy — umbrella dispatcher and pipeline orchestratorThe umbrella package is therefore best understood as an operator CLI suite, not a single drop-in SDK.
Useful discovery commands:
agentcy catalog --json
agentcy quickstart --profile full-operator --json
agentcy doctor --json
agentcy member briefs --json plan list
make doctor
make check
make lint
# The protocol seam tests shell into studio, so install the runtime once in a clean checkout.
cd studio && pnpm install
uv run pytest tests briefs/tests forecast/tests measure/tests voice/tests protocols/tests -q
cd studio && pnpm check
# Essential bundle: cheap deterministic output under artifacts/pipelines/<pipeline_id>/
uv run agentcy pipeline run \
--pipeline-id givecare-launch-01 \
--brand givecare \
--brief "Before fall gets busy, make caregiving feel lighter" \
--mode preview \
--output-dir artifacts/pipelines \
--json
# Default path:
# brief.v1 -> Studio draft/render -> inspectable artifacts
# It does not run Voice, Forecast, Measure, providers, or publish unless requested.
# Heavier opt-in path
uv run agentcy --provider claude-cli --model sonnet pipeline run \
--pipeline-id givecare-launch-forecast-01 \
--brand givecare \
--brief "Before fall gets busy, make caregiving feel lighter" \
--persona scientist \
--persona-eval \
--with-forecast \
--files docs/launch-memo.md \
--publish \
--smoke \
--output-dir artifacts/pipelines \
--json
# After Studio publish + Measure adapt happen, backfill the bundle with canonical later-stage artifacts
uv run agentcy pipeline update \
--manifest artifacts/pipelines/<pipeline_id>/manifest.json \
--run-result /tmp/run_result.json \
--performance /tmp/performance.json \
--json
# Re-open the manifest later and run Measure study once performance exists
uv run agentcy pipeline study \
--manifest artifacts/pipelines/<pipeline_id>/manifest.json \
--json
Dispatcher commands also accept root-level LLM overrides that are forwarded to members which honor them. The root pipeline also supports --pipeline-id so stable bundles can land at paths like artifacts/pipelines/givecare-launch-01/:
uv run agentcy --provider claude-cli --model haiku forecast run --files docs/memo.md --requirement "Predict reaction" --smoke --json
uv run agentcy-voice --json export scientist --to voice-pack.v1 > /tmp/voice_pack.json
uv run agentcy-briefs plan run "Before fall gets busy, make caregiving feel lighter" \
--brand givecare \
--voice-pack-input /tmp/voice_pack.json \
--brief-v1-output /tmp/brief.json \
-f json > /tmp/brief_plan.json
forecast/.venv-simulation/bin/agentcy-forecast run --files docs/ --brief /tmp/brief.json --json > /tmp/forecast.json
uv run agentcy studio run social.post --brand givecare --brief-file /tmp/brief.json --json > /tmp/run_result.json
uv run agentcy-measure adapt --run-result /tmp/run_result.json --sidecar sidecar.json --output /tmp/performance.json --json > /tmp/performance.stdout.json
uv run agentcy-measure calibrate --forecast /tmp/forecast.json --performance /tmp/performance.json --json > /tmp/calibration.json
agentcy-forecast full simulation requires make install-forecast-simulation, which creates forecast/.venv-simulation on Python 3.11agentcy-forecast run --smoke skips ontology/graph/profiles and the OASIS subprocess, then emits deterministic run artifacts for plumbing checksstudio needs pnpm installmake pipeline-fixtures is the fixture-backed smoke path when you only want to validate downstream protocol plumbingpipeline run / pipeline update / pipeline study, defaults to Briefs mock provider plus deterministic Studio artifacts, forwards root-level --provider / --model overrides when explicitly provided, and exposes agentcy member <member> --json ... as a normalized wrapper over member-local JSON differences--json preference and --json-envelope normalized success envelopesrun_eval sidecar alongside canonical forecast export; full simulation still requires the isolated Python 3.11 env--json envelopes and a study command that ingests optional forecast/voice eval sidecars17 commits
Python
83.9%
TypeScript
15.7%