Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Claude Skills ManagerNew to Visual Studio Code? Get it now.
Claude Skills Manager

Claude Skills Manager

Serhii Voinolovych

|
1 install
| (1) | Free
Detect project stack and deploy AI agent skills (Claude, Cursor, Kiro, Copilot) with budget controls, branch profiles, and usage reports.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude Skills Manager

A VS Code extension that bundles a personal Claude Code skill library and helps you install the skills relevant to whatever project you have open.

This is the VS Code front-end for the claude-skills-deployer repo. The skill content lives in ../skills_library/; this extension bundles a synced copy (skills_library/, generated by npm run sync-skills, gitignored).

Features

  • Activity bar view ("Claude Skills") — lists every skill in the bundled library with its status for the current workspace:

    • 💡 relevant to this workspace but not yet installed
    • ✅ installed in <workspace>/.claude/skills/
    • ◦ available in ~/.claude/skills/ but not relevant/installed here
    • ⊘ not yet installed in ~/.claude/skills/ at all
  • Project-local skills — if <workspace>/.claude/skills/ already contains skills that aren't part of the bundled library (e.g. this extension was installed into a project that already has its own custom skills, or skills installed from elsewhere), they're listed too, marked project-only. Their description is read from the skill's own SKILL.md frontmatter when available. This means installing the extension into an existing project never hides skills that are already there.

  • On/off checkboxes — each skill in the tree has a checkbox: check it to install ("enable") the skill into <workspace>/.claude/skills/, uncheck it to remove ("disable") it from there. This is the simplest way to turn individual skills on or off per project.

    Note: <workspace>/.claude/skills/ is normally git-tracked and shared with your team — unchecking a skill here deletes its files, and if you commit that, it removes the skill for everyone after merge. To turn a skill off only for yourself, without touching the shared files, use the eye icon described below instead.

  • Multi-agent clones (auto-sync by default) — one skills_library/ fans out to Claude, Cursor, Kiro (SKILL.md), and Copilot (.github/instructions/*.instructions.md). When claudeSkills.features.multiAgent is on and claudeSkills.agents.syncWorkspaceToAll is true (default), your effective skill set (enabled for you, respecting skillOverrides) is mirrored to all enabled agent paths: .cursor/skills/, .kiro/skills/, .github/instructions/ (Copilot). Sync runs on checkbox/eye toggle, branch profile apply, extension startup, and .claude/skills / settings.local.json changes. Manual: Sync Workspace Skills to All Agents. .claude/skills/ stays the git-tracked file source of truth.

  • Per-branch skill profiles — each git branch can have its own skill layout stored in ~/.claude/learning/branch-profiles.json (global, personal, not committed). A Branch profiles section at the top of the Skills tree shows the current branch and saved profiles; toolbar icons provide show / save / apply. The extension auto-saves when you install/remove skills or change local overrides; on branch switch it restores the saved profile for the new branch (adds missing skills by default, mirrored to other agents when sync is on). Committed .claude/skills/ on the branch remains the team-shared source of truth after you git commit.

  • Team branch profiles in git — commit a shared layout per branch in .claude/skills-profile.json via Export Team Branch Profile to Git. Shown in a Team profiles tree section. On branch switch: team profile first, then personal profile from ~/.claude/learning/branch-profiles.json.

  • Multi-root workspaces — uses the active editor's workspace folder; Pick Active Workspace Folder (or status bar) when multiple roots are open.

  • SKILL.md lint — source + Cursor/Kiro/Copilot mirror checks on sync (claudeSkills.lint.*); blocks multi-agent sync only when blockSyncOnError is on.

  • Attribution v2 hooks — Enable Attribution Hooks (v2) logs each Skill tool invoke to runs.jsonl for per-skill cost attribution without equal-split transcript guessing. Tokens are backfilled from session transcripts via tool_use_id when the hook row has zero tokens. Auto-installed when claudeSkills.agents.syncHooksOnSkillChange is on.

  • Copilot bootstrap — multi-agent sync writes .github/copilot-instructions.md (always-on index) plus per-skill .github/instructions/*.instructions.md.

  • Local skill set vs. git branch — the checkbox means enabled for you, not "change what the branch commits":

    • Uncheck a branch-committed skill → writes "off" to personal .claude/settings.local.json (skillOverrides). Files stay in .claude/skills/ for teammates; your git status stays clean.
    • Check a skill not on the branch → copies into .claude/skills/ and adds it to .git/info/exclude so it stays personal-only on your machine.
    • Uncheck a personal-only skill → removes the directory from your workspace. Branch profiles in ~/.claude/learning/branch-profiles.json store this per-branch effective set (including overrides), restored on branch switch.
  • Eye icon — same as uncheck/check for branch-committed skills (local skillOverrides only). Disabled skills show "disabled locally" and a closed-eye icon; the checkbox is unchecked while files remain on the branch.

  • Status bar items:

    • How many relevant skills are pending install; click it to install them.
    • A skill usage summary (active / needs review / unused), based on .claude/learning/runs.jsonl written by the self-learning skill; click it to open the full usage/KPI report.
    • Today's estimated Claude spend (tokens + USD, with % of daily budget when configured); click for the full usage report.
    • Budget mode (Economy / Normal / Unlimited); click to cycle modes.
  • Claude Credits Usage report — the usage report also includes a "Claude Credits Usage" section: total tokens and an estimated cost for the last 14 days across all your projects, broken down by day and by model, read directly from Claude Code's session transcripts (~/.claude/projects/**/*.jsonl). The per-skill table also has a Tokens column (populated once the self-learning skill records the optional tokens field on a run).

  • Click any skill to open its SKILL.md (workspace copy if installed, else global copy, else the bundled copy).

