skillup 0.7.1__tar.gz → 0.7.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {skillup-0.7.1 → skillup-0.7.2}/PKG-INFO +1 -1
  2. {skillup-0.7.1 → skillup-0.7.2}/pyproject.toml +1 -1
  3. {skillup-0.7.1 → skillup-0.7.2}/skillup/cli.py +8 -3
  4. {skillup-0.7.1 → skillup-0.7.2}/.github/workflows/ci.yml +0 -0
  5. {skillup-0.7.1 → skillup-0.7.2}/.github/workflows/docs.yml +0 -0
  6. {skillup-0.7.1 → skillup-0.7.2}/.github/workflows/publish.yml +0 -0
  7. {skillup-0.7.1 → skillup-0.7.2}/.gitignore +0 -0
  8. {skillup-0.7.1 → skillup-0.7.2}/.python-version +0 -0
  9. {skillup-0.7.1 → skillup-0.7.2}/LICENSE +0 -0
  10. {skillup-0.7.1 → skillup-0.7.2}/README.md +0 -0
  11. {skillup-0.7.1 → skillup-0.7.2}/assets/logo-wordmark.svg +0 -0
  12. {skillup-0.7.1 → skillup-0.7.2}/assets/logo.svg +0 -0
  13. {skillup-0.7.1 → skillup-0.7.2}/docs/assets/extra.css +0 -0
  14. {skillup-0.7.1 → skillup-0.7.2}/docs/assets/logo.svg +0 -0
  15. {skillup-0.7.1 → skillup-0.7.2}/docs/changelog.md +0 -0
  16. {skillup-0.7.1 → skillup-0.7.2}/docs/commands.md +0 -0
  17. {skillup-0.7.1 → skillup-0.7.2}/docs/development.md +0 -0
  18. {skillup-0.7.1 → skillup-0.7.2}/docs/index.md +0 -0
  19. {skillup-0.7.1 → skillup-0.7.2}/docs/lock-file.md +0 -0
  20. {skillup-0.7.1 → skillup-0.7.2}/docs/quickstart.md +0 -0
  21. {skillup-0.7.1 → skillup-0.7.2}/docs/skill-definition.md +0 -0
  22. {skillup-0.7.1 → skillup-0.7.2}/skillup/__init__.py +0 -0
  23. {skillup-0.7.1 → skillup-0.7.2}/skillup/_tree_ui.py +0 -0
  24. {skillup-0.7.1 → skillup-0.7.2}/skillup/azdevops.py +0 -0
  25. {skillup-0.7.1 → skillup-0.7.2}/skillup/github.py +0 -0
  26. {skillup-0.7.1 → skillup-0.7.2}/skillup/http.py +0 -0
  27. {skillup-0.7.1 → skillup-0.7.2}/skillup/install.py +0 -0
  28. {skillup-0.7.1 → skillup-0.7.2}/skillup/local.py +0 -0
  29. {skillup-0.7.1 → skillup-0.7.2}/skillup/lock.py +0 -0
  30. {skillup-0.7.1 → skillup-0.7.2}/skillup/settings.py +0 -0
  31. {skillup-0.7.1 → skillup-0.7.2}/tests/test_azdevops.py +0 -0
  32. {skillup-0.7.1 → skillup-0.7.2}/tests/test_cli.py +0 -0
  33. {skillup-0.7.1 → skillup-0.7.2}/tests/test_e2e.py +0 -0
  34. {skillup-0.7.1 → skillup-0.7.2}/tests/test_github_auth.py +0 -0
  35. {skillup-0.7.1 → skillup-0.7.2}/tests/test_install.py +0 -0
  36. {skillup-0.7.1 → skillup-0.7.2}/tests/test_migrate.py +0 -0
  37. {skillup-0.7.1 → skillup-0.7.2}/tests/test_sync.py +0 -0
  38. {skillup-0.7.1 → skillup-0.7.2}/uv.lock +0 -0
  39. {skillup-0.7.1 → skillup-0.7.2}/zensical.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skillup
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: A minimal CLI to manage agent skills from GitHub releases.
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "skillup"
7
- version = "0.7.1"
7
+ version = "0.7.2"
8
8
  description = "A minimal CLI to manage agent skills from GitHub releases."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -124,7 +124,7 @@ def add(
124
124
  ensure_dirs()
125
125
 
126
126
  if is_local_path(repo):
127
- _add_local(repo, lock, skills, search)
127
+ _add_local(repo, lock, skills, search, all_skills)
128
128
  return
129
129
 
130
130
  lock_key, short_ref = _parse_repo_input(repo)
@@ -199,7 +199,7 @@ def add(
199
199
  console.print(f"[green]Skills from {short_ref} installed successfully![/green]")
200
200
 
201
201
 
202
- def _add_local(repo: str, lock: dict, skills: Optional[List[str]], search: Optional[str]) -> None:
202
+ def _add_local(repo: str, lock: dict, skills: Optional[List[str]], search: Optional[str], all_skills: bool = False) -> None:
203
203
  local_path = resolve_local_path(repo)
204
204
  if not local_path.is_dir():
205
205
  console.print(f"[red]Local path does not exist or is not a directory: {local_path}[/red]")
@@ -212,7 +212,12 @@ def _add_local(repo: str, lock: dict, skills: Optional[List[str]], search: Optio
212
212
  repo_data = lock["repos"].get(lock_key, {"skills": [], "source": "local", "path": str(local_path)})
213
213
  installed_skills = set(repo_data.get("skills", []))
214
214
 
215
- if skills:
215
+ if all_skills:
216
+ selected = [s for s in available_skills if s not in installed_skills]
217
+ if not selected:
218
+ console.print(f"[yellow]No new skills available to add from {display}.[/yellow]")
219
+ return
220
+ elif skills:
216
221
  selected = [s for s in skills if s in available_skills and s not in installed_skills]
217
222
  invalid = [s for s in skills if s not in available_skills]
218
223
  already_installed = [s for s in skills if s in installed_skills]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes