Feat/issue 130 cli polish ux#131
Conversation
|
Thanks @rizzoMartin, solid work on #130 as always. Splash footer, menu loop, stub labels, width-aware table, and template/checklist ripple all look good and tests pass locally as well. One thing before merge: Tiny nits (non-blocking): LGTM once cli.md is synced. <3 |
|
Thanks @rizzoMartin, LGTM, merging as-is. (there is a changelog line missing, but changelog was introduced in the latest commit you might not have, will do myself in the next PR, so no worries). #130 is fully covered: splash footer, menu loop/exit behavior, stub labels, width-aware table, template + checklist ripple, and Great work as always, closes #130. |
Description
Polish pass on the CLI following #93 (pastel redesign, merged).
Splash footer — added a dim pastel line under the version with
https://skillware.siteandhttps://github.com/arpahls/skillware.Menu UX — stub items now labeled
paths (soon, #81)andtest (soon, #83)so users know they are coming. Menu re-prints aftereach command; exits only on
qorCtrl+C, not on empty Enter.Width-aware table —
cmd_list()now usesexpand=Trueand columnratios so the table adapts to terminal width instead of crushing columns
on narrow terminals.
consoleis passed fromcmd_interactive()tocmd_list()so both share the same terminal context.short_description ripple — added
short_descriptiontotemplates/python_skill/manifest.yamlwith an example string. Mentionedas optional in the contributor checklist in
docs/contributing/ai_native_workflow.mdandtemplates/python_skill/README.md. Added one line toREADME.mdQuickStart noting that bare
skillwareopens the interactive menu.Tests — added
test_cmd_interactive_list_dispatchcovering menuinput
1dispatching tocmd_list. Removed stale test that asserteda
FileNotFoundErrorno longer raised by the current implementation.Docs — refreshed
docs/usage/cli.mdwith current sample output,color theme table, and interactive menu documentation.
Type of Change (Matches Issue Templates)
manifest.yaml,skill.py, andinstructions.md)base_skill.py,loader.py, etc.)Checklist (all PRs)
python -m flake8 .andpytest tests/locally (or the subset relevant to this change).examples/README.mdis updated if this PR adds, renames, or removes a runnable script underexamples/.New or updated skill (complete only if this PR adds or changes a skill under
skills/)Skip this section for framework-only, documentation-only, or other PRs that do not touch the skill registry.
Bundle & metadata
skills/<category>/<skill_name>/(copied fromtemplates/python_skill/or equivalent).manifest.yamlhasname,version,description, validparameters, andconstitution.manifest.yamlincludesissuerwith realnameandemail(not template placeholders).issuer.githubandissuer.orgset when applicable.requirementsandenv_varsare documented when the skill needs them.Logic, cognition, and UI
skill.pyis deterministic Python (no arbitrary LLM-generated code paths).instructions.mdexplains when and how to use the skill.card.jsonis present and itsissuermatchesmanifest.yaml(nameandemailat minimum).Tests & loader
test_skill.pycovers execution and schema expectations.SkillLoader.load_skill("<category>/<skill_name>")succeeds (or missing deps are documented).Documentation & catalog
docs/skills/<skill_name>.mdexists or is updated (ID, Issuer, usage).docs/skills/README.mdlists the skill with ID and Issuer.Constitution & Safety (if adding or modifying a skill)
Related Issues
Fixes #130