Skip to content

feat: add agent-facing CLI skills#5

Merged
amondnet merged 1 commit into
mainfrom
feat/add-agent-skills
Jul 1, 2026
Merged

feat: add agent-facing CLI skills#5
amondnet merged 1 commit into
mainfrom
feat/add-agent-skills

Conversation

@amondnet

@amondnet amondnet commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds two skills for building and evaluating agent-facing CLIs, plus the skills lockfile.

  • axi — Agent eXperience Interface (AXI): ergonomic standards for building CLI tools that agents use via shell execution. Installed via the skills manager (source: kunchenguid/axi), tracked in skills-lock.json, with a .claude/skills/axi symlink into .agents/skills/axi.
  • agent-dx-cli-scale — a 0–21 scoring rubric (7 axes) for evaluating how well a CLI is designed for AI agents. Source: jpoehnelt/skills. The one site-relative link in the original was rewritten to its canonical absolute URL.

Files

  • .agents/skills/axi/SKILL.md
  • .claude/skills/axi (symlink → ../../.agents/skills/axi)
  • skills/agent-dx-cli-scale/SKILL.md
  • skills-lock.json

.claude/settings.local.json is intentionally excluded (gitignored via .git/info/exclude).

Test plan

  • No build/test step in this repo — these are Markdown skill definitions.
  • Verified frontmatter (name/description) on both SKILL.md files.
  • Confirmed the agent-dx-cli-scale external link resolves (HTTP 200).

Summary by cubic

Add axi and agent-dx-cli-scale skills to help build and evaluate agent-facing CLIs, plus a lockfile and symlink for consistent discovery. This enables predictable CLI behavior for agents and a simple rubric to score readiness.

  • New Features
    • axi — ergonomic standards for agent-facing CLI tools; installed via skills manager (source kunchenguid/axi), tracked in skills-lock.json, with .claude/skills/axi symlink to .agents/skills/axi.
    • agent-dx-cli-scale — 0–21 scoring rubric (7 axes) for evaluating CLI design for agents; link updated to a canonical absolute URL (source jpoehnelt/skills).
    • Added skills-lock.json to pin skill sources and hashes.

Written for commit 4cafaca. Summary will update on new commits.

Summary by CodeRabbit

  • New Features

    • Added guidance for agent-friendly CLI behavior, including structured output, clear error reporting, and non-interactive workflows.
    • Introduced a CLI scale rubric to help assess readiness across machine-readable output, safety, context handling, and packaging.
    • Added a lock file to pin the current agent skill version for consistent behavior.
  • Documentation

    • Expanded skill documentation with usage expectations, help behavior, and session context recommendations.

Add two skills for building and evaluating agent-facing CLIs:

- axi: Agent eXperience Interface (AXI) ergonomic standards for building
  CLI tools agents use via shell execution (installed via skills manager,
  tracked in skills-lock.json with .claude/skills/axi symlink)
- agent-dx-cli-scale: 0-21 scoring rubric for evaluating how well a CLI
  is designed for AI agents
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds the AXI (Agent eXperience Interface) skill document under .agents/skills/axi/SKILL.md, covering stdout formatting, error/exit-code semantics, session context integration, and UX rules. Wires it with a .claude/skills/axi symlink and a new skills-lock.json. Also adds a separate skills/agent-dx-cli-scale/SKILL.md scoring rubric for evaluating CLI agent readiness.

Changes

AXI Skill Definition and Wiring

Layer / File(s) Summary
AXI output formatting, aggregates, and error semantics
.agents/skills/axi/SKILL.md
Defines frontmatter, TOON stdout rules, minimal default schemas, truncation behavior with --full escape hatch, pre-computed aggregates, empty-state conventions, idempotent mutation handling (exit 0), structured error reporting, stdout/stderr channel separation, and interactive-prompt prohibition.
AXI session context integration and UX rules
.agents/skills/axi/SKILL.md
Specifies hook install/repair, portable PATH resolution, directory scoping, token budgeting, lifecycle capture, per-agent integration preferences, installable Agent Skill secondary path, no-args home view content rules, next-step command suggestions with placeholder parameterization, and subcommand --help requirements.
Symlink and skills-lock.json wiring
.claude/skills/axi, skills-lock.json
Creates the .claude/skills/axi symlink targeting ../../.agents/skills/axi and introduces skills-lock.json with version, source, skillPath, and a pinned computedHash for the axi skill.

Agent DX CLI Scale Rubric Skill

Layer / File(s) Summary
agent-dx-cli-scale scoring rubric and interpretation
skills/agent-dx-cli-scale/SKILL.md
Adds frontmatter, seven scored axes (0–3 each) covering structured output, raw JSON input, schema introspection, context-window discipline, input hardening, safety rails, and knowledge packaging, plus a score-to-rating band mapping (0–21) and an unscored multi-surface bonus checklist (MCP, plugins, headless auth).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐇 Hop, hop, the agent speaks!
With TOON on stdout, no prompt it seeks.
Exit zero when already done,
Seven axes scored under the sun.
A symlink placed, a lock file signed—
The AXI path is now defined! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding agent-facing CLI skills.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/add-agent-skills

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the Agent eXperience Interface (AXI) standards and the Agent DX CLI Scale evaluation tool by adding their respective skill documentation files, along with symbolic links and lockfile configurations. Feedback on the changes includes addressing a discrepancy in the documented TOON token savings percentage compared to the actual implementation, and resolving an inconsistency in the directory structure and missing symbolic link/lockfile registration for the agent-dx-cli-scale skill.

Comment on lines +18 to +20
Use [TOON](https://toonformat.dev/) (Token-Oriented Object Notation) as the output format on stdout.
TOON provides ~40% token savings over equivalent JSON while remaining readable by agents.
Convert to TOON at the output boundary — keep internal logic on JSON.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

[MEDIUM] TOON 토큰 절감률 수치 및 구분자 일관성 불일치

Problem: src/output/toon.tsREADME.md에서는 TOON 포맷이 JSON 대비 **58.9%**의 토큰 절감 효과가 있으며, 이를 위해 기본 구분자(쉼표) 대신 탭 구분자를 사용하도록 구현되어 있습니다. 반면, 본 문서(SKILL.md)의 설명에서는 "~40% 절감"으로 언급되어 있어 코드 구현체와 설명 간에 불일치가 존재합니다.

Rationale: 조직 스타일 가이드의 Key Principles 중 Maintainability(유지보수성)에 따라, 제공되는 기술 가이드 문서(Skill)는 실제 라이브러리 구현체(@pleaseai/cli-toolkit)의 사양 및 벤치마크 결과와 일치해야 합니다.

Suggestion: 설명의 토큰 절감 수치를 58.9%로 업데이트하고 탭 구분자 사용을 명시하는 것이 좋습니다.

Suggested change
Use [TOON](https://toonformat.dev/) (Token-Oriented Object Notation) as the output format on stdout.
TOON provides ~40% token savings over equivalent JSON while remaining readable by agents.
Convert to TOON at the output boundary — keep internal logic on JSON.
Use [TOON](https://toonformat.dev/) (Token-Oriented Object Notation) as the output format on stdout.
TOON provides ~58.9% token savings over equivalent JSON (when using tab delimiters) while remaining readable by agents.
Convert to TOON at the output boundary — keep internal logic on JSON.
References
  1. Key Principles - Maintainability: Can future engineers read and modify it easily? (link)

Comment thread skills/agent-dx-cli-scale/SKILL.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agents/skills/axi/SKILL.md:
- Line 161: The lifecycle capture guidance in SKILL.md should explicitly require
user consent, redaction of sensitive data, and a defined retention/deletion
policy before collecting transcripts or files touched. Update the “Lifecycle
capture” wording to make these safeguards mandatory and keep the guidance tied
to the existing session-end hook behavior so future implementations don’t
over-collect PII.
- Around line 22-26: The fenced code blocks in the SKILL.md examples are missing
language identifiers, triggering markdownlint MD040. Update each affected fenced
block to include an explicit language label appropriate for the snippet content,
and make the same change in all referenced examples throughout the document so
the markdown stays lint-clean.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 31883761-adab-439b-b7dd-291a1980f7ee

📥 Commits

Reviewing files that changed from the base of the PR and between b4d40f2 and 4cafaca.

📒 Files selected for processing (4)
  • .agents/skills/axi/SKILL.md
  • .claude/skills/axi
  • skills-lock.json
  • skills/agent-dx-cli-scale/SKILL.md

Comment thread .agents/skills/axi/SKILL.md
Comment thread .agents/skills/axi/SKILL.md

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Architecture diagram
sequenceDiagram
    participant Dev as Developer
    participant SM as Skills Manager (npx skills)
    participant GH as GitHub (remote repos)
    participant FS as File System
    participant Agent as AI Agent (Claude)
    participant CLI as Agent-Facing CLI Tool

    Note over Dev,CLI: NEW: Agent-Facing CLI Skill Installation & Evaluation Flow

    Dev->>SM: skills add kunchenguid/axi --skill axi
    SM->>GH: fetch skill source
    GH-->>SM: skill definition
    SM->>FS: write .agents/skills/axi/SKILL.md
    SM->>FS: update skills-lock.json (version 1)
    
    Dev->>FS: create symlink .claude/skills/axi -> ../../.agents/skills/axi
    Note over FS: Symlink ensures Claude discovers skill

    Agent->>CLI: execute CLI tool (shell invocation)
    CLI->>CLI: detect non-TTY / agent context
    alt Default output (no args)
        CLI->>CLI: produce TOON-formatted structured output
        CLI-->>Agent: stdout: token-efficient data (TOON)
        Note over CLI: Token-optimized (~40% savings vs JSON)
    else Error condition
        CLI->>CLI: validate inputs & state
        alt Idempotent (already done)
            CLI-->>Agent: stdout: structured no-op message (exit code 0)
        else Genuine error
            CLI-->>Agent: stdout: structured error + suggestion (exit code 1)
            CLI-->>Agent: stderr: debug logs (ignored by agent)
        end
    end

    Note over Agent,CLI: Evaluation via agent-dx-cli-scale

    Agent->>CLI: probe CLI capabilities (schema, output formats)
    CLI-->>Agent: machine-readable JSON schema (--help --json)
    Agent->>CLI: test with raw payload input (stdin JSON)
    CLI-->>Agent: structured response
    Agent->>Agent: score CLI on 7 axes (0-21 total)
    Note over Agent: Rating: Human-only (0-5) to Agent-first (16-21)

    opt Session hook integration
        CLI->>FS: register session-start hook via setup command
        Note over CLI,Agent: Ambient context injected per session
        Agent->>Agent: receive dashboard output at session start
    end

    opt Skill-based discovery (fallback)
        FS->>Agent: load SKILL.md at task recognition trigger
        Note over FS,Agent: On-demand skill with frontmatter trigger
    end
Loading

Re-trigger cubic

@sonarqubecloud

Copy link
Copy Markdown

1 similar comment
@sonarqubecloud

sonarqubecloud Bot commented Jul 1, 2026

Copy link
Copy Markdown

@amondnet
amondnet merged commit 32e5e5a into main Jul 1, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant