Skip to content

feat: Separate custom skills into .agents/skills-custom/ with dedicated manifest section#65

Merged
lmajano merged 4 commits intodevelopmentfrom
copilot/preserve-custom-skills-folder
May 6, 2026
Merged

feat: Separate custom skills into .agents/skills-custom/ with dedicated manifest section#65
lmajano merged 4 commits intodevelopmentfrom
copilot/preserve-custom-skills-folder

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 6, 2026

All skills previously lived flat in .agents/skills/, making it impossible to .gitignore auto-managed framework skills while committing project-specific ones.

Changes

New directory structure

  • .agents/skills/ — framework/core skills, auto-managed by CLI (safe to .gitignore)
  • .agents/skills-custom/ — project-authored skills (should be committed)
# Recommended .gitignore strategy
.agents/**
!.agents/
!.agents/manifest.json
!.agents/guidelines/
!.agents/guidelines/custom/**
!.agents/skills-custom/
!.agents/skills-custom/**

Manifest

  • Added customSkills: [] as a separate top-level key — not SHA-hash-managed (no owner/repo/sha tracking)
  • skills[] now contains only remote-fetched framework skills
  • Backwards-compatible: refresh() initializes customSkills on old manifests

SkillManager

  • getCustomSkillsDirectory() — returns .agents/skills-custom/
  • getCustomSkillFilePath() — custom-only lookup
  • ensureCustomSkillsSection() — private helper for backwards-compat initialization
  • createCustomSkill() / createSkillOverride() — write to skills-custom/, record in manifest.customSkills
  • getSkillFilePath() — searches skills/, then skills-custom/, then .claude/skills/
  • hasSkill() / removeSkillFromProject() — check/operate on both directories
  • refresh() step 4/5 — prune deleted custom skills from customSkills, scan skills-custom/ for untracked new entries
  • diagnose() — validates both skills and customSkills manifest sections

AIService

  • Creates skills-custom/ in createAIDirectoryStructure()
  • getInfo() returns customSkills; getStats() counts and sizes both directories

Commands & templates

  • create, override commands use skills-custom/
  • list command groups and totals from both info.skills + info.customSkills
  • Agent instruction templates updated to document the two-directory structure with correct paths

Copilot AI and others added 3 commits May 6, 2026 15:12
…d manifest section

Agent-Logs-Url: https://github.com/ColdBox/coldbox-cli/sessions/bd6c5d76-044f-4462-b8fb-459c2651fc07

Co-authored-by: lmajano <137111+lmajano@users.noreply.github.com>
… cleaner iteration

Agent-Logs-Url: https://github.com/ColdBox/coldbox-cli/sessions/bd6c5d76-044f-4462-b8fb-459c2651fc07

Co-authored-by: lmajano <137111+lmajano@users.noreply.github.com>
…, string interpolation

Agent-Logs-Url: https://github.com/ColdBox/coldbox-cli/sessions/bd6c5d76-044f-4462-b8fb-459c2651fc07

Co-authored-by: lmajano <137111+lmajano@users.noreply.github.com>
Copilot AI changed the title [WIP] Consider preserving a custom skills folder for project-specific AI skills feat: Separate custom skills into .agents/skills-custom/ with dedicated manifest section May 6, 2026
Copilot finished work on behalf of lmajano May 6, 2026 15:18
Copilot AI requested a review from lmajano May 6, 2026 15:18
@lmajano lmajano marked this pull request as ready for review May 6, 2026 15:25
Copilot AI review requested due to automatic review settings May 6, 2026 15:25
@lmajano lmajano merged commit 26a2c9b into development May 6, 2026
1 check passed
@lmajano lmajano deleted the copilot/preserve-custom-skills-folder branch May 6, 2026 15:25
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.

Consider preserving a custom skills folder for project-specific AI skills

2 participants