Skip to content

feat(skills): add skill management command and init selection#27

Merged
SiyuQian merged 2 commits intomainfrom
feat/skill-management
Mar 11, 2026
Merged

feat(skills): add skill management command and init selection#27
SiyuQian merged 2 commits intomainfrom
feat/skill-management

Conversation

@SiyuQian
Copy link
Owner

@SiyuQian SiyuQian commented Mar 11, 2026

Summary

  • Migrate .devpilot.json.devpilot.yaml (YAML format, no backward compatibility) — adds a skills array to track installed skills with name, source, version, and installedAt
  • New devpilot skill commandskill add <name[@version]> fetches from github.com/siyuqian/devpilot at the latest release tag (or a pinned tag) and installs into .claude/skills/; skill list shows installed skills in a table
  • devpilot init skill selection — interactive multi-select checklist (Bubble Tea) to install skills from the devpilot catalog during project setup; skipped with -y

Test plan

  • make test passes (all packages)
  • devpilot init shows multi-select checklist, installs selected skills, records them in .devpilot.yaml
  • devpilot init -y skips skill selection
  • devpilot skill add pm installs at latest tag, writes .devpilot.yaml entry
  • devpilot skill add pm@v0.4.0 installs at pinned tag
  • devpilot skill add nonexistent returns a clear error
  • devpilot skill list shows installed skills table
  • devpilot skill add pm run twice silently overwrites

🤖 Generated with Claude Code

SiyuQian and others added 2 commits March 11, 2026 18:26
- Migrate .devpilot.json to .devpilot.yaml (YAML format, no backward compat)
- Add SkillEntry tracking to Config with UpsertSkill method
- Add internal/skillmgr package: GitHub API fetching, install, catalog, Bubble Tea multi-select
- Add `devpilot skill add <name[@Version]>` and `devpilot skill list` commands
- Add interactive multi-select skill checklist to `devpilot init`

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add doc comment to DefaultSource exported constant
- Replace sb.WriteString(fmt.Sprintf) with fmt.Fprintf in View()
- Show skill description in multi-select view (fixes dead desc field)
- Add field names to table-driven test cases in TestParseSkillArg
- Acknowledge w.Write return values with _, _ in test handlers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@SiyuQian SiyuQian merged commit 9ae5bcf into main Mar 11, 2026
1 check passed
@SiyuQian SiyuQian deleted the feat/skill-management branch March 11, 2026 05:38
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