feat(cli): add skill tools and refresh commands #454

Merged
aditya merged 2 commits from feature/m4-skill-registry-cli into master 2026-02-27 12:15:08 +00:00
Member

Summary

Implements CLI commands for skill refresh and enhances existing skill commands with capability summary information.

Changes

  • agents skill refresh <name>: Recomputes tool flattening for a single skill and syncs MCP-backed skills
  • agents skill refresh --all: Refreshes all registered skills in the registry
  • Enhanced skill list: Added Description column in rich output and capability_summary field in JSON/YAML formats
  • Enhanced skill show: Added Capability Summary panel in rich output with total tools, read-only status, and MCP server count
  • Enhanced skill tools: Added Summary panel displaying capability information alongside flattened tool list
  • Format Support: Added --format json/yaml output schemas for all commands with consistent capability_summary structure
  • Error Handling: CLI errors for nonexistent skills during refresh and helpful messages for empty registries
  • BDD Tests: Behave scenarios in features/skill_cli.feature covering refresh commands and enhanced outputs
  • Robot Tests: Integration test cases in robot/skill_cli.robot for CLI smoke tests
  • ASV Benchmarks: Performance benchmarks in benchmarks/skill_cli_bench.py for CLI overhead baseline (refresh operations: 14-25ms)
  • Documentation: Reference documentation at docs/reference/skill_cli.md with refresh command examples, output columns, and caching behavior

Motivation

The skill refresh command provides a mechanism to recompute tool flattening after skill modifications and sync MCP-backed skills without re-registering them. Enhanced outputs with capability summaries give users immediate visibility into skill capabilities (tool count, read-only status, MCP server presence) across all CLI commands.

Key Design Decisions

  • Refresh command performs Agent Skills discovery when skills.agent_skills_paths is configured, ensuring auto-discovery stays synchronized
  • Capability summary computation uses existing SkillService.compute_capability_summary() for consistency
  • MCP sync currently marks as refreshed; full MCP adapter integration deferred to MCP milestone
  • All enhanced outputs maintain backward compatibility with existing rich output while adding structured fields to JSON/YAML
  • Error messages follow CLI standards with helpful guidance (e.g., "Must specify either or --all")

Closes #167

## Summary Implements CLI commands for skill refresh and enhances existing skill commands with capability summary information. ## Changes - **`agents skill refresh <name>`**: Recomputes tool flattening for a single skill and syncs MCP-backed skills - **`agents skill refresh --all`**: Refreshes all registered skills in the registry - **Enhanced `skill list`**: Added Description column in rich output and capability_summary field in JSON/YAML formats - **Enhanced `skill show`**: Added Capability Summary panel in rich output with total tools, read-only status, and MCP server count - **Enhanced `skill tools`**: Added Summary panel displaying capability information alongside flattened tool list - **Format Support**: Added `--format json/yaml` output schemas for all commands with consistent capability_summary structure - **Error Handling**: CLI errors for nonexistent skills during refresh and helpful messages for empty registries - **BDD Tests**: Behave scenarios in `features/skill_cli.feature` covering refresh commands and enhanced outputs - **Robot Tests**: Integration test cases in `robot/skill_cli.robot` for CLI smoke tests - **ASV Benchmarks**: Performance benchmarks in `benchmarks/skill_cli_bench.py` for CLI overhead baseline (refresh operations: 14-25ms) - **Documentation**: Reference documentation at `docs/reference/skill_cli.md` with refresh command examples, output columns, and caching behavior ## Motivation The skill refresh command provides a mechanism to recompute tool flattening after skill modifications and sync MCP-backed skills without re-registering them. Enhanced outputs with capability summaries give users immediate visibility into skill capabilities (tool count, read-only status, MCP server presence) across all CLI commands. ## Key Design Decisions - Refresh command performs Agent Skills discovery when `skills.agent_skills_paths` is configured, ensuring auto-discovery stays synchronized - Capability summary computation uses existing `SkillService.compute_capability_summary()` for consistency - MCP sync currently marks as refreshed; full MCP adapter integration deferred to MCP milestone - All enhanced outputs maintain backward compatibility with existing rich output while adding structured fields to JSON/YAML - Error messages follow CLI standards with helpful guidance (e.g., "Must specify either <name> or --all") Closes #167
aditya added this to the v3.1.0 milestone 2026-02-26 09:59:43 +00:00
aditya force-pushed feature/m4-skill-registry-cli from a54c72d7ca
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 20s
CI / build (pull_request) Successful in 25s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 53s
CI / integration_tests (pull_request) Successful in 2m50s
CI / unit_tests (pull_request) Failing after 18m7s
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 20m41s
CI / coverage (pull_request) Failing after 42m31s
to c40ea014dc
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 2m46s
CI / unit_tests (pull_request) Successful in 9m40s
CI / docker (pull_request) Successful in 39s
CI / benchmark-regression (pull_request) Successful in 20m53s
CI / coverage (pull_request) Successful in 34m31s
2026-02-26 11:00:22 +00:00
Compare
CoreRasurae approved these changes 2026-02-26 16:07:07 +00:00
Dismissed
CoreRasurae left a comment

Tests passing, changelog updated, documentation updated. Looks good. Approving

Tests passing, changelog updated, documentation updated. Looks good. Approving
Merge branch 'master' into feature/m4-skill-registry-cli
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 32s
CI / security (pull_request) Successful in 54s
CI / integration_tests (pull_request) Successful in 3m33s
CI / unit_tests (pull_request) Successful in 10m4s
CI / docker (pull_request) Successful in 1m0s
CI / benchmark-regression (pull_request) Successful in 27m22s
CI / coverage (pull_request) Successful in 39m27s
174d1dc334
aditya dismissed CoreRasurae's review 2026-02-27 10:44:19 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

aditya merged commit ddebcad872 into master 2026-02-27 12:15:08 +00:00
aditya deleted branch feature/m4-skill-registry-cli 2026-02-27 12:15:08 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!454
No description provided.