NAME

Developer::Dashboard::CLI::Skills - lightweight skills helper dispatch

SYNOPSIS

use Developer::Dashboard::CLI::Skills qw(run_skills_command);
run_skills_command(command => 'skills', args => \@ARGV);

DESCRIPTION

Implements the staged dashboard skills helper so the public entrypoint can hand off skill management to a dedicated Perl module instead of embedding the action parsing inline.

PURPOSE

This module is the command runtime behind dashboard skills. It owns the CLI parsing for skill install, update, uninstall, enable, disable, list, and usage; prints canonical JSON by default; and renders optional table output for human inspection.

WHY IT EXISTS

It exists because the skill lifecycle contract grew beyond a single inline branch. Keeping that contract in one dedicated module makes it easier to evolve the CLI, preserve JSON output guarantees, and keep disabled-skill semantics consistent across management commands.

WHEN TO USE

Use this file when changing the public dashboard skills ... verbs, the JSON payloads returned by list or usage, or the human-facing table output used for quick inspection in a terminal.

HOW TO USE

Call run_skills_command with the public helper name and argv array reference. The module builds a lightweight path registry, constructs a skill manager, dispatches the requested action, and prints either canonical JSON or sectioned tables depending on -o json or -o table. The default output for list and usage is JSON.

WHAT USES IT

It is used by the staged skills private helper, by CLI smoke and skill lifecycle tests, and by contributors verifying how disabled skills remain installed yet drop out of runtime lookup.

EXAMPLES

dashboard skills list
dashboard skills list -o table
dashboard skills usage example-skill
dashboard skills usage example-skill -o table
dashboard skills disable example-skill
dashboard skills enable example-skill