Skip to content

prepare skill management backend#154

Merged
pmbstyle merged 2 commits into
mainfrom
fix/skill-enable-disable
Jun 3, 2026
Merged

prepare skill management backend#154
pmbstyle merged 2 commits into
mainfrom
fix/skill-enable-disable

Conversation

@pmbstyle

@pmbstyle pmbstyle commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add octopal skill disable <skill-id> and octopal skill enable <skill-id>.
  • Add runtime set_skill_enabled management tool so Octo can toggle skills without deleting bundles.
  • Add dashboard API endpoints for the desktop/web UI to list, install, enable, disable, and delete skills.
  • Store enable/disable as a registry override and clean that override when an installer-managed skill is removed.

Dashboard API

  • GET /api/dashboard/skills
  • POST /api/dashboard/skills/install
  • POST /api/dashboard/skills/{skill_id}/enable
  • POST /api/dashboard/skills/{skill_id}/disable
  • DELETE /api/dashboard/skills/{skill_id}

The skills list returns UI-ready fields such as name, description, enabled, ready, status, origin, source, trust, runtime, requirements, and row-level actions.

Why

The desktop skills page needs a backend contract that does not expose raw registry/install-manifest details to the renderer. Operators also need a reversible way to keep a skill bundle on disk while removing it from active skill use. Disabled skills are still listed, but they no longer expose dynamic skill_<id> tools and use_skill/run_skill_script reject them as disabled.

Validation

  • uv run pytest tests/test_dashboard_v2_api.py tests/test_skill_management.py tests/test_cli_skill_install.py -q
  • uv run pytest tests/test_skill_management.py tests/test_cli_skill_install.py tests/test_tool_inventory.py tests/test_router_tool_budget.py -q
  • uv run ruff check src/octopal/gateway/dashboard.py tests/test_dashboard_v2_api.py src/octopal/tools/skills/management.py src/octopal/cli/main.py tests/test_skill_management.py tests/test_cli_skill_install.py
  • uv run octopal skill --help
  • git diff --check

@pmbstyle pmbstyle self-assigned this Jun 3, 2026
@pmbstyle pmbstyle marked this pull request as ready for review June 3, 2026 12:23
@pmbstyle pmbstyle changed the title add skill enable disable commands prepare skill management backend Jun 3, 2026
@pmbstyle pmbstyle merged commit cceb0f0 into main Jun 3, 2026
4 checks passed
@pmbstyle pmbstyle deleted the fix/skill-enable-disable branch June 3, 2026 12:31
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