How to use this extension

  1. Install the .vsix (Extensions view -> ... menu -> "Install from VSIX...") or get it from the Marketplace, then open a workspace folder.
  2. Open the Claude Skills view in the activity bar. It lists the full bundled skill library plus any skills already in <workspace>/.claude/skills/, each annotated with its status for this workspace (relevant / installed / available / project-only).
  3. First time only: run "Install Skill Library to ~/.claude/skills" to seed your personal global library (subsequent steps copy from there).
  4. Run "Install Relevant Skills for Workspace" to auto-install the skills that match files in your project (or "Preview Skill Detection (Dry Run)" first to see what would happen without writing anything).
  5. Fine-tune per skill: tick/untick a skill's checkbox in the tree to enable/disable it for this workspace, or right-click -> "Install to Workspace .claude/skills" for a single skill.
  6. Click "Show Skill Usage Report" (graph icon, also in the status bar) to see which installed skills are active, underused, or worth removing, plus your overall Claude credits/token usage for the last 14 days.
  7. Optionally run "Enable Cost Control Hooks" to install session-size and daily-budget UserPromptSubmit hooks (warn at 80% of budget, auto-disable high-tier skills when the cap is hit).
  8. Set budget caps under Settings → Extensions → Claude Skills Manager → Budget, or click the Economy / Normal / Unlimited status bar item to cycle modes.

Commands (Command Palette / view toolbar)

