skill-manager
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill 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):
| File | Stack Signal |
|---|---|
| Node.js — read for framework (next, react, vue, angular, svelte, etc.) |
| iOS/macOS native |
| Swift Package (iOS/macOS) |
| Rust |
| Go |
| Python |
| Ruby |
| PHP |
| Android/JVM |
| Flutter/Dart |
| Containerized |
| Jamstack deployment |
| TypeScript |
| Swift CLI/Server |
Read dependencies to identify frameworks:
package.json- -> Next.js
next - -> React
react - -> Vue
vue - -> Angular
@angular/core - -> Svelte
svelte - -> Payment processing
stripe - /
express/fastify-> Node serverhono - -> Tailwind CSS
tailwindcss - -> Video/media processing
remotion
Monorepo detection: If the project has , , or a workspace config in package.json, scan subdirectories too and union all detected stacks.
packages/apps/Empty project: If no recognizable files are found, warn the user and keep all skills active.
检查项目根目录(当前工作目录)中的以下文件:
| 文件 | 技术栈信号 |
|---|---|
| Node.js — 读取以识别框架(next、react、vue、angular、svelte等) |
| iOS/macOS原生 |
| Swift包(iOS/macOS) |
| Rust |
| Go |
| Python |
| Ruby |
| PHP |
| Android/JVM |
| Flutter/Dart |
| 容器化部署 |
| Jamstack部署 |
| TypeScript |
根目录/Sources中的 | Swift CLI/服务器 |
读取的依赖项以识别框架:
package.json- -> Next.js
next - -> React
react - -> Vue
vue - -> Angular
@angular/core - -> Svelte
svelte - -> 支付处理
stripe - /
express/fastify-> Node服务器hono - -> Tailwind CSS
tailwindcss - -> 视频/媒体处理
remotion
单体仓库检测:如果项目包含、,或者package.json中有工作区配置,也要扫描子目录并合并所有检测到的技术栈。
packages/apps/空项目:如果未找到可识别的文件,向用户发出警告并保持所有技能激活。
Step 2: Read Installed Skills
步骤2:读取已安装的技能
Read to get the list of all globally installed skills. For each skill, note:
~/.agents/.skill-lock.json- (the key)
name - (GitHub repo)
source - (where the SKILL.md lives)
skillPath
读取以获取所有全局安装技能的列表。对于每个技能,记录:
~/.agents/.skill-lock.json- (键名)
name - (GitHub仓库)
source - (SKILL.md所在位置)
skillPath
Step 3: Score Each Skill
步骤3:为每个技能评分
Assign each skill to a tier based on the detected tech stack.
根据检测到的技术栈为每个技能分配等级。
Tier Definitions
等级定义
| Tier | Score Range | Meaning |
|---|---|---|
| essential | 80-100 | Directly relevant to detected stack |
| useful | 40-79 | Cross-platform utility, may be used |
| irrelevant | 0-39 | Wrong platform/domain entirely |
| universal | N/A | Never 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-managerfind-skills, skill-creator, writing-skills, brainstorming,
writing-plans, test-driven-development, dispatching-parallel-agents,
subagent-driven-development, using-superpowers, agentation, skill-managerDomain Mapping
领域映射
iOS/macOS Native Skills — essential when Swift/Xcode detected:
- (iOS UI/SwiftUI)
mobile-ios-design - (Xcode build/archive)
asc-xcode-build - (App Store metadata)
asc-metadata-sync - (App Store localization)
asc-localize-metadata - (IAP localization)
asc-subscription-localization - (territory pricing)
asc-ppp-pricing - (screenshot automation)
asc-shots-pipeline - (macOS notarization)
asc-notarization - (ASO)
app-store-optimization - ,
aso-full-audit,aso-optimize,aso-competitor,aso-prelaunchaso
Web/SaaS Marketing Skills — essential when web framework detected:
- ,
page-cro,signup-flow-cro,onboarding-cro,popup-croform-cro - ,
copywriting,copy-editingcontent-strategy - ,
seo-audit,programmatic-seoschema-markup - ,
analytics-trackingab-test-setup - ,
email-sequencesocial-content - ,
marketing-ideasmarketing-psychology - ,
free-tool-strategylaunch-strategy - ,
paid-adsreferral-program - ,
pricing-strategycompetitor-alternatives audit-website
Payment Skills — essential when stripe/payment dependency detected:
stripe-integrationpaywall-upgrade-crochurn-prevention
Media/AI Generation Skills — essential when media dependencies detected:
- ,
fal-audio,fal-generate,fal-image-edit,fal-platform,fal-upscalefal-workflow remotion-best-practices
iOS/macOS原生技能 — 当检测到Swift/Xcode时为核心技能:
- (iOS UI/SwiftUI)
mobile-ios-design - (Xcode构建/归档)
asc-xcode-build - (App Store元数据同步)
asc-metadata-sync - (App Store本地化)
asc-localize-metadata - (内购本地化)
asc-subscription-localization - (区域定价)
asc-ppp-pricing - (截图自动化)
asc-shots-pipeline - (macOS公证)
asc-notarization - (ASO)
app-store-optimization - ,
aso-full-audit,aso-optimize,aso-competitor,aso-prelaunchaso
Web/SaaS营销技能 — 当检测到Web框架时为核心技能:
- ,
page-cro,signup-flow-cro,onboarding-cro,popup-croform-cro - ,
copywriting,copy-editingcontent-strategy - ,
seo-audit,programmatic-seoschema-markup - ,
analytics-trackingab-test-setup - ,
email-sequencesocial-content - ,
marketing-ideasmarketing-psychology - ,
free-tool-strategylaunch-strategy - ,
paid-adsreferral-program - ,
pricing-strategycompetitor-alternatives audit-website
支付技能 — 当检测到stripe/支付依赖时为核心技能:
stripe-integrationpaywall-upgrade-crochurn-prevention
媒体/AI生成技能 — 当检测到媒体依赖时为核心技能:
- ,
fal-audio,fal-generate,fal-image-edit,fal-platform,fal-upscalefal-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 already exists, read the section:
.claude/skill-manager.jsonoverridesjson
{
"overrides": {
"forceEnable": ["seo-audit"],
"forceDisable": ["fal-audio"]
}
}- : Move these skills to "essential" tier regardless of scoring
forceEnable - : Move these skills to "irrelevant" tier regardless of scoring
forceDisable
如果已存在,读取其中的部分:
.claude/skill-manager.jsonoverridesjson
{
"overrides": {
"forceEnable": ["seo-audit"],
"forceDisable": ["fal-audio"]
}
}- :将这些技能移至“核心”等级,无论评分结果如何
forceEnable - :将这些技能移至“无关”等级,无论评分结果如何
forceDisable
Step 5: Generate .claude/skill-manager.json
.claude/skill-manager.json步骤5:生成.claude/skill-manager.json
.claude/skill-manager.jsonCreate the directory if it doesn't exist. Write the analysis file:
.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
}
}如果目录不存在则创建它。写入分析文件:
.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”:
- Remove the ...
<!-- SKILL-MANAGER:START -->block from CLAUDE.md<!-- SKILL-MANAGER:END --> - Delete
.claude/skill-manager.json - Confirm to user: "All skills re-enabled."
- Stop here.
- 从CLAUDE.md中移除...
<!-- SKILL-MANAGER:START -->块<!-- SKILL-MANAGER:END --> - 删除
.claude/skill-manager.json - 向用户确认:“所有技能已重新启用。”
- 到此结束。
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):
- — No iOS stack detected
mobile-ios-design - — No Xcode project detected
asc-xcode-build - ...
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以下技能与本项目无关,应被忽略(请勿调用):
- — 未检测到iOS技术栈
mobile-ios-design - — 未检测到Xcode项目
asc-xcode-build - ...
技术栈:Next.js / TypeScript / React / Tailwind CSS
最后分析时间:2026-02-23
重新分析:说出“manage skills”或“/skill-manager”以重新分析
重新启用全部:说出“re-enable all skills”以移除本区域
<!-- SKILL-MANAGER:END -->
undefinedInjection rules:
插入规则:
- Read the current CLAUDE.md (or note it doesn't exist)
- If markers exist: Replace everything between and
<!-- SKILL-MANAGER:START -->(inclusive) with the new block<!-- SKILL-MANAGER:END --> - If no markers: Append the block to the end of CLAUDE.md with a blank line separator
- 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.
- 读取当前CLAUDE.md(或记录其不存在)
- 如果存在标记:替换和
<!-- SKILL-MANAGER:START -->之间的所有内容(包括标记本身)为新块<!-- SKILL-MANAGER:END --> - 如果没有标记:在CLAUDE.md末尾添加该块,并用空行分隔
- 如果没有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:
for Next.js-specific skillsnpx skills find nextjs for React patternsnpx skills find react
Only suggest if there's a clear gap. Don't overwhelm with suggestions.
如果检测到的技术栈提示存在未安装的技能,可以提及:
基于你的Next.js项目,你可能还需要:
获取Next.js专属技能npx skills find nextjs 获取React模式npx skills find 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.jsonAutomated 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
undefinedThe 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包含其他内容:仅修改标记限定的区域。