skill-flow 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -22
- package/README.zh.md +62 -24
- package/dist/cli.js +35 -5
- package/dist/cli.js.map +1 -1
- package/dist/domain/types.d.ts +25 -0
- package/dist/services/deployment-applier.js +6 -0
- package/dist/services/deployment-applier.js.map +1 -1
- package/dist/services/deployment-planner.d.ts +5 -0
- package/dist/services/deployment-planner.js +198 -16
- package/dist/services/deployment-planner.js.map +1 -1
- package/dist/services/doctor-service.js +1 -1
- package/dist/services/doctor-service.js.map +1 -1
- package/dist/services/skill-flow.d.ts +28 -2
- package/dist/services/skill-flow.js +354 -3
- package/dist/services/skill-flow.js.map +1 -1
- package/dist/services/source-service.d.ts +1 -1
- package/dist/services/source-service.js +15 -18
- package/dist/services/source-service.js.map +1 -1
- package/dist/state/store.d.ts +3 -0
- package/dist/state/store.js +10 -0
- package/dist/state/store.js.map +1 -1
- package/dist/tests/skill-flow.test.js +1427 -0
- package/dist/tests/skill-flow.test.js.map +1 -1
- package/dist/tui/config-app.js +53 -4
- package/dist/tui/config-app.js.map +1 -1
- package/dist/tui/find-app.d.ts +9 -0
- package/dist/tui/find-app.js +117 -0
- package/dist/tui/find-app.js.map +1 -0
- package/dist/utils/builtin-git-sources.d.ts +5 -0
- package/dist/utils/builtin-git-sources.js +23 -0
- package/dist/utils/builtin-git-sources.js.map +1 -0
- package/dist/utils/find-command.d.ts +2 -0
- package/dist/utils/find-command.js +21 -0
- package/dist/utils/find-command.js.map +1 -0
- package/dist/utils/format.d.ts +2 -1
- package/dist/utils/format.js +19 -1
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/github-catalog.d.ts +1 -0
- package/dist/utils/github-catalog.js +25 -0
- package/dist/utils/github-catalog.js.map +1 -0
- package/dist/utils/naming.d.ts +9 -1
- package/dist/utils/naming.js +33 -6
- package/dist/utils/naming.js.map +1 -1
- package/package.json +10 -1
- package/.gstack/browse-network.log +0 -1
- package/.gstack/browse.json +0 -7
- package/.gstack/qa-reports/qa-report-skill-manager-2026-03-22.md +0 -60
- package/docs/DESIGN.md +0 -407
- package/docs/PRD/PRD-1.0.0.md +0 -1862
- package/docs/PRD/renew/PRD-0.0.0.md +0 -26
- package/docs/PRD/renew/PRD-0.0.1.md +0 -408
- package/docs/PRD/renew/PRD-0.0.2.md +0 -705
- package/docs/PRD/renew/PRD-0.0.3.md +0 -740
- package/docs/PRD/renew/PRD-0.0.4.md +0 -1494
- package/docs/README.md +0 -242
- package/docs/plan/PLAN_v1.0.0.md +0 -663
- package/docs/plan/PLAN_v1.0.1.md +0 -814
- package/docs/refrences/README.md +0 -7
- package/docs/refrences/agent-skill-paths.md +0 -252
- package/docs/refrences/naming-dedupe-warning-rules.md +0 -482
- package/img/img-1.jpg +0 -0
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Skill Flow
|
|
2
2
|
|
|
3
3
|
> **Workflow-first management for AI agent skills.**
|
|
4
|
-
>
|
|
4
|
+
> Skill grouping · Deploy everywhere · Clear config · Quick diagnosis
|
|
5
5
|
|
|
6
6
|

|
|
7
7
|
|
|
@@ -10,26 +10,28 @@
|
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](./LICENSE)
|
|
12
12
|
|
|
13
|
-
As your AI agent skills grow, management
|
|
13
|
+
As your AI agent skills grow, management gets messy: one Git repo has a bunch of related skills, they end up scattered across different agents, and updates become a headache.
|
|
14
14
|
|
|
15
|
-
`skill-flow`
|
|
15
|
+
`skill-flow` fixes this by organizing skills around groups: add skill groups from Git repos, pick where to deploy, update all at once, spot problems fast. Keep your skill setup clean, organized, and stress-free.
|
|
16
16
|
|
|
17
17
|
## Key Features
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
One Git source = one workflow group. Related skills stay together, updates and maintenance happen at the workflow level.
|
|
19
|
+

|
|
21
20
|
|
|
22
|
-
**
|
|
23
|
-
|
|
21
|
+
**Skill-Based Grouping**
|
|
22
|
+
One Git repo = one skills group. Related skills stay together, updates and maintenance happen at the group level.
|
|
23
|
+
|
|
24
|
+
**Deploy Everywhere**
|
|
25
|
+
Set it up once, deploy to multiple agents (Claude Code, Cursor, Windsurf, and 13+ targets).
|
|
24
26
|
|
|
25
27
|
**Interactive Terminal UI**
|
|
26
28
|
Intuitive TUI: view groups → select skills → choose targets → save configuration.
|
|
27
29
|
|
|
28
30
|
**Explicit State Tracking**
|
|
29
|
-
`manifest.json`
|
|
31
|
+
`manifest.json` = what you want, `lock.json` = what's actually installed. Both are readable and queryable.
|
|
30
32
|
|
|
31
33
|
**Health Diagnosis**
|
|
32
|
-
`doctor`
|
|
34
|
+
`doctor` catches broken links, mismatches, and conflicts — tells you exactly what's wrong.
|
|
33
35
|
|
|
34
36
|
## Installation
|
|
35
37
|
|
|
@@ -64,7 +66,7 @@ npm link
|
|
|
64
66
|
# Add a skill source
|
|
65
67
|
skill-flow add /path/to/skills-repo
|
|
66
68
|
|
|
67
|
-
# View
|
|
69
|
+
# View skills groups
|
|
68
70
|
skill-flow list
|
|
69
71
|
|
|
70
72
|
# Interactive configuration (select skills and targets)
|
|
@@ -76,32 +78,40 @@ skill-flow update --all
|
|
|
76
78
|
# Health check
|
|
77
79
|
skill-flow doctor
|
|
78
80
|
|
|
79
|
-
# Remove a
|
|
81
|
+
# Remove a skills group
|
|
80
82
|
skill-flow uninstall my-source-id
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
`add <source>` supports local paths, `owner/repo`,
|
|
85
|
+
`add <source>` supports local paths, `owner/repo`, full https/ssh Git URLs, GitHub tree URLs, and `clawhub:<slug>[@version]`.
|
|
86
|
+
|
|
87
|
+
By default, `add` preselects all discovered skills and all detected agent targets. When `--path <repoSubpath>` is provided, the full repo is still imported, but only skills under that path are preselected.
|
|
84
88
|
|
|
85
89
|
## Command Reference
|
|
86
90
|
|
|
87
91
|
| Command | Description |
|
|
88
92
|
|---|---|
|
|
89
|
-
| `add <source>` | Add
|
|
90
|
-
| `
|
|
93
|
+
| `add <source>` | Add a skill source (Git repo or ClawHub) |
|
|
94
|
+
| `find <query>` | Search installed skills, built-in Git catalogs, and ClawHub |
|
|
95
|
+
| `search <query>` | Alias of `find` |
|
|
96
|
+
| `list` | Show skills groups |
|
|
91
97
|
| `config` | Open interactive configuration UI |
|
|
92
|
-
| `update [sourceId] --all` | Update
|
|
93
|
-
| `doctor` |
|
|
94
|
-
| `uninstall <sourceIds...>` | Remove
|
|
98
|
+
| `update [sourceId] --all` | Update all skills and re-deploy |
|
|
99
|
+
| `doctor` | Check for problems |
|
|
100
|
+
| `uninstall <sourceIds...>` | Remove skills groups and their deployments |
|
|
101
|
+
|
|
102
|
+
When selected skills collide by name, `skill-flow` keeps identical duplicates as warnings and renames different-content collisions with repo/author-prefixed link names such as `gstack-browse`, `gstack(garrytan)-browse`, or `garrytan-skill-creator`.
|
|
95
103
|
|
|
96
104
|
## How It Works
|
|
97
105
|
|
|
98
106
|
**State Management**
|
|
99
|
-
- `~/.skillflow/manifest.json` - Your configuration
|
|
100
|
-
- `~/.skillflow/lock.json` - Actual
|
|
101
|
-
- `~/.skillflow/source/git/<source-id>/` - Git
|
|
107
|
+
- `~/.skillflow/manifest.json` - Your configuration (what you want)
|
|
108
|
+
- `~/.skillflow/lock.json` - Actual state (what's installed)
|
|
109
|
+
- `~/.skillflow/source/git/<source-id>/` - Git repo cache
|
|
110
|
+
- `~/.skillflow/source/clawhub/<source-id>/` - ClawHub cache
|
|
111
|
+
- `~/.skillflow/catalog/git/<source-id>/` - Built-in Git catalog cache
|
|
102
112
|
|
|
103
|
-
**
|
|
104
|
-
|
|
113
|
+
**Deployment Strategy**
|
|
114
|
+
Uses symlinks when possible, file copies when needed. Target directories are just deploy points — real state lives in lock.json.
|
|
105
115
|
|
|
106
116
|
## Supported Agents
|
|
107
117
|
|
|
@@ -109,6 +119,35 @@ Claude Code · Codex · Cursor · GitHub Copilot · Gemini CLI · OpenCode · Op
|
|
|
109
119
|
|
|
110
120
|
Customize target paths via environment variables (e.g., `SKILL_FLOW_TARGET_CLAUDE_CODE`).
|
|
111
121
|
|
|
122
|
+
Broader ecosystem path references, including project-level rules and instructions paths, are tracked in [docs/refrences/agent-skill-paths.md](./docs/refrences/agent-skill-paths.md).
|
|
123
|
+
|
|
124
|
+
## Built-in Discovery Catalogs
|
|
125
|
+
|
|
126
|
+
`find/search` searches built-in Git catalogs in addition to local installed skills and ClawHub.
|
|
127
|
+
|
|
128
|
+
For more reliable built-in Git catalog search, set `GITHUB_TOKEN` to avoid low unauthenticated GitHub API rate limits.
|
|
129
|
+
|
|
130
|
+
| Repository | Description | Stars | Skills |
|
|
131
|
+
| --- | --- | ---: | ---: |
|
|
132
|
+
| [anthropic-skills](https://github.com/anthropics/skills) | Official Agent Skills from Anthropic | 95,957 | 18 |
|
|
133
|
+
| [superpowers](https://github.com/obra/superpowers) | Agentic skills framework & development methodology | 89,816 | 14 |
|
|
134
|
+
| [everything-claude-code](https://github.com/affaan-m/everything-claude-code) | Performance optimization system for Claude Code, Codex, and beyond | 81,392 | 147 |
|
|
135
|
+
| [agency-agents](https://github.com/msitarzewski/agency-agents) | Specialized expert agents with personality and proven deliverables | 50,749 | — |
|
|
136
|
+
| [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) | Design intelligence for building professional UI/UX | 43,112 | 7 |
|
|
137
|
+
| [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) | 1,000+ battle-tested skills for Claude Code, Cursor, and more | 25,047 | 1,258 |
|
|
138
|
+
| [marketingskills](https://github.com/coreyhaines31/marketingskills) | Marketing skills — CRO, copywriting, SEO, analytics, growth | 14,099 | 33 |
|
|
139
|
+
| [agentskills](https://github.com/agentskills/agentskills) | Specification and documentation for Agent Skills | 13,342 | — |
|
|
140
|
+
| [taste-skill](https://github.com/Leonxlnx/taste-skill) | Gives your AI good taste — stops generic, boring output | 3,389 | 5 |
|
|
141
|
+
| [affiliate-skills](https://github.com/Affitor/affiliate-skills) | Full affiliate marketing funnel: research to deploy | 99 | 47 |
|
|
142
|
+
| [skills](https://github.com/luongnv89/skills) | Reusable skills to supercharge your AI agents | 1 | 29 |
|
|
143
|
+
| [awesome-claude-skills](https://github.com/ComposioHQ/awesome-claude-skills) | Community Claude skills collection | — | — |
|
|
144
|
+
| [myclaude](https://github.com/cexll/myclaude) | Personal Claude skills collection | — | — |
|
|
145
|
+
| [baoyu-skills](https://github.com/JimLiu/baoyu-skills) | Community skills collection | — | — |
|
|
146
|
+
| [dbskill](https://github.com/dontbesilent2025/dbskill) | Database-focused skills collection | — | — |
|
|
147
|
+
| [gstack](https://github.com/garrytan/gstack) | Gstack skills and workflows | — | — |
|
|
148
|
+
| [impeccable](https://github.com/pbakaus/impeccable) | Design and taste skills collection | — | — |
|
|
149
|
+
| [frontend-slides](https://github.com/zarazhangrui/frontend-slides) | Frontend presentation skills collection | — | — |
|
|
150
|
+
|
|
112
151
|
## Development
|
|
113
152
|
|
|
114
153
|
```bash
|
package/README.zh.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Skill Flow
|
|
2
2
|
|
|
3
|
-
> **让
|
|
4
|
-
>
|
|
3
|
+
> **让 Skill 管理回归本质。**
|
|
4
|
+
> Skill 分组 · 一键部署到多个工具 · 配置清晰 · 问题快速定位
|
|
5
5
|
|
|
6
6
|

|
|
7
7
|
|
|
@@ -10,26 +10,27 @@
|
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](./LICENSE)
|
|
12
12
|
|
|
13
|
-
当你的
|
|
13
|
+
当你的 Skill 越装越多,管理就会变得混乱:从 Github 仓库下载了一堆相关技能,部署到不同 agent 后结构被打散,更新和排障变得困难。
|
|
14
14
|
|
|
15
|
-
`skill-flow`
|
|
15
|
+
`skill-flow` 用 Skill 视角重新组织管理:以 Github 仓库作为 Skill 分组依据,选择部署目标,统一更新,快速诊断问题。让 Skill 管理清晰、可控、高效。
|
|
16
16
|
|
|
17
17
|
## 核心特性
|
|
18
|
+

|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
一个
|
|
20
|
+
**Skill 分组管理**
|
|
21
|
+
一个 Github 仓库 = 一个 Skill 分组。相关 Skills 保持在一起,更新和维护以分组为单位进行。
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
**一键部署到多个工具**
|
|
24
|
+
一次配置,部署到多个 agent(Claude Code、Cursor、Windsurf 等 13+ 目标)。
|
|
24
25
|
|
|
25
26
|
**交互式终端 UI**
|
|
26
27
|
直观的 TUI 界面:查看分组 → 选择技能 → 选择目标 → 保存配置。
|
|
27
28
|
|
|
28
29
|
**显式状态追踪**
|
|
29
|
-
`manifest.json` 记录你的意图,`lock.json`
|
|
30
|
+
`manifest.json` 记录你的意图,`lock.json` 记录实际安装状态。状态清晰可查。
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
`doctor`
|
|
32
|
+
**一键体检**
|
|
33
|
+
`doctor` 命令检测断链、不一致、冲突,精准定位问题。
|
|
33
34
|
|
|
34
35
|
## 安装
|
|
35
36
|
|
|
@@ -64,7 +65,7 @@ npm link
|
|
|
64
65
|
# 添加技能源
|
|
65
66
|
skill-flow add /path/to/skills-repo
|
|
66
67
|
|
|
67
|
-
#
|
|
68
|
+
# 查看 Skill 分组
|
|
68
69
|
skill-flow list
|
|
69
70
|
|
|
70
71
|
# 交互式配置(选择技能和目标)
|
|
@@ -76,32 +77,40 @@ skill-flow update --all
|
|
|
76
77
|
# 健康检查
|
|
77
78
|
skill-flow doctor
|
|
78
79
|
|
|
79
|
-
#
|
|
80
|
+
# 移除 Skill 分组
|
|
80
81
|
skill-flow uninstall my-source-id
|
|
81
82
|
```
|
|
82
83
|
|
|
83
|
-
`add <source>` 支持本地路径、`owner/repo
|
|
84
|
+
`add <source>` 支持本地路径、`owner/repo`、完整的 https/ssh Git URL、GitHub tree URL,以及 `clawhub:<slug>[@version]`。
|
|
85
|
+
|
|
86
|
+
`add` 默认会预选该源的全部 skill,以及当前检测到的全部 agent 目标。传入 `--path <repoSubpath>` 时,仍然会导入整个仓库,但只会预选该路径下的 skill。
|
|
84
87
|
|
|
85
88
|
## 命令参考
|
|
86
89
|
|
|
87
90
|
| 命令 | 说明 |
|
|
88
91
|
|---|---|
|
|
89
|
-
| `add <source>` |
|
|
90
|
-
| `
|
|
92
|
+
| `add <source>` | 添加技能源(Git 仓库或 ClawHub) |
|
|
93
|
+
| `find <query>` | 搜索本地已安装技能、内置 Git 仓库和 ClawHub |
|
|
94
|
+
| `search <query>` | `find` 的别名 |
|
|
95
|
+
| `list` | 显示 Skill 分组 |
|
|
91
96
|
| `config` | 打开交互式配置界面 |
|
|
92
|
-
| `update [sourceId] --all` |
|
|
93
|
-
| `doctor` |
|
|
94
|
-
| `uninstall <sourceIds...>` |
|
|
97
|
+
| `update [sourceId] --all` | 更新所有技能并重新部署 |
|
|
98
|
+
| `doctor` | 体检,排查问题 |
|
|
99
|
+
| `uninstall <sourceIds...>` | 移除 Skill 分组及其部署 |
|
|
100
|
+
|
|
101
|
+
当已选 skill 出现同名冲突时,`skill-flow` 会把内容完全相同的重复项保留为 warning,把内容不同的冲突项改成带 repo / author 前缀的链接名,例如 `gstack-browse`、`gstack(garrytan)-browse` 或 `garrytan-skill-creator`。
|
|
95
102
|
|
|
96
103
|
## 工作原理
|
|
97
104
|
|
|
98
105
|
**状态管理**
|
|
99
|
-
- `~/.skillflow/manifest.json` -
|
|
100
|
-
- `~/.skillflow/lock.json` -
|
|
101
|
-
- `~/.skillflow/source/git/<source-id>/` - Git
|
|
106
|
+
- `~/.skillflow/manifest.json` - 你的配置(你想要什么)
|
|
107
|
+
- `~/.skillflow/lock.json` - 实际状态(实际装了什么)
|
|
108
|
+
- `~/.skillflow/source/git/<source-id>/` - Git 仓库缓存
|
|
109
|
+
- `~/.skillflow/source/clawhub/<source-id>/` - ClawHub 缓存
|
|
110
|
+
- `~/.skillflow/catalog/git/<source-id>/` - 内置 Git 仓库缓存
|
|
102
111
|
|
|
103
|
-
|
|
104
|
-
|
|
112
|
+
**部署策略**
|
|
113
|
+
优先使用符号链接,必要时使用文件复制。目标目录只是部署点,真正的状态在 lock.json 里。
|
|
105
114
|
|
|
106
115
|
## 支持的 Agent
|
|
107
116
|
|
|
@@ -109,6 +118,35 @@ Claude Code · Codex · Cursor · GitHub Copilot · Gemini CLI · OpenCode · Op
|
|
|
109
118
|
|
|
110
119
|
可通过环境变量自定义目标路径(如 `SKILL_FLOW_TARGET_CLAUDE_CODE`)。
|
|
111
120
|
|
|
121
|
+
更广义的生态路径参考,包括 project 级 rules / instructions 路径,见 [docs/refrences/agent-skill-paths.md](./docs/refrences/agent-skill-paths.md)。
|
|
122
|
+
|
|
123
|
+
## 默认内置发现仓库
|
|
124
|
+
|
|
125
|
+
`find/search` 除了搜索本地已安装技能和 ClawHub,也会搜索默认内置的 Git 仓库目录。
|
|
126
|
+
|
|
127
|
+
如果希望内置 Git 仓库搜索更稳定,建议设置 `GITHUB_TOKEN`,避免 GitHub 未认证 API 的低速率限制。
|
|
128
|
+
|
|
129
|
+
| Repository | Description | Stars | Skills |
|
|
130
|
+
| --- | --- | ---: | ---: |
|
|
131
|
+
| [anthropic-skills](https://github.com/anthropics/skills) | Official Agent Skills from Anthropic | 95,957 | 18 |
|
|
132
|
+
| [superpowers](https://github.com/obra/superpowers) | Agentic skills framework & development methodology | 89,816 | 14 |
|
|
133
|
+
| [everything-claude-code](https://github.com/affaan-m/everything-claude-code) | Performance optimization system for Claude Code, Codex, and beyond | 81,392 | 147 |
|
|
134
|
+
| [agency-agents](https://github.com/msitarzewski/agency-agents) | Specialized expert agents with personality and proven deliverables | 50,749 | — |
|
|
135
|
+
| [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) | Design intelligence for building professional UI/UX | 43,112 | 7 |
|
|
136
|
+
| [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) | 1,000+ battle-tested skills for Claude Code, Cursor, and more | 25,047 | 1,258 |
|
|
137
|
+
| [marketingskills](https://github.com/coreyhaines31/marketingskills) | Marketing skills — CRO, copywriting, SEO, analytics, growth | 14,099 | 33 |
|
|
138
|
+
| [agentskills](https://github.com/agentskills/agentskills) | Specification and documentation for Agent Skills | 13,342 | — |
|
|
139
|
+
| [taste-skill](https://github.com/Leonxlnx/taste-skill) | Gives your AI good taste — stops generic, boring output | 3,389 | 5 |
|
|
140
|
+
| [affiliate-skills](https://github.com/Affitor/affiliate-skills) | Full affiliate marketing funnel: research to deploy | 99 | 47 |
|
|
141
|
+
| [skills](https://github.com/luongnv89/skills) | Reusable skills to supercharge your AI agents | 1 | 29 |
|
|
142
|
+
| [awesome-claude-skills](https://github.com/ComposioHQ/awesome-claude-skills) | Community Claude skills collection | — | — |
|
|
143
|
+
| [myclaude](https://github.com/cexll/myclaude) | Personal Claude skills collection | — | — |
|
|
144
|
+
| [baoyu-skills](https://github.com/JimLiu/baoyu-skills) | Community skills collection | — | — |
|
|
145
|
+
| [dbskill](https://github.com/dontbesilent2025/dbskill) | Database-focused skills collection | — | — |
|
|
146
|
+
| [gstack](https://github.com/garrytan/gstack) | Gstack skills and workflows | — | — |
|
|
147
|
+
| [impeccable](https://github.com/pbakaus/impeccable) | Design and taste skills collection | — | — |
|
|
148
|
+
| [frontend-slides](https://github.com/zarazhangrui/frontend-slides) | Frontend presentation skills collection | — | — |
|
|
149
|
+
|
|
112
150
|
## 开发
|
|
113
151
|
|
|
114
152
|
```bash
|
package/dist/cli.js
CHANGED
|
@@ -4,14 +4,16 @@ import { Command } from "commander";
|
|
|
4
4
|
import { render } from "ink";
|
|
5
5
|
import { SkillFlowApp } from "./services/skill-flow.js";
|
|
6
6
|
import { ConfigApp } from "./tui/config-app.js";
|
|
7
|
+
import { FindApp } from "./tui/find-app.js";
|
|
7
8
|
import { formatGroupRef } from "./utils/naming.js";
|
|
8
|
-
import { formatDoctorIssue, formatWorkflowList } from "./utils/format.js";
|
|
9
|
+
import { formatDoctorIssue, formatWorkflowList, } from "./utils/format.js";
|
|
10
|
+
import { buildFindCommand } from "./utils/find-command.js";
|
|
9
11
|
const program = new Command();
|
|
10
12
|
const app = new SkillFlowApp();
|
|
11
13
|
program
|
|
12
14
|
.name("skill-flow")
|
|
13
15
|
.description("Workflow-first skill projection manager")
|
|
14
|
-
.version("1.0.
|
|
16
|
+
.version("1.0.3");
|
|
15
17
|
program
|
|
16
18
|
.command("add")
|
|
17
19
|
.argument("<source>", "Source locator")
|
|
@@ -40,6 +42,34 @@ program.command("list").action(async () => {
|
|
|
40
42
|
}
|
|
41
43
|
console.log(formatWorkflowList(result.data.summaries));
|
|
42
44
|
});
|
|
45
|
+
program
|
|
46
|
+
.command("find")
|
|
47
|
+
.alias("search")
|
|
48
|
+
.argument("<query>", "Search query")
|
|
49
|
+
.option("--json", "Print JSON output")
|
|
50
|
+
.action(async (query, options) => {
|
|
51
|
+
const result = await app.findSkills(query);
|
|
52
|
+
if (!result.ok) {
|
|
53
|
+
printErrors(result.errors);
|
|
54
|
+
process.exitCode = 1;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (options.json) {
|
|
58
|
+
console.log(JSON.stringify(result.data.candidates.map((candidate) => ({
|
|
59
|
+
...candidate,
|
|
60
|
+
nextCommand: buildFindCommand(candidate),
|
|
61
|
+
})), null, 2));
|
|
62
|
+
printWarnings(result.warnings.map((warning) => warning.message));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const instance = render(_jsx(FindApp, { app: app, query: query, candidates: result.data.candidates }));
|
|
66
|
+
if (result.warnings.length > 0) {
|
|
67
|
+
for (const warning of result.warnings) {
|
|
68
|
+
console.warn(`warning: ${warning.message}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
await instance.waitUntilExit();
|
|
72
|
+
});
|
|
43
73
|
program.command("config").action(async () => {
|
|
44
74
|
const result = await app.getConfigData();
|
|
45
75
|
if (!result.ok) {
|
|
@@ -67,8 +97,8 @@ program.command("config").action(async () => {
|
|
|
67
97
|
});
|
|
68
98
|
program
|
|
69
99
|
.command("update")
|
|
70
|
-
.argument("[sourceId]", "Optional
|
|
71
|
-
.option("--all", "Update all registered
|
|
100
|
+
.argument("[sourceId]", "Optional skills group id")
|
|
101
|
+
.option("--all", "Update all registered skills groups")
|
|
72
102
|
.action(async (sourceId, options) => {
|
|
73
103
|
const ids = options.all || !sourceId ? undefined : [sourceId];
|
|
74
104
|
const result = await app.updateSources(ids);
|
|
@@ -104,7 +134,7 @@ program.command("doctor").action(async () => {
|
|
|
104
134
|
});
|
|
105
135
|
program
|
|
106
136
|
.command("uninstall")
|
|
107
|
-
.argument("<sourceIds...>", "
|
|
137
|
+
.argument("<sourceIds...>", "Skills group ids to remove")
|
|
108
138
|
.action(async (sourceIds) => {
|
|
109
139
|
const result = await app.uninstall(sourceIds);
|
|
110
140
|
if (!result.ok) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";;AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -107,6 +107,7 @@ export type DeploymentAction = {
|
|
|
107
107
|
sourcePath: string;
|
|
108
108
|
targetPath: string;
|
|
109
109
|
previousTargetPath?: string;
|
|
110
|
+
relocateExternalToTargetPath?: string;
|
|
110
111
|
reason?: string;
|
|
111
112
|
contentHash: string;
|
|
112
113
|
};
|
|
@@ -138,3 +139,27 @@ export type WorkflowSummary = {
|
|
|
138
139
|
activeTargetCount: number;
|
|
139
140
|
health: HealthStatus;
|
|
140
141
|
};
|
|
142
|
+
export type SkillCandidateAction = {
|
|
143
|
+
type: "none";
|
|
144
|
+
} | {
|
|
145
|
+
type: "add-git";
|
|
146
|
+
locator: string;
|
|
147
|
+
requestedPath?: string;
|
|
148
|
+
} | {
|
|
149
|
+
type: "add-clawhub";
|
|
150
|
+
slug: string;
|
|
151
|
+
version?: string;
|
|
152
|
+
};
|
|
153
|
+
export type SkillCandidate = {
|
|
154
|
+
id: string;
|
|
155
|
+
title: string;
|
|
156
|
+
description: string;
|
|
157
|
+
source: "local" | "builtin-git" | "clawhub";
|
|
158
|
+
sourceLabel: string;
|
|
159
|
+
sourceId: string;
|
|
160
|
+
sourceKind: SourceKind;
|
|
161
|
+
locator: string;
|
|
162
|
+
relativePath?: string;
|
|
163
|
+
installed: boolean;
|
|
164
|
+
action: SkillCandidateAction;
|
|
165
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
1
2
|
import path from "node:path";
|
|
2
3
|
import { copyDirectory, createSymlink, ensureDir, pathExists, removePath } from "../utils/fs.js";
|
|
3
4
|
import { ok } from "../utils/result.js";
|
|
@@ -24,6 +25,11 @@ export class DeploymentApplier {
|
|
|
24
25
|
(await pathExists(action.previousTargetPath))) {
|
|
25
26
|
await removePath(action.previousTargetPath);
|
|
26
27
|
}
|
|
28
|
+
if (action.relocateExternalToTargetPath &&
|
|
29
|
+
(await pathExists(action.targetPath))) {
|
|
30
|
+
await ensureDir(path.dirname(action.relocateExternalToTargetPath));
|
|
31
|
+
await fs.rename(action.targetPath, action.relocateExternalToTargetPath);
|
|
32
|
+
}
|
|
27
33
|
if (action.strategy === "symlink") {
|
|
28
34
|
await createSymlink(action.sourcePath, action.targetPath);
|
|
29
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-applier.js","sourceRoot":"","sources":["../../src/services/deployment-applier.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,SAAS,CACb,QAAkB,EAClB,OAA2B;QAE3B,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxC,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,CAAC;gBACD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAChD,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,CACC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;oBACvC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;oBACnC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CACpC,CACJ,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,IACE,MAAM,CAAC,kBAAkB;gBACzB,MAAM,CAAC,kBAAkB,KAAK,MAAM,CAAC,UAAU;gBAC/C,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAC7C,CAAC;gBACD,MAAM,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,UAAU,GAAqB;gBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,QAAQ,CAAC,WAAW,GAAG;gBACrB,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAC5B,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,CACC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;oBACvC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;oBACnC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CACpC,CACJ;gBACD,UAAU;aACX,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"deployment-applier.js","sourceRoot":"","sources":["../../src/services/deployment-applier.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,10 @@ export declare class DeploymentPlanner {
|
|
|
7
7
|
private planTarget;
|
|
8
8
|
private resolveDesiredAction;
|
|
9
9
|
private inspectTargetPath;
|
|
10
|
+
private buildExternalIdentityState;
|
|
11
|
+
private readSkillIdentity;
|
|
12
|
+
private buildExternalRelocationCandidate;
|
|
13
|
+
private buildExternalRelocationLinkNames;
|
|
14
|
+
private inspectExistingTargetPath;
|
|
10
15
|
private buildProjectedLinkNameMap;
|
|
11
16
|
}
|