Command What it does
Claude Skills: Install Skill Library to ~/.claude/skills Copies every bundled skill into your personal global library (skips ones that already exist).
Claude Skills: Install Relevant Skills for Workspace Detects which skills apply to the open workspace (by file patterns) and installs them. With syncWorkspaceToAll (default), deploys to all enabled agent workspace paths; otherwise Claude only.
Claude Skills: Install All Skills for Workspace Same, ignoring detection — installs the whole library (all agents when sync is on).
Claude Skills: Preview Skill Detection (Dry Run) Shows what would be installed, without writing anything.
Claude Skills: Install to Workspace .claude/skills (per-skill, right-click in the tree) Installs a single skill into the current workspace, prompting before overwrite.
Claude Skills: Disable Skill Locally (this workspace only) (per-skill, eye icon) Adds "<skill>": "off" to <workspace>/.claude/settings.local.json (skillOverrides) — turns the skill off for you only, without changing <workspace>/.claude/skills/.
Claude Skills: Enable Skill Locally (per-skill, eye icon) Removes the local override, reverting the skill to the project default ("on").
Claude Skills: Show Skill Usage Report Opens a per-skill usage/KPI report (runs, success rate, tokens, last used, rating, suggested skills, misused/removal candidates) based on .claude/learning/runs.jsonl, plus a "Claude Credits Usage" section (tokens/estimated cost by day and model, last 14 days, all projects).
Claude Skills: Enable Session Size Notifications Alias for Enable Cost Control Hooks (session size + budget).
Claude Skills: Enable Cost Control Hooks (Budget + Session Size) Installs session-size-watch and budget-watch hooks: transcript size nudges, daily budget warnings, economy-mode enforcement, auto-disable of high-tier skills when the budget is exceeded. Syncs ~/.claude/learning/budget.json from VS Code settings.
Claude Skills: Cycle Budget Mode (Economy / Normal / Unlimited) Cycles global budget mode. Economy disables high-tier skills locally; Normal enforces the daily cap; Unlimited only notifies at a high spend threshold.
Claude Skills: Open Extension Settings Opens all extension settings (@ext:serhiivoinolovych.claude-skill-deployer); also available from the gear icon on the Skills Library toolbar.
Claude Skills: Open Budget Settings Opens VS Code settings filtered to claudeSkills.budget.*.
Claude Skills: Save Branch Skill Profile Snapshots installed skills + skillOverrides for the current git branch to ~/.claude/learning/branch-profiles.json.
Claude Skills: Apply Branch Skill Profile Restores the saved profile for the current branch (install missing skills; optional remove extras via setting).
Claude Skills: Show Branch Skill Profiles Lists all saved branch profiles for this repo (output channel + summary toast). Also visible in the Skills tree under Branch profiles.
Claude Skills: Reset Mis-attributed Cost Data Removes collector-generated transcript rows and clears transcriptSkills so cost attribution can be re-collected accurately.
Claude Skills: Install Skill Library to All Enabled AI Agents Copies the bundled library to global dirs for Claude, Cursor, Kiro, and Copilot (per claudeSkills.agents.enabled).
Claude Skills: Show Enabled AI Agent Targets Lists which agents are enabled and their deploy paths (skills_library/agents.json).
Claude Skills: Show Cost Intelligence Dashboard WebView: agent spend (14d), per-skill costs when attribution is reliable, cross-agent savings, optimizations. Hides per-skill data when equal-split mis-attribution is detected.
Claude Skills: Sync Workspace Skills to All Agents Force mirror effective workspace skills to Cursor, Kiro, Copilot.
Claude Skills: Show Cost Optimization Suggestions Actionable disable / agent-switch / archival hints from attribution data.
Claude Skills: Apply Cost Optimizations Interactive apply (or auto when claudeSkills.optimizer.autoApply is on).
Claude Skills: Manage Feature Toggles Flip major features on/off (claudeSkills.features.*).
Claude Skills: Cycle Skill Sort (ROI / Cost) Sort skills tree by relevance, lowest cost, highest ROI, or best value.
Claude Skills: Reset Emergency Cost Cutoff Re-enable skills after hard daily limit triggered.
Claude Skills: Restore Archived Skill Move skill back from .claude/skills-archived/.
Claude Skills: Estimate PR Review Cost PR cost estimate via gh (feature prCostEstimate).
Claude Skills: Configure Weekly Report Email One-time setup: GitHub/GitLab token finds your inbox, SMTP sends the report.
Claude Skills: Send Weekly AI Usage Report Sends cost/agent usage summary now (test) or waits for Monday 9:00 schedule.

Weekly AI usage report (informative email)

When claudeSkills.weeklyReport.enabled is on (default), the extension checks every 15 minutes while VS Code/Cursor is open. On the configured day (default Monday 9:00 local), it sends a plain informative email about AI agent usage and cost — no GitHub/GitLab issues.

One-time setup

  1. Open a workspace with a GitHub or GitLab origin remote.
  2. Run Configure Weekly Report Email (sidebar key icon or Command Palette).
  3. Paste a personal access token (stored in VS Code Secret Storage — not in settings.json), or reuse gh auth login / GITLAB_TOKEN.
  4. Complete SMTP (Gmail app password, Microsoft 365, or custom). Also stored in secrets.

Full token types, scopes, and settings table: see Weekly AI usage report in the repo README.

GitHub PAT (minimum scopes): read:user, user:email (classic) or fine-grained with Email addresses: Read + Profile: Read. repo is not required.

GitLab PAT (minimum scope): read_user.

SMTP is required — the git token finds your address; SMTP sends the mail.

Prerequisites

  1. One-time Configure Weekly Report Email (PAT + SMTP).
  2. VS Code/Cursor open at the scheduled time, or run Send Weekly AI Usage Report manually.

Advanced: claudeSkills.weeklyReport.emailTo or CLAUDE_SKILLS_SMTP_* env vars instead of the wizard.

Settings highlights

Find all options under Settings → Extensions → Claude Skills Manager (or search @ext:serhiivoinolovych.claude-skill-deployer). Sections: Budget, Agents, Features, Lint, Optimizer, Weekly Report, and more.

Setting Default Purpose
claudeSkills.budget.mode normal Economy / Normal / Unlimited token budget mode
claudeSkills.budget.dailyBudgetUsd 5 Daily estimated spend cap (USD)
claudeSkills.branchProfiles.enabled true Per-git-branch skill profiles in ~/.claude/learning/branch-profiles.json
claudeSkills.agents.enabled claude, cursor, kiro, copilot Agents that receive skill clones
claudeSkills.agents.syncWorkspaceToAll true Fan out workspace install to all enabled agent paths (requires multiAgent feature)
claudeSkills.agents.syncGlobalToAll true Fan out global library install to all enabled agent paths
claudeSkills.agents.syncHooksOnSkillChange true Refresh/install cost-control hooks when workspace skills change
claudeSkills.preferLocalSkillOverrides true Uncheck branch skill → skillOverrides off (no git diff)
claudeSkills.features.costIntelligence true Dashboard, suggestions, export
claudeSkills.features.emergencyCutoff true Hard daily limit (claudeSkills.emergency.hardLimitUsd, default $10)
claudeSkills.features.communityBenchmarks false Opt-in community benchmarks
claudeSkills.optimizer.autoApply false Auto-disable expensive idle skills
claudeSkills.weeklyReport.enabled true Monday-morning AI usage report (local time)
claudeSkills.weeklyReport.dayOfWeek 1 0=Sun, 1=Mon, …
claudeSkills.weeklyReport.hour 9 Local hour
claudeSkills.search.sortBy relevance lowest_cost, highest_roi, best_value

Checkbox toggles your effective skill set: enable installs or clears skillOverrides; disable on a branch-committed skill sets skillOverrides: off locally (files stay on the branch). Personal-only skills are removed from disk and added to .git/info/exclude. Changes propagate to other enabled agents automatically.

All results are logged to the "Claude Skills" output channel.

Onboarding & recovery (v1.0.x)

Command Purpose
Claude Skills: Open Setup Wizard WebView checklist: verify global + workspace install, then optional cost features
Claude Skills: Start Onboarding Tour (step prompts) Legacy step-by-step toast tour
Claude Skills: Repair Claude Skills Data Fix corrupted JSON/JSONL, create missing dirs
Claude Skills: Reset Mis-attributed Cost Data Fix inflated per-skill costs from pre-1.0.1 equal-split attribution

First activation prompts Get Started if ~/.claude/skills/ is empty.

Cost attribution notes (v1.0.1+)

The background collector attributes session tokens only to skills with evidence of actual use (SKILL.md reads, Skill tool calls, etc.) — not the full skill_listing catalog. Unattributed sessions are labeled unattributed in reports. Record runs with metadata.invoked: true via the self-learning skill for best accuracy. Keep claudeSkills.optimizer.autoApply off until attribution looks correct.

What this tool does NOT do

  • SKILL.md lint is advisory by default (claudeSkills.lint.blockSyncOnError to hard-block) — covers the .claude/skills source of truth plus Cursor/Kiro SKILL.md mirrors and Copilot .instructions.md mirror presence.
  • Community benchmark upload requires you to configure endpoints (no default public server).
  • PR comments require GitHub CLI and explicit feature enable.
  • Copilot clones are instruction files, not native Copilot skills.

Performance & compatibility

See root README.md and CHANGELOG.md.

Development

npm install
npm run sync-skills   # copy ../skills_library -> ./skills_library
npm run compile       # or: npm run watch

Press F5 in VS Code (with this folder open) to launch an Extension Development Host.

Packaging

npm run package   # runs sync-skills, then `vsce package` (requires @vscode/vsce)

Produces a .vsix you can install via "Extensions: Install from VSIX...".

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft