refactor: 项目技能拆分到 skills-projects/

将 coolbuy (3) 和 enjoysa (2) 共 5 个项目特定技能从 skills/ 移至 skills-projects/,
保持通用技能与业务项目技能分离。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 11:21:53 +10:30
parent 40b36a8e41
commit ea266e9cce
14 changed files with 100 additions and 94 deletions

View File

@@ -74,42 +74,6 @@
], ],
"strict": false "strict": false
}, },
{
"name": "coolbuy-legacy-plugin",
"source": "./skills/coolbuy-legacy-plugin",
"description": "酷采2.0团购管理系统测试与维护。用于酷采2.0系统的功能测试、问题排查、需求验证和对比测试。",
"version": "1.0.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{
"name": "coolbuy-paas-plugin",
"source": "./skills/coolbuy-paas-plugin",
"description": "酷采3.0 SaaS 租户端开发与测试。用于商品管理、订单管理等业务模块开发以及酷采2.0系统对比测试。",
"version": "1.3.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{
"name": "coolbuy-platform-plugin",
"source": "./skills/coolbuy-platform-plugin",
"description": "Coolbuy SaaS 平台管理端开发与部署。用于平台端前后端开发、租户管理、部署发布、翻译检查等任务。",
"version": "1.0.9",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{ {
"name": "data-excel-plugin", "name": "data-excel-plugin",
"source": "./skills/data-excel-plugin", "source": "./skills/data-excel-plugin",
@@ -186,31 +150,6 @@
], ],
"strict": false "strict": false
}, },
{
"name": "enjoysa-deploy-plugin",
"source": "./skills/enjoysa-deploy-plugin",
"description": "EnjoySA 项目部署到新加坡服务器",
"version": "1.0.0",
"category": "devops",
"keywords": [
"devops",
"deployment",
"operations"
],
"strict": false
},
{
"name": "enjoysa-plugin",
"source": "./skills/enjoysa-plugin",
"description": "Plugin for enjoysa",
"version": "1.0.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{ {
"name": "executing-plans-plugin", "name": "executing-plans-plugin",
"source": "./skills/executing-plans-plugin", "source": "./skills/executing-plans-plugin",
@@ -608,6 +547,67 @@
], ],
"strict": false "strict": false
}, },
{
"name": "coolbuy-legacy-plugin",
"source": "./skills-projects/coolbuy-legacy-plugin",
"description": "酷采2.0团购管理系统测试与维护。用于酷采2.0系统的功能测试、问题排查、需求验证和对比测试。",
"version": "1.0.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{
"name": "coolbuy-paas-plugin",
"source": "./skills-projects/coolbuy-paas-plugin",
"description": "酷采3.0 SaaS 租户端开发与测试。用于商品管理、订单管理等业务模块开发以及酷采2.0系统对比测试。",
"version": "1.3.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{
"name": "coolbuy-platform-plugin",
"source": "./skills-projects/coolbuy-platform-plugin",
"description": "Coolbuy SaaS 平台管理端开发与部署。用于平台端前后端开发、租户管理、部署发布、翻译检查等任务。",
"version": "1.0.9",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{
"name": "enjoysa-deploy-plugin",
"source": "./skills-projects/enjoysa-deploy-plugin",
"description": "EnjoySA 项目部署到新加坡服务器",
"version": "1.0.0",
"category": "devops",
"keywords": [
"devops",
"deployment",
"operations"
],
"strict": false
},
{
"name": "enjoysa-plugin",
"source": "./skills-projects/enjoysa-plugin",
"description": "Plugin for enjoysa",
"version": "1.0.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{ {
"name": "dotfiles-plugin", "name": "dotfiles-plugin",
"source": "./skills-personal/dotfiles-plugin", "source": "./skills-personal/dotfiles-plugin",

View File

@@ -18,11 +18,17 @@ Claude Code 技能市场 + MCP 配置管理工具。
``` ```
ai-proj-helper/ ai-proj-helper/
├── skills/ # 公共技能Git 版本控制) ├── skills/ # 通用技能Git 版本控制)
│ ├── ai-proj-plugin/ │ ├── ai-proj-plugin/
│ │ ├── .claude-plugin/plugin.json │ │ ├── .claude-plugin/plugin.json
│ │ └── skills/SKILL.md │ │ └── skills/SKILL.md
│ └── ... │ └── ...
├── skills-projects/ # 项目技能Git 版本控制)
│ ├── coolbuy-legacy-plugin/
│ ├── coolbuy-paas-plugin/
│ ├── coolbuy-platform-plugin/
│ ├── enjoysa-plugin/
│ └── enjoysa-deploy-plugin/
├── skills-personal/ # 个人技能(.gitignore 排除) ├── skills-personal/ # 个人技能(.gitignore 排除)
│ └── qiudl-personal-plugin/ │ └── qiudl-personal-plugin/
├── claude-config.yaml # 技能启用/禁用 + MCP 配置 ├── claude-config.yaml # 技能启用/禁用 + MCP 配置
@@ -58,7 +64,12 @@ skills:
| staging | https://ai-staging.pipexerp.com/api/v1 | | staging | https://ai-staging.pipexerp.com/api/v1 |
| prod | https://ai.pipexerp.com/api/v1 | | prod | https://ai.pipexerp.com/api/v1 |
## 项目技能
`skills-projects/` 存放特定业务项目的技能coolbuy、enjoysa 等),由 Git 版本控制。
## 个人技能 ## 个人技能
`skills-personal/` 目录不被 Git 跟踪,用于存放个人配置和工具。 `skills-personal/` 目录不被 Git 跟踪,用于存放个人配置和工具。
个人技能同样会被 `generate-marketplace.py` 扫描并加入 marketplace.json。
两者都会被 `generate-marketplace.py` 扫描并加入 marketplace.json。

View File

@@ -33,48 +33,34 @@ ai-proj-helper/
├── init.sh # MCP + marketplace 初始化 ├── init.sh # MCP + marketplace 初始化
├── sync-skills.sh # 同步本地技能 ├── sync-skills.sh # 同步本地技能
├── generate-marketplace.py # marketplace 生成器 ├── generate-marketplace.py # marketplace 生成器
├── skills/ # 公共技能 (48Git 版本控制) ├── skills/ # 通用技能 (42Git 版本控制)
│ ├── ai-proj-plugin/ │ ├── ai-proj-plugin/
│ ├── dev-coding-plugin/ │ ├── dev-coding-plugin/
│ ├── feishu-plugin/ │ ├── feishu-plugin/
│ └── ... │ └── ...
├── skills-projects/ # 项目技能 (5 个Git 版本控制)
│ ├── coolbuy-*-plugin/
│ └── enjoysa-*-plugin/
└── skills-personal/ # 个人技能 (.gitignore 排除) └── skills-personal/ # 个人技能 (.gitignore 排除)
└── qiudl-personal-plugin/ └── qiudl-personal-plugin/
``` ```
## 可用技能 (48 公共) ## 可用技能
### 开发 ### 通用技能 (skills/, 42 个)
ai-proj, dev, dev-arch, dev-coding, dev-test, frontend-design, agent-swarm - **开发**: ai-proj, dev, dev-arch, dev-coding, dev-test, frontend-design, agent-swarm
- **DevOps**: ops-tools, ops-servers, req-deploy
- **需求管理**: req, req-commands, req-dev, req-prd, req-review, req-test-gate, req-workflow, requirement, executing-plans
- **业务**: biz-plan, biz-contract, biz-ops, finance
- **集成**: feishu, feishu-bitable, feishu-docx, wecom, siyuan, siyuan-to-feishu, data-excel, doubao-voice
- **通用工具**: openclaw, openclaw-ops, pull-request, finishing-a-development-branch, skill-manager, gitea
- **会话管理**: save-session, reload-session, read-session, search-sessions, session
### DevOps ### 项目技能 (skills-projects/, 5 个)
ops-tools, ops-servers, enjoysa-deploy, req-deploy - **酷采**: coolbuy-legacy, coolbuy-paas, coolbuy-platform
- **畅游南澳**: enjoysa, enjoysa-deploy
### 需求管理
req, req-commands, req-dev, req-prd, req-review, req-test-gate, req-workflow, requirement, executing-plans
### 业务
biz-plan, biz-contract, biz-ops, finance
### 集成
feishu, feishu-bitable, feishu-docx, wecom, siyuan, siyuan-to-feishu, data-excel, doubao-voice
### 项目
coolbuy-legacy, coolbuy-paas, coolbuy-platform, enjoysa, openclaw, openclaw-ops
### 会话管理
save-session, reload-session, read-session, search-sessions, session
### 工具
pull-request, finishing-a-development-branch, skill-manager, dotfiles, gitea
## 配置管理 ## 配置管理

View File

@@ -12,6 +12,7 @@ except ImportError:
# Paths # Paths
script_dir = Path(__file__).parent.resolve() script_dir = Path(__file__).parent.resolve()
skills_dir = script_dir / "skills" skills_dir = script_dir / "skills"
projects_dir = script_dir / "skills-projects"
personal_dir = script_dir / "skills-personal" personal_dir = script_dir / "skills-personal"
config_file = script_dir / "claude-config.yaml" config_file = script_dir / "claude-config.yaml"
marketplace_file = script_dir / ".claude-plugin" / "marketplace.json" marketplace_file = script_dir / ".claude-plugin" / "marketplace.json"
@@ -117,6 +118,14 @@ print("Scanning skills/ ...")
plugins.extend(scan_plugins(skills_dir, "./skills", disabled_skills)) plugins.extend(scan_plugins(skills_dir, "./skills", disabled_skills))
print(f" Found {len(plugins)} public plugins") print(f" Found {len(plugins)} public plugins")
projects_count = 0
if projects_dir.is_dir():
print("Scanning skills-projects/ ...")
projects_plugins = scan_plugins(projects_dir, "./skills-projects", disabled_skills)
projects_count = len(projects_plugins)
plugins.extend(projects_plugins)
print(f" Found {projects_count} project plugins")
personal_count = 0 personal_count = 0
if personal_skills_dir.is_dir(): if personal_skills_dir.is_dir():
print(f"Scanning {personal_dir_name}/ ...") print(f"Scanning {personal_dir_name}/ ...")
@@ -147,4 +156,4 @@ marketplace_file.parent.mkdir(parents=True, exist_ok=True)
with open(marketplace_file, 'w') as f: with open(marketplace_file, 'w') as f:
json.dump(marketplace, f, indent=2, ensure_ascii=False) json.dump(marketplace, f, indent=2, ensure_ascii=False)
print(f"\n✓ Generated marketplace.json with {len(plugins)} plugins ({personal_count} personal)") print(f"\n✓ Generated marketplace.json with {len(plugins)} plugins ({projects_count} project, {personal_count} personal)")