cli-contract-change
Use when changing DaoFlow CLI commands or agent-facing CLI behavior, including contract updates, JSON output, scope enforcement, mutation flags, and authz updates.
Best use case
cli-contract-change is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when changing DaoFlow CLI commands or agent-facing CLI behavior, including contract updates, JSON output, scope enforcement, mutation flags, and authz updates.
Teams using cli-contract-change should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/cli-contract-change/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How cli-contract-change Compares
| Feature / Agent | cli-contract-change | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when changing DaoFlow CLI commands or agent-facing CLI behavior, including contract updates, JSON output, scope enforcement, mutation flags, and authz updates.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# CLI Contract Change Use this skill when work touches `packages/cli` command behavior or the CLI contract. ## Load First 1. Repository root [AGENTS.md](../../../AGENTS.md) 2. [packages/cli/AGENTS.md](../../../packages/cli/AGENTS.md) 3. [cli-contract.md](../../references/cli-contract.md) 4. [validation-gates](../validation-gates/SKILL.md) before commit or push ## Contract - [cli-contract.md](../../references/cli-contract.md) is the source of truth for command lanes, scopes, JSON output, and mutation guardrails. - Keep JSON output on stdout and route progress or prose to stderr when practical. - Preserve structured permission-denied responses with the exact required scope. - Mutating commands must keep `--dry-run`, `--yes`, and idempotency behavior aligned with the contract. - Update `packages/shared/src/authz.ts` when a command introduces or changes scopes. ## Required Flow 1. Change the relevant `src/commands/<name>.ts` module and any supporting CLI helpers. 2. Update `src/index.ts` when command registration changes. 3. Update [cli-contract.md](../../references/cli-contract.md) when flags, JSON shape, scopes, or command lanes change. 4. Add or update tests covering JSON output, permission checks, and mutation flags for the touched command. 5. Smoke-test `./dist/daoflow --help` when packaging, help text, or command registration changes. 6. Run [validation-gates](../validation-gates/SKILL.md). ## Guardrails - Do not import from `@daoflow/server` or `@daoflow/client`. - Prefer explicit typed API calls over shell execution. - Keep command files focused; split broad files instead of extending them.