Skills: one DataTables grid (browse + installed merged) + pretty admin URL - #128
Merged
Conversation
… URL Datatablize /agent/skills like the Modules screen: a single server-side grid whose rows are the browse catalog merged with what's installed, so a row's Status column + action controls tell you whether it's installed. Installed skills pin to the top (then active-first, then name). - Agent_Service_Skills::datatable() — merges Tiger_Skill_Index::all() (cached; refresh on demand) with Tiger_Agent_Skills::installed() keyed by install key, filters on search, pins installed-first, paginates in PHP (the Code Area merge pattern). Rows carry installed/active + the fields to install/toggle/ remove/view-source. - View rewritten as a tigerDataTable (#sk-table): Skill · Description · Source (provenance) · Status (On/Installed/Available) · state-aware Actions (install | on-off toggle + remove | view-source), review-before-install modal, paste-URL install, rescan. ordering:false so the install pin holds. - Pretty URL /admin/settings/agent/skills via the agent module's routes.ini (a static route; canonical /agent/skills still works). Settings-nav href points at it. Interim one-off ahead of the general admin-URL normalization. - Tests: datatable merge + installed-pin + active-follows-config + guest-deny. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Datatablizes
/agent/skillslike the Modules screen — one server-side grid where a row's Status + action controls tell you whether it's installed, and installed skills pin to the top.Agent_Service_Skills::datatable()— merges the browse catalog (Tiger_Skill_Index::all(), per-source cached;refreshre-scans) withTiger_Agent_Skills::installed()keyed by install key, filters on search, sorts installed-first → active-first → name, paginates in PHP (the Code Area's merge-two-sources pattern). Each row carriesinstalled/active+ the fields to install / toggle / remove / view-source.tigerDataTable(#sk-table): columns Skill · Description · Source (provenance) · Status (On / Installed / Available) · Actions (state-aware: Install when available; on-off toggle + remove when installed; view-source always). Keeps the review-before-install modal, paste-a-URL install, and a Rescan control.ordering:falseso the installed-pin is authoritative./admin/settings/agent/skillsvia the agent module'sroutes.ini(a static route resolving to the dispatchable controller, so the RouteOverride plugin leaves it alone under the reserved/adminprefix). The canonical/agent/skillsstill works; the Settings-nav href now points at the pretty one. Flagged in-code as an interim one-off ahead of the broader admin-URL normalization to/admin/settings/[module]/*.Tests
SkillsTest: datatable merge + installed-pinned-to-top + active-follows-config + guest-deny. Index caches seeded empty so the merge test never hits the network. 9 integration + 9 unit Skill tests green locally.Note
The general
/[module]/admin/*→/admin/[module]/*+/admin/settings/[module]/*normalization is deliberately not in this PR (deferred per discussion); this ships just the one skills URL via a scoped static route.🤖 Generated with Claude Code