Skip to content

feat(cli,domain): support non-global namespace skill download#497

Merged
dongmucat merged 2 commits into
mainfrom
feat/non-global-namespace-download
Jun 5, 2026
Merged

feat(cli,domain): support non-global namespace skill download#497
dongmucat merged 2 commits into
mainfrom
feat/non-global-namespace-download

Conversation

@XiaoSeS

@XiaoSeS XiaoSeS commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Changes

  • CLI: Parse namespace from skill name using -- separator (e.g., astroclaw--api-gateway)
  • Backend: Allow anonymous download for any PUBLIC skill regardless of namespace

Why

Users had to use --namespace flag for non-global skills, and anonymous download was artificially restricted to global namespace only despite skills being marked PUBLIC.

Usage

# Install from non-global namespace
skillhub install astroclaw--api-gateway

# Anonymous download a PUBLIC team-namespace skill
curl /api/skills/team-ai/demo-skill/versions/1.0.0/download

--namespace flag still takes precedence when explicitly specified.

Implementation

CLI changes

  • New cli/src/shared/skill-name-parser.ts utility
  • install and remove commands updated to parse skill name argument
  • 10 unit tests covering edge cases

Backend changes

  • SkillDownloadService.isAnonymousDownloadAllowed: drop namespace type check, require only PUBLIC visibility
  • Removed unused NamespaceType import
  • Test updated to expect success for team-namespace public skill

Testing

✅ skillhub-domain compiles cleanly
✅ skill-name-parser test suite: 10/10 passed

Origin

Synced from SAAS commit 26c67e3

Fixes #490

@CLAassistant

CLAassistant commented Jun 5, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

XiaoSeS added 2 commits June 5, 2026 16:00
Parse namespace from skill name using -- separator (e.g.,
astroclaw--api-gateway) so users don't need --namespace flag.
Allow anonymous download for any PUBLIC skill regardless of namespace.

CLI changes:
- Add cli/src/shared/skill-name-parser.ts utility
- Update install and remove commands to parse skill name argument
- 10 unit tests covering edge cases

Domain changes:
- SkillDownloadService.isAnonymousDownloadAllowed: drop namespace
  type check, only require PUBLIC visibility
- Update test to expect success for team-namespace public skill

Synced from SAAS commit 26c67e3
@XiaoSeS XiaoSeS force-pushed the feat/non-global-namespace-download branch from d2872db to 3c40d48 Compare June 5, 2026 08:01
@dongmucat dongmucat merged commit 2bb7ded into main Jun 5, 2026
9 checks passed
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.

feat(cli,domain): support non-global namespace skill download

3 participants