Skip to content

refactor: flatten CLI child skills into main extension list#12

Merged
RealZST merged 6 commits intomainfrom
refactor/flatten-cli-children
Apr 13, 2026
Merged

refactor: flatten CLI child skills into main extension list#12
RealZST merged 6 commits intomainfrom
refactor/flatten-cli-children

Conversation

@RealZST
Copy link
Copy Markdown
Owner

@RealZST RealZST commented Apr 13, 2026

Summary

  • Flatten CLI children: CLI child skills/MCPs now appear as independent entries in the main extension table, searchable, filterable, and individually manageable. CLI detail panel shows "Associated Extensions" grouped by kind with navigation links. Child skill detail panels show "Part of CLI" with jump-to-parent link.

  • CLI cascade operations: CLI parent toggle cascades to all children. CLI uninstall executes directly with loading spinner (no optimistic removal), removing binary + all children. Shared findCliChildren helper with two-pass groupKey expansion ensures consistent child discovery across all operations.

  • Auto-link unlinked skills: After scan, newly added skills without install_meta are matched against marketplace by name. Matched skills get install_meta set immediately so pack info appears on first load. Added backfill_packs Stage 3: CLI children inherit pack from parent.

  • Bug fixes: Pack filter auto-clears when filtered pack no longer exists. Default sort changed to case-insensitive name sort.

Test plan

  • Verify CLI child skills/MCPs appear as independent rows in the extension table
  • Click child skill → verify "Part of CLI: [name]" in description, clickable
  • Click CLI parent → verify "Associated Extensions" cards with navigation
  • Toggle CLI parent → verify all children toggle together
  • Toggle individual child → verify only that child toggles
  • Delete CLI (Uninstall) → verify spinner, all children removed, binary removed
  • Delete individual child skill → verify normal delete flow
  • Install CLI externally, verify pack info appears after scan
  • Uninstall all extensions from a pack → verify filter auto-clears
  • Verify name sort is case-insensitive (OfficeCLI sorts with "o" entries)

🤖 Generated with Claude Code

RealZST and others added 6 commits April 13, 2026 22:33
CLI child skills and MCPs are no longer hidden under the CLI parent's
detail panel. They now appear as independent entries in the main
extension table — searchable, filterable, and individually manageable.

- Remove cli_parent_id filter in buildGroups
- Rewrite CLI detail panel: show "Associated Extensions" grouped by
  kind in cards with clickable navigation links
- Add "Part of CLI" link in child skill description with jump to parent
- Remove CLI from "Install to Agent" (children handle this individually)
- CLI "Install to Agent" re-added: installs all children to target agent

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CLI parent toggle now cascades to all child skills/MCPs. CLI uninstall
executes directly (no optimistic removal) with loading spinner, removes
binary + all children. Shared findCliChildren helper ensures consistent
child discovery across toggle, delete, install, and detail panel.

- Add findCliChildren with two-pass groupKey expansion for cross-agent coverage
- CLI toggle cascades to all children via findCliChildren
- CLI delete: direct API calls with spinner, no undo (destructive operation)
- Simplified CLI uninstall dialog showing affected children + binary warning
- Remove unused childSkillsOf from store

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
After scan_and_sync, newly added skills without install_meta are matched
against the marketplace by name. Matched skills get install_meta set so
backfill_packs can extract pack info immediately — no need to wait for
Check Updates.

- Add marketplace matching in scan_and_sync for new skills only
- Add backfill_packs Stage 3: CLI children inherit pack from parent
- Expose run_backfill_packs for post-linking pack extraction

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pack filter now auto-clears when the filtered pack no longer exists
(e.g., after uninstalling all extensions from a source). Default sort
changed from installed_at to name with case-insensitive ordering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CLI children are no longer excluded from buildGroups — update test to
verify they appear as separate groups instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@RealZST RealZST merged commit b8e6269 into main Apr 13, 2026
3 checks passed
@RealZST RealZST deleted the refactor/flatten-cli-children branch April 13, 2026 19:48
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