Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fix: add CLI-aware skill normalization to skip native directories#512

Merged
breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom
fix/skill-normalization-native-directorybreaking-brake/cc-wf-studio:fix/skill-normalization-native-directoryCopy head branch name to clipboard
Jan 29, 2026
Merged

fix: add CLI-aware skill normalization to skip native directories#512
breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom
fix/skill-normalization-native-directorybreaking-brake/cc-wf-studio:fix/skill-normalization-native-directoryCopy head branch name to clipboard

Conversation

@breaking-brake
Copy link
Copy Markdown
Owner

@breaking-brake breaking-brake commented Jan 29, 2026

Problem

When running a workflow with Copilot CLI, users are prompted to copy skills from .github/skills/ to .claude/skills/ even though .github/skills/ is a native directory for Copilot CLI.

Current Behavior

  1. User creates a workflow using a skill from .github/skills/
  2. User clicks "Run with Copilot CLI"
  3. ❌ Copy dialog appears asking to copy the skill to .claude/skills/

Expected Behavior

  1. User creates a workflow using a skill from .github/skills/
  2. User clicks "Run with Copilot CLI"
  3. ✅ No copy dialog - .github/skills/ is native for Copilot CLI

Solution

Added targetCli parameter to skill normalization functions to dynamically determine which directories are "standard" for each CLI.

Standard Directories per CLI

CLI Standard Directories
claude .claude/skills/
copilot .claude/skills/, .github/skills/, .copilot/skills/
codex .claude/skills/, .codex/skills/

Changes

File: src/extension/services/skill-normalization-service.ts

  • Added .copilot/skills/ to NON_STANDARD_SKILL_PATTERNS
  • Added 'copilot' to SkillSourceType
  • Added getStandardSkillPatterns(targetCli) helper function
  • Added isSkillFromStandardDir(skillPath, targetCli) helper function
  • Updated getSourceType() and getSourceSkillsDir() to handle .copilot/skills/
  • Added targetCli parameter (default: 'claude') to:
    • hasNonStandardSkills()
    • checkSkillsToNormalize()
    • promptAndNormalizeSkills()
    • normalizeSkillsWithoutPrompt()

File: src/extension/commands/copilot-handlers.ts

  • Pass 'copilot' to skill normalization functions

File: src/extension/commands/codex-handlers.ts

  • Pass 'codex' to skill normalization functions

File: src/extension/commands/export-workflow.ts

  • Explicitly pass 'claude' to skill normalization functions

Impact

  • Copilot CLI users no longer see unnecessary copy dialogs for .github/skills/ or .copilot/skills/
  • Codex CLI users no longer see unnecessary copy dialogs for .codex/skills/
  • Export/Claude Code behavior unchanged (only .claude/skills/ is standard)
  • Backward compatible (default is 'claude')

Testing

  • Code quality checks passed (npm run format && npm run lint && npm run check)
  • Build successful (npm run build)
  • Manual E2E testing: Copilot CLI + .github/skills/ skill
  • Manual E2E testing: Copilot CLI + .copilot/skills/ skill
  • Manual E2E testing: Codex CLI + .codex/skills/ skill
  • Manual E2E testing: Export + non-standard skill (should still show dialog)

🤖 Generated with Claude Code

- Added targetCli parameter to skill normalization functions
- Copilot CLI: .github/skills/ and .copilot/skills/ are native (no copy dialog)
- Codex CLI: .codex/skills/ is native (no copy dialog)
- Added .copilot/skills/ as alternative Copilot skill directory

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@breaking-brake breaking-brake merged commit 0c49d94 into main Jan 29, 2026
3 checks passed
@breaking-brake breaking-brake deleted the fix/skill-normalization-native-directory branch January 29, 2026 15:31
@breaking-brake breaking-brake mentioned this pull request Jan 29, 2026
braking-brake-semantic-release Bot pushed a commit that referenced this pull request Jan 29, 2026
## [3.18.2](v3.18.1...v3.18.2) (2026-01-29)

### Bug Fixes

* add CLI-aware skill normalization to skip native directories ([#512](#512)) ([0c49d94](0c49d94))
* add MCP server detection for Copilot CLI and Codex CLI ([#509](#509)) ([#510](#510)) ([ef31649](ef31649))
* add skills detection for Copilot/Codex with grouped UI ([#508](#508)) ([ab89f69](ab89f69)), closes [#507](#507)
* remove Codex project trust workaround ([#513](#513)) ([c5a9c45](c5a9c45)), closes [#495](#495)
* resolve skill source path correctly for all scopes ([#514](#514)) ([8caf97e](8caf97e))
* show AI provider badge for user scope skills ([#515](#515)) ([760d411](760d411))

### Documentation

* add AI coding tools configuration reference ([#505](#505)) ([f3bd005](f3bd005))
@braking-brake-semantic-release
Copy link
Copy Markdown

🎉 This PR is included in version 3.18.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.