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; renders optional table output for human inspection; and handles the internal dotted-command handoff used by dashboard <repo-name>.<command>.
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, keep disabled-skill semantics consistent across management commands, and route dotted skill command execution without restoring a separate singular helper.
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. The thin dashboard switchboard also routes dotted skill execution through this helper with an internal action so the public execution contract stays dashboard <repo-name>.<command>.
WHAT USES IT
It is used by the staged skills private helper, by dotted skill command dispatch from the public switchboard, 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