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.

10 stars

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

$curl -o ~/.claude/skills/cli-contract-change/SKILL.md --create-dirs "https://raw.githubusercontent.com/DaoFlow-dev/DaoFlow/main/.agents/skills/cli-contract-change/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cli-contract-change/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cli-contract-change Compares

Feature / Agentcli-contract-changeStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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.

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.