Skip to content

Agent-specific handling of skills was dropped during repo migration #121

Description

@williamthorsen

Problem

When agent skills were migrated from configs.macos to codeassembly, platform-specific skill handling was omitted. In the previous repo, Claude Code and Rovo Dev each had their own skill directories (agents/claude/skills/ and agents/rovodev/skills/) that the deployment script (sync-agent-files.sh) merged into the shared skills. In codeassembly, installSkills() installs ALL skills to ALL platforms with no filtering.

Additionally, the rovodev-generate-prompts.sh script that generated ~/.rovodev/prompts.yml (Rovo Dev's skill discovery file) was not migrated.

Impact:

  • review-permissions skill is missing from Claude Code
  • brainstorming and systematic-debugging skills (with supporting files) are missing from Rovo Dev
  • Rovo Dev skill autocomplete is broken (no prompts.yml)

Relevant considerations

  • The three missing skills exist in configs.macos under agents/claude/skills/ and agents/rovodev/skills/. The systematic-debugging skill has 10 files (SKILL.md + 9 supporting files).
  • Currently installSkills() in packages/agents/src/commands/install.ts reads all entries from content/skills/ and installs them indiscriminately. Subagents already have platform-specific overlays (_data/claude.yml, _data/rovodev.yml), but no equivalent mechanism exists for skills.
  • The prompts.yml format is a flat YAML list of skills where user-invocable is not false. brainstorming has user-invocable: false (internal skill); systematic-debugging has no user-invocable field (defaults to included).
  • parseFrontmatter() from frontmatter-merger.ts is already exported and can be reused for reading skill frontmatter.

Proposed solution

Add a content/skills/_platforms/{platformId}/ directory convention (following the existing _data underscore-prefix pattern), modify installSkills() to skip _platforms in the main loop and separately install platform-specific skills, and add a generatePromptsYml() function that scans installed skills and writes prompts.yml for Rovo Dev.

Acceptance criteria

  • The agent-specific skill directories, including all their files, are migrated to codeassembly under content/skills/_platforms/{platformId}/
  • The skills are installed only to their respective agent's skill directory (review-permissions → Claude only; brainstorming, systematic-debugging → Rovo only)
  • ~/.rovodev/prompts.yml is correctly populated by the install command with all invocable skills (shared + rovodev-specific)
  • prompts.yml is tracked in the install manifest for drift detection and uninstall
  • Existing tests updated; new tests cover platform filtering and prompts.yml generation
  • _platforms/ convention documented in PROJECT.md

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions