skill-manager

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Skill Manager

Skill Manager

Analyze the current project's tech stack and disable irrelevant globally-installed skills by injecting a bounded section into the project's CLAUDE.md.
分析当前项目的技术栈,并通过在项目的CLAUDE.md中插入一个限定区域来禁用全局安装的无关技能。

When to Use

使用场景

  • User says "manage skills", "optimize skills", "skill manager"
  • User says "disable irrelevant skills" or "which skills do I need?"
  • User says "clean up skills for this project"
  • User says "re-enable all skills"
  • At the start of a new project to reduce context window waste
  • 用户说出“manage skills”、“optimize skills”、“skill manager”
  • 用户说出“disable irrelevant skills”或“which skills do I need?”
  • 用户说出“clean up skills for this project”
  • 用户说出“re-enable all skills”
  • 在新项目启动时使用,以减少上下文窗口的浪费

Quick Start

快速开始

Run the Python analysis script if available, otherwise follow the manual workflow below.
如果有可用的Python分析脚本,请运行它;否则请遵循以下手动流程。

Step 1: Detect Project Tech Stack

步骤1:检测项目技术栈

Check for these files in the project root (current working directory):
FileStack Signal
package.json
Node.js — read for framework (next, react, vue, angular, svelte, etc.)
Podfile
or
*.xcodeproj
iOS/macOS native
Package.swift
Swift Package (iOS/macOS)
Cargo.toml
Rust
go.mod
Go
requirements.txt
/
pyproject.toml
/
setup.py
Python
Gemfile
Ruby
composer.json
PHP
build.gradle
/
build.gradle.kts
Android/JVM
pubspec.yaml
Flutter/Dart
Dockerfile
/
docker-compose.yml
Containerized
vercel.json
/
netlify.toml
Jamstack deployment
tsconfig.json
TypeScript
.swift
files in root/Sources
Swift CLI/Server
Read
package.json
dependencies to identify frameworks:
  • next
    -> Next.js
  • react
    -> React
  • vue
    -> Vue
  • @angular/core
    -> Angular
  • svelte
    -> Svelte
  • stripe
    -> Payment processing
  • express
    /
    fastify
    /
    hono
    -> Node server
  • tailwindcss
    -> Tailwind CSS
  • remotion
    -> Video/media processing
Monorepo detection: If the project has
packages/
,
apps/
, or a workspace config in package.json, scan subdirectories too and union all detected stacks.
Empty project: If no recognizable files are found, warn the user and keep all skills active.
检查项目根目录(当前工作目录)中的以下文件:
文件技术栈信号
package.json
Node.js — 读取以识别框架(next、react、vue、angular、svelte等)
Podfile
*.xcodeproj
iOS/macOS原生
Package.swift
Swift包(iOS/macOS)
Cargo.toml
Rust
go.mod
Go
requirements.txt
/
pyproject.toml
/
setup.py
Python
Gemfile
Ruby
composer.json
PHP
build.gradle
/
build.gradle.kts
Android/JVM
pubspec.yaml
Flutter/Dart
Dockerfile
/
docker-compose.yml
容器化部署
vercel.json
/
netlify.toml
Jamstack部署
tsconfig.json
TypeScript
根目录/Sources中的
.swift
文件
Swift CLI/服务器
读取
package.json
的依赖项以识别框架:
  • next
    -> Next.js
  • react
    -> React
  • vue
    -> Vue
  • @angular/core
    -> Angular
  • svelte
    -> Svelte
  • stripe
    -> 支付处理
  • express
    /
    fastify
    /
    hono
    -> Node服务器
  • tailwindcss
    -> Tailwind CSS
  • remotion
    -> 视频/媒体处理
单体仓库检测:如果项目包含
packages/
apps/
,或者package.json中有工作区配置,也要扫描子目录并合并所有检测到的技术栈。
空项目:如果未找到可识别的文件,向用户发出警告并保持所有技能激活。

Step 2: Read Installed Skills

步骤2:读取已安装的技能

Read
~/.agents/.skill-lock.json
to get the list of all globally installed skills. For each skill, note:
  • name
    (the key)
  • source
    (GitHub repo)
  • skillPath
    (where the SKILL.md lives)
读取
~/.agents/.skill-lock.json
以获取所有全局安装技能的列表。对于每个技能,记录:
  • name
    (键名)
  • source
    (GitHub仓库)
  • skillPath
    (SKILL.md所在位置)

Step 3: Score Each Skill

步骤3:为每个技能评分

Assign each skill to a tier based on the detected tech stack.
根据检测到的技术栈为每个技能分配等级。

Tier Definitions

等级定义

TierScore RangeMeaning
essential80-100Directly relevant to detected stack
useful40-79Cross-platform utility, may be used
irrelevant0-39Wrong platform/domain entirely
universalN/ANever disabled regardless of stack
等级分数范围含义
essential(核心)80-100与检测到的技术栈直接相关
useful(有用)40-79跨平台工具,可能会用到
irrelevant(无关)0-39完全不匹配平台/领域
universal(通用)N/A无论技术栈如何,永不禁用

Universal Skills (NEVER disable these)

通用技能(永不禁用)

find-skills, skill-creator, writing-skills, brainstorming,
writing-plans, test-driven-development, dispatching-parallel-agents,
subagent-driven-development, using-superpowers, agentation, skill-manager
find-skills, skill-creator, writing-skills, brainstorming,
writing-plans, test-driven-development, dispatching-parallel-agents,
subagent-driven-development, using-superpowers, agentation, skill-manager

Domain Mapping

领域映射

iOS/macOS Native Skills — essential when Swift/Xcode detected:
  • mobile-ios-design
    (iOS UI/SwiftUI)
  • asc-xcode-build
    (Xcode build/archive)
  • asc-metadata-sync
    (App Store metadata)
  • asc-localize-metadata
    (App Store localization)
  • asc-subscription-localization
    (IAP localization)
  • asc-ppp-pricing
    (territory pricing)
  • asc-shots-pipeline
    (screenshot automation)
  • asc-notarization
    (macOS notarization)
  • app-store-optimization
    (ASO)
  • aso-full-audit
    ,
    aso-optimize
    ,
    aso-competitor
    ,
    aso-prelaunch
    ,
    aso
Web/SaaS Marketing Skills — essential when web framework detected:
  • page-cro
    ,
    signup-flow-cro
    ,
    onboarding-cro
    ,
    popup-cro
    ,
    form-cro
  • copywriting
    ,
    copy-editing
    ,
    content-strategy
  • seo-audit
    ,
    programmatic-seo
    ,
    schema-markup
  • analytics-tracking
    ,
    ab-test-setup
  • email-sequence
    ,
    social-content
  • marketing-ideas
    ,
    marketing-psychology
  • free-tool-strategy
    ,
    launch-strategy
  • paid-ads
    ,
    referral-program
  • pricing-strategy
    ,
    competitor-alternatives
  • audit-website
Payment Skills — essential when stripe/payment dependency detected:
  • stripe-integration
  • paywall-upgrade-cro
  • churn-prevention
Media/AI Generation Skills — essential when media dependencies detected:
  • fal-audio
    ,
    fal-generate
    ,
    fal-image-edit
    ,
    fal-platform
    ,
    fal-upscale
    ,
    fal-workflow
  • remotion-best-practices
iOS/macOS原生技能 — 当检测到Swift/Xcode时为核心技能:
  • mobile-ios-design
    (iOS UI/SwiftUI)
  • asc-xcode-build
    (Xcode构建/归档)
  • asc-metadata-sync
    (App Store元数据同步)
  • asc-localize-metadata
    (App Store本地化)
  • asc-subscription-localization
    (内购本地化)
  • asc-ppp-pricing
    (区域定价)
  • asc-shots-pipeline
    (截图自动化)
  • asc-notarization
    (macOS公证)
  • app-store-optimization
    (ASO)
  • aso-full-audit
    ,
    aso-optimize
    ,
    aso-competitor
    ,
    aso-prelaunch
    ,
    aso
Web/SaaS营销技能 — 当检测到Web框架时为核心技能:
  • page-cro
    ,
    signup-flow-cro
    ,
    onboarding-cro
    ,
    popup-cro
    ,
    form-cro
  • copywriting
    ,
    copy-editing
    ,
    content-strategy
  • seo-audit
    ,
    programmatic-seo
    ,
    schema-markup
  • analytics-tracking
    ,
    ab-test-setup
  • email-sequence
    ,
    social-content
  • marketing-ideas
    ,
    marketing-psychology
  • free-tool-strategy
    ,
    launch-strategy
  • paid-ads
    ,
    referral-program
  • pricing-strategy
    ,
    competitor-alternatives
  • audit-website
支付技能 — 当检测到stripe/支付依赖时为核心技能:
  • stripe-integration
  • paywall-upgrade-cro
  • churn-prevention
媒体/AI生成技能 — 当检测到媒体依赖时为核心技能:
  • fal-audio
    ,
    fal-generate
    ,
    fal-image-edit
    ,
    fal-platform
    ,
    fal-upscale
    ,
    fal-workflow
  • remotion-best-practices

Cross-Domain Rules

跨领域规则

  • Marketing skills are scored "useful" (50) in non-web projects — users sometimes do marketing from any project
  • Stripe/payment skills are "useful" (50) unless stripe is in dependencies, then "essential" (90)
  • ASO skills are "essential" (95) for iOS, "irrelevant" (10) for non-mobile
  • fal- skills* are "irrelevant" (10) unless media processing detected
  • asc- skills* are "irrelevant" (5) for non-Apple projects
  • remotion-best-practices is "essential" (90) if remotion is in dependencies, "irrelevant" (10) otherwise
  • 营销技能在非Web项目中评分为“有用”(50分)——用户有时会在任何项目中进行营销
  • Stripe/支付技能默认评分为“有用”(50分),除非依赖项中包含stripe,此时为“核心”(90分)
  • ASO技能在iOS项目中为“核心”(95分),在非移动项目中为“无关”(10分)
  • fal-*技能在未检测到媒体处理时为“无关”(10分)
  • asc-*技能在非苹果项目中为“无关”(5分)
  • remotion-best-practices在依赖项中包含remotion时为“核心”(90分),否则为“无关”(10分)

Step 4: Check for Overrides

步骤4:检查覆盖配置

If
.claude/skill-manager.json
already exists, read the
overrides
section:
json
{
  "overrides": {
    "forceEnable": ["seo-audit"],
    "forceDisable": ["fal-audio"]
  }
}
  • forceEnable
    : Move these skills to "essential" tier regardless of scoring
  • forceDisable
    : Move these skills to "irrelevant" tier regardless of scoring
如果
.claude/skill-manager.json
已存在,读取其中的
overrides
部分:
json
{
  "overrides": {
    "forceEnable": ["seo-audit"],
    "forceDisable": ["fal-audio"]
  }
}
  • forceEnable
    :将这些技能移至“核心”等级,无论评分结果如何
  • forceDisable
    :将这些技能移至“无关”等级,无论评分结果如何

Step 5: Generate
.claude/skill-manager.json

步骤5:生成
.claude/skill-manager.json

Create the
.claude/
directory if it doesn't exist. Write the analysis file:
json
{
  "version": 1,
  "generatedAt": "2026-02-23T12:00:00Z",
  "detectedStack": {
    "primary": "Next.js",
    "languages": ["TypeScript", "JavaScript"],
    "frameworks": ["Next.js", "React", "Tailwind CSS"],
    "platforms": ["Web"],
    "signals": {
      "package.json": true,
      "tsconfig.json": true,
      "next.config.ts": true
    }
  },
  "skills": {
    "page-cro": { "tier": "essential", "score": 95, "reason": "Web CRO directly applicable" },
    "mobile-ios-design": { "tier": "irrelevant", "score": 5, "reason": "No iOS stack detected" }
  },
  "disabled": ["mobile-ios-design", "asc-xcode-build"],
  "enabled": ["page-cro", "stripe-integration"],
  "universal": ["find-skills", "brainstorming"],
  "overrides": {
    "forceEnable": [],
    "forceDisable": []
  },
  "stats": {
    "total": 53,
    "essential": 20,
    "useful": 10,
    "irrelevant": 12,
    "universal": 11
  }
}
如果
.claude/
目录不存在则创建它。写入分析文件:
json
{
  "version": 1,
  "generatedAt": "2026-02-23T12:00:00Z",
  "detectedStack": {
    "primary": "Next.js",
    "languages": ["TypeScript", "JavaScript"],
    "frameworks": ["Next.js", "React", "Tailwind CSS"],
    "platforms": ["Web"],
    "signals": {
      "package.json": true,
      "tsconfig.json": true,
      "next.config.ts": true
    }
  },
  "skills": {
    "page-cro": { "tier": "essential", "score": 95, "reason": "Web CRO directly applicable" },
    "mobile-ios-design": { "tier": "irrelevant", "score": 5, "reason": "No iOS stack detected" }
  },
  "disabled": ["mobile-ios-design", "asc-xcode-build"],
  "enabled": ["page-cro", "stripe-integration"],
  "universal": ["find-skills", "brainstorming"],
  "overrides": {
    "forceEnable": [],
    "forceDisable": []
  },
  "stats": {
    "total": 53,
    "essential": 20,
    "useful": 10,
    "irrelevant": 12,
    "universal": 11
  }
}

Step 6: Update CLAUDE.md

步骤6:更新CLAUDE.md

If "re-enable all" was requested:

如果用户请求“re-enable all”:

  1. Remove the
    <!-- SKILL-MANAGER:START -->
    ...
    <!-- SKILL-MANAGER:END -->
    block from CLAUDE.md
  2. Delete
    .claude/skill-manager.json
  3. Confirm to user: "All skills re-enabled."
  4. Stop here.
  1. 从CLAUDE.md中移除
    <!-- SKILL-MANAGER:START -->
    ...
    <!-- SKILL-MANAGER:END -->
  2. 删除
    .claude/skill-manager.json
  3. 向用户确认:“所有技能已重新启用。”
  4. 到此结束。

Normal flow:

正常流程:

Build the injection block:
markdown
<!-- SKILL-MANAGER:START -->
构建插入块:
markdown
<!-- SKILL-MANAGER:START -->

Disabled Skills

已禁用技能

The following skills are not relevant to this project and should be ignored (do not invoke them):
  • mobile-ios-design
    — No iOS stack detected
  • asc-xcode-build
    — No Xcode project detected
  • ...
Stack: Next.js / TypeScript / React / Tailwind CSS Last analyzed: 2026-02-23 Re-run: Say "manage skills" or "/skill-manager" to re-analyze Re-enable all: Say "re-enable all skills" to remove this section
<!-- SKILL-MANAGER:END -->
undefined
以下技能与本项目无关,应被忽略(请勿调用):
  • mobile-ios-design
    — 未检测到iOS技术栈
  • asc-xcode-build
    — 未检测到Xcode项目
  • ...
技术栈:Next.js / TypeScript / React / Tailwind CSS 最后分析时间:2026-02-23 重新分析:说出“manage skills”或“/skill-manager”以重新分析 重新启用全部:说出“re-enable all skills”以移除本区域
<!-- SKILL-MANAGER:END -->
undefined

Injection rules:

插入规则:

  1. Read the current CLAUDE.md (or note it doesn't exist)
  2. If markers exist: Replace everything between
    <!-- SKILL-MANAGER:START -->
    and
    <!-- SKILL-MANAGER:END -->
    (inclusive) with the new block
  3. If no markers: Append the block to the end of CLAUDE.md with a blank line separator
  4. If no CLAUDE.md: Create it with only the skill-manager block
IMPORTANT: Do NOT modify any other content in CLAUDE.md. Only touch the bounded marker section.
  1. 读取当前CLAUDE.md(或记录其不存在)
  2. 如果存在标记:替换
    <!-- SKILL-MANAGER:START -->
    <!-- SKILL-MANAGER:END -->
    之间的所有内容(包括标记本身)为新块
  3. 如果没有标记:在CLAUDE.md末尾添加该块,并用空行分隔
  4. 如果没有CLAUDE.md:创建该文件,仅包含skill-manager块
重要:请勿修改CLAUDE.md中的任何其他内容。仅修改标记限定的区域。

Step 7: Suggest New Skills (Optional)

步骤7:推荐新技能(可选)

If the detected stack suggests skills that aren't installed, mention them:
Based on your Next.js project, you might also want:
  • npx skills find nextjs
    for Next.js-specific skills
  • npx skills find react
    for React patterns
Only suggest if there's a clear gap. Don't overwhelm with suggestions.
如果检测到的技术栈提示存在未安装的技能,可以提及:
基于你的Next.js项目,你可能还需要:
  • npx skills find nextjs
    获取Next.js专属技能
  • npx skills find react
    获取React模式
仅在存在明显缺口时推荐。不要用过多建议淹没用户。

Step 8: Report Summary

步骤8:报告总结

Print a summary table:
Skill Manager Analysis Complete

Stack: Next.js / TypeScript / React
Total skills: 53
  Essential: 20 (kept active)
  Useful: 10 (kept active)
  Irrelevant: 12 (disabled in CLAUDE.md)
  Universal: 11 (always active)

Disabled skills written to CLAUDE.md
Full analysis: .claude/skill-manager.json
打印总结表格:
Skill Manager分析完成

技术栈:Next.js / TypeScript / React
总技能数:53
  核心:20个(保持激活)
  有用:10个(保持激活)
  无关:12个(在CLAUDE.md中禁用)
  通用:11个(始终激活)

已禁用技能已写入CLAUDE.md
完整分析:.claude/skill-manager.json

Automated Mode (Python Script)

自动化模式(Python脚本)

If Python 3.9+ is available, you can run the analysis script for faster, deterministic results:
bash
python3 skills/skill-manager/scripts/analyze_project.py --analyze "$(pwd)"
Or just detect the stack:
bash
python3 skills/skill-manager/scripts/analyze_project.py --detect-stack "$(pwd)"
The script path is relative to where the skill is installed. Find it via:
bash
undefined
如果Python 3.9+可用,你可以运行分析脚本以获得更快、更确定的结果:
bash
python3 skills/skill-manager/scripts/analyze_project.py --analyze "$(pwd)"
或者仅检测技术栈:
bash
python3 skills/skill-manager/scripts/analyze_project.py --detect-stack "$(pwd)"
脚本路径相对于技能安装位置。可以通过以下命令找到:
bash
undefined

The skill is installed at ~/.agents/skills/skill-manager/

技能安装在~/.agents/skills/skill-manager/

python3 ~/.agents/skills/skill-manager/scripts/analyze_project.py --analyze "$(pwd)"

The script outputs JSON to stdout. Use the output to populate `.claude/skill-manager.json` and the CLAUDE.md injection block.

If Python is not available, follow the manual steps above — they produce the same result.
python3 ~/.agents/skills/skill-manager/scripts/analyze_project.py --analyze "$(pwd)"

脚本会向标准输出输出JSON。使用该输出来填充`.claude/skill-manager.json`和CLAUDE.md的插入块。

如果Python不可用,请遵循上述手动步骤——结果一致。

Idempotency

幂等性

  • Running this skill multiple times is safe
  • The CLAUDE.md section is replaced, never duplicated
  • The JSON file is overwritten with fresh analysis
  • User overrides in the JSON are preserved across re-runs
  • 多次运行此技能是安全的
  • CLAUDE.md中的区域会被替换,不会重复
  • JSON文件会被覆盖为最新分析结果
  • JSON中的用户覆盖配置在重新运行时会被保留

Edge Cases

边缘情况

  • Monorepo: Union all detected stacks from subdirectories. More skills stay enabled.
  • Empty project: Keep all skills active. Warn user: "No stack detected."
  • New skills installed since last run: Automatically picked up on re-run.
  • Skill uninstalled: Removed from disabled list on re-run.
  • CLAUDE.md has other content: Only the marker-bounded section is touched.
  • 单体仓库:合并子目录中所有检测到的技术栈。更多技能会保持启用。
  • 空项目:保持所有技能激活。向用户警告:“未检测到技术栈。”
  • 自上次运行后安装新技能:重新运行时会自动识别。
  • 技能已卸载:重新运行时会从禁用列表中移除。
  • CLAUDE.md包含其他内容:仅修改标记限定的区域。