@spences10/pi-skills 0.0.19 → 0.0.21
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 +18 -32
- package/dist/commands/completions.d.ts +8 -0
- package/dist/commands/completions.js +68 -0
- package/dist/commands/completions.js.map +1 -0
- package/dist/commands/github-handlers.d.ts +4 -0
- package/dist/commands/github-handlers.js +127 -0
- package/dist/commands/github-handlers.js.map +1 -0
- package/dist/commands/handler.d.ts +2 -0
- package/dist/commands/handler.js +56 -0
- package/dist/commands/handler.js.map +1 -0
- package/dist/commands/home-handler.d.ts +2 -0
- package/dist/commands/home-handler.js +38 -0
- package/dist/commands/home-handler.js.map +1 -0
- package/dist/commands/profile-handlers.d.ts +2 -0
- package/dist/commands/profile-handlers.js +117 -0
- package/dist/commands/profile-handlers.js.map +1 -0
- package/dist/commands/skill-handlers.d.ts +8 -0
- package/dist/commands/skill-handlers.js +184 -0
- package/dist/commands/skill-handlers.js.map +1 -0
- package/dist/commands/types.d.ts +13 -0
- package/dist/commands/types.js +2 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands.js +91 -227
- package/dist/commands.js.map +1 -1
- package/dist/gh-skill.d.ts +16 -0
- package/dist/gh-skill.js +52 -0
- package/dist/gh-skill.js.map +1 -1
- package/dist/importer.d.ts +4 -0
- package/dist/importer.js +21 -0
- package/dist/importer.js.map +1 -1
- package/dist/manager/discovery.d.ts +19 -0
- package/dist/manager/discovery.js +101 -0
- package/dist/manager/discovery.js.map +1 -0
- package/dist/manager/import-management.d.ts +11 -0
- package/dist/manager/import-management.js +28 -0
- package/dist/manager/import-management.js.map +1 -0
- package/dist/manager/profile.d.ts +29 -0
- package/dist/manager/profile.js +214 -0
- package/dist/manager/profile.js.map +1 -0
- package/dist/manager.d.ts +4 -7
- package/dist/manager.js +35 -36
- package/dist/manager.js.map +1 -1
- package/dist/resource-discovery.d.ts +1 -0
- package/dist/resource-discovery.js +7 -0
- package/dist/resource-discovery.js.map +1 -0
- package/dist/scanner.d.ts +2 -33
- package/dist/scanner.js +7 -108
- package/dist/scanner.js.map +1 -1
- package/dist/skill-utils.d.ts +0 -7
- package/dist/skill-utils.js +10 -89
- package/dist/skill-utils.js.map +1 -1
- package/dist/skills-ui/github.d.ts +1 -0
- package/dist/skills-ui/github.js +128 -2
- package/dist/skills-ui/github.js.map +1 -1
- package/dist/skills-ui/home.d.ts +5 -1
- package/dist/skills-ui/home.js +7 -7
- package/dist/skills-ui/home.js.map +1 -1
- package/dist/skills-ui/manage.js +33 -5
- package/dist/skills-ui/manage.js.map +1 -1
- package/dist/skills-ui/profiles.js +1 -1
- package/dist/skills-ui/profiles.js.map +1 -1
- package/dist/skills-ui/skill-list.js +2 -5
- package/dist/skills-ui/skill-list.js.map +1 -1
- package/dist/skills-ui.d.ts +1 -2
- package/dist/skills-ui.js +1 -2
- package/dist/skills-ui.js.map +1 -1
- package/package.json +6 -4
package/dist/scanner.js
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { getAgentDir, parseFrontmatter, } from '@earendil-works/pi-coding-agent';
|
|
2
2
|
import { existsSync, globSync, readFileSync, statSync, } from 'node:fs';
|
|
3
|
-
import {
|
|
4
|
-
import { basename, dirname, join, parse, resolve } from 'node:path';
|
|
5
|
-
export const IMPORT_METADATA_FILE = '.my-pi-source.json';
|
|
6
|
-
function read_installed_plugins() {
|
|
7
|
-
const path = join(homedir(), '.claude', 'plugins', 'installed_plugins.json');
|
|
8
|
-
if (!existsSync(path))
|
|
9
|
-
return null;
|
|
10
|
-
try {
|
|
11
|
-
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
3
|
+
import { dirname, join, parse, resolve } from 'node:path';
|
|
17
4
|
function parse_skill_md(skill_path) {
|
|
18
5
|
try {
|
|
19
6
|
const content = readFileSync(skill_path, 'utf-8');
|
|
@@ -21,24 +8,13 @@ function parse_skill_md(skill_path) {
|
|
|
21
8
|
const description = frontmatter?.description;
|
|
22
9
|
if (!description)
|
|
23
10
|
return null;
|
|
24
|
-
const name = frontmatter?.name ||
|
|
11
|
+
const name = frontmatter?.name || parse(dirname(skill_path)).base;
|
|
25
12
|
return { name, description: description.trim() };
|
|
26
13
|
}
|
|
27
14
|
catch {
|
|
28
15
|
return null;
|
|
29
16
|
}
|
|
30
17
|
}
|
|
31
|
-
function read_import_metadata(base_dir) {
|
|
32
|
-
const metadata_path = join(base_dir, IMPORT_METADATA_FILE);
|
|
33
|
-
if (!existsSync(metadata_path))
|
|
34
|
-
return undefined;
|
|
35
|
-
try {
|
|
36
|
-
return JSON.parse(readFileSync(metadata_path, 'utf-8'));
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
18
|
function scan_dir_for_skills(dir, options) {
|
|
43
19
|
if (!existsSync(dir))
|
|
44
20
|
return [];
|
|
@@ -54,11 +30,7 @@ function scan_dir_for_skills(dir, options) {
|
|
|
54
30
|
baseDir: dir,
|
|
55
31
|
source: options.source,
|
|
56
32
|
scope: options.scope,
|
|
57
|
-
kind:
|
|
58
|
-
plugin: options.plugin,
|
|
59
|
-
import_meta: options.kind === 'managed'
|
|
60
|
-
? read_import_metadata(dir)
|
|
61
|
-
: undefined,
|
|
33
|
+
kind: 'managed',
|
|
62
34
|
});
|
|
63
35
|
}
|
|
64
36
|
return results;
|
|
@@ -76,11 +48,7 @@ function scan_dir_for_skills(dir, options) {
|
|
|
76
48
|
baseDir: base_dir,
|
|
77
49
|
source: options.source,
|
|
78
50
|
scope: options.scope,
|
|
79
|
-
kind:
|
|
80
|
-
plugin: options.plugin,
|
|
81
|
-
import_meta: options.kind === 'managed'
|
|
82
|
-
? read_import_metadata(base_dir)
|
|
83
|
-
: undefined,
|
|
51
|
+
kind: 'managed',
|
|
84
52
|
});
|
|
85
53
|
}
|
|
86
54
|
}
|
|
@@ -102,23 +70,11 @@ function dedupe_by_skill_path(skills) {
|
|
|
102
70
|
return deduped;
|
|
103
71
|
}
|
|
104
72
|
export function scan_managed_skills() {
|
|
105
|
-
|
|
106
|
-
for (const skill of scan_dir_for_skills(join(homedir(), '.claude', 'skills'), {
|
|
107
|
-
source: 'user-local',
|
|
108
|
-
scope: 'global',
|
|
109
|
-
kind: 'managed',
|
|
110
|
-
})) {
|
|
111
|
-
skills.push(skill);
|
|
112
|
-
}
|
|
113
|
-
for (const skill of scan_dir_for_skills(join(getAgentDir(), 'skills'), {
|
|
73
|
+
return dedupe_by_skill_path(scan_dir_for_skills(join(getAgentDir(), 'skills'), {
|
|
114
74
|
source: 'pi-native',
|
|
115
75
|
scope: 'global',
|
|
116
|
-
kind: 'managed',
|
|
117
76
|
include_direct_root_skill: false,
|
|
118
|
-
}))
|
|
119
|
-
skills.push(skill);
|
|
120
|
-
}
|
|
121
|
-
return dedupe_by_skill_path(skills);
|
|
77
|
+
}));
|
|
122
78
|
}
|
|
123
79
|
function parent_dir(path) {
|
|
124
80
|
const parsed = parse(path);
|
|
@@ -153,7 +109,6 @@ export function scan_project_skills(cwd = process.cwd()) {
|
|
|
153
109
|
for (const skill of scan_dir_for_skills(join(root, '.agents'), {
|
|
154
110
|
source: 'project:.agents',
|
|
155
111
|
scope: 'project',
|
|
156
|
-
kind: 'managed',
|
|
157
112
|
include_direct_root_skill: false,
|
|
158
113
|
})) {
|
|
159
114
|
skills.push(skill);
|
|
@@ -161,7 +116,6 @@ export function scan_project_skills(cwd = process.cwd()) {
|
|
|
161
116
|
for (const skill of scan_dir_for_skills(join(root, '.agents', 'skills'), {
|
|
162
117
|
source: 'project:.agents/skills',
|
|
163
118
|
scope: 'project',
|
|
164
|
-
kind: 'managed',
|
|
165
119
|
include_direct_root_skill: false,
|
|
166
120
|
})) {
|
|
167
121
|
skills.push(skill);
|
|
@@ -169,7 +123,6 @@ export function scan_project_skills(cwd = process.cwd()) {
|
|
|
169
123
|
for (const skill of scan_dir_for_skills(join(root, '.pi', 'skills'), {
|
|
170
124
|
source: 'project:.pi/skills',
|
|
171
125
|
scope: 'project',
|
|
172
|
-
kind: 'managed',
|
|
173
126
|
include_direct_root_skill: false,
|
|
174
127
|
})) {
|
|
175
128
|
skills.push(skill);
|
|
@@ -177,61 +130,7 @@ export function scan_project_skills(cwd = process.cwd()) {
|
|
|
177
130
|
}
|
|
178
131
|
return dedupe_by_skill_path(skills);
|
|
179
132
|
}
|
|
180
|
-
export function scan_importable_skills() {
|
|
181
|
-
const skills = [];
|
|
182
|
-
const plugins = read_installed_plugins();
|
|
183
|
-
if (!plugins?.plugins)
|
|
184
|
-
return skills;
|
|
185
|
-
for (const [plugin_id, entries] of Object.entries(plugins.plugins)) {
|
|
186
|
-
const entry = entries[0];
|
|
187
|
-
if (!entry?.installPath || !existsSync(entry.installPath))
|
|
188
|
-
continue;
|
|
189
|
-
const source = `plugin:${plugin_id}`;
|
|
190
|
-
const plugin = {
|
|
191
|
-
pluginId: plugin_id,
|
|
192
|
-
installPath: entry.installPath,
|
|
193
|
-
version: entry.version,
|
|
194
|
-
gitCommitSha: entry.gitCommitSha,
|
|
195
|
-
};
|
|
196
|
-
for (const skill of scan_dir_for_skills(join(entry.installPath, 'skills'), {
|
|
197
|
-
source,
|
|
198
|
-
scope: 'plugin',
|
|
199
|
-
kind: 'external',
|
|
200
|
-
plugin,
|
|
201
|
-
})) {
|
|
202
|
-
skills.push(skill);
|
|
203
|
-
}
|
|
204
|
-
for (const skill of scan_dir_for_skills(join(entry.installPath, '.pi', 'skills'), {
|
|
205
|
-
source,
|
|
206
|
-
scope: 'plugin',
|
|
207
|
-
kind: 'external',
|
|
208
|
-
plugin,
|
|
209
|
-
})) {
|
|
210
|
-
skills.push(skill);
|
|
211
|
-
}
|
|
212
|
-
const direct_root_skill = join(entry.installPath, 'SKILL.md');
|
|
213
|
-
if (existsSync(direct_root_skill)) {
|
|
214
|
-
const parsed = parse_skill_md(direct_root_skill);
|
|
215
|
-
if (parsed) {
|
|
216
|
-
skills.push({
|
|
217
|
-
...parsed,
|
|
218
|
-
skillPath: direct_root_skill,
|
|
219
|
-
baseDir: entry.installPath,
|
|
220
|
-
source,
|
|
221
|
-
scope: 'plugin',
|
|
222
|
-
kind: 'external',
|
|
223
|
-
plugin,
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return dedupe_by_skill_path(skills);
|
|
229
|
-
}
|
|
230
133
|
export function scan_all_skills(cwd = process.cwd()) {
|
|
231
|
-
return [
|
|
232
|
-
...scan_managed_skills(),
|
|
233
|
-
...scan_project_skills(cwd),
|
|
234
|
-
...scan_importable_skills(),
|
|
235
|
-
];
|
|
134
|
+
return [...scan_managed_skills(), ...scan_project_skills(cwd)];
|
|
236
135
|
}
|
|
237
136
|
//# sourceMappingURL=scanner.js.map
|
package/dist/scanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EACX,gBAAgB,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,GACR,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/skill-utils.d.ts
CHANGED
|
@@ -2,14 +2,7 @@ import { type SettingItem } from '@earendil-works/pi-tui';
|
|
|
2
2
|
import type { ManagedSkill, SkillProfile } from './manager.js';
|
|
3
3
|
export declare const ENABLED = "\u25CF enabled";
|
|
4
4
|
export declare const DISABLED = "\u25CB disabled";
|
|
5
|
-
export interface ImportableSkillState {
|
|
6
|
-
label: string;
|
|
7
|
-
detail: string;
|
|
8
|
-
action: 'import' | 'sync' | null;
|
|
9
|
-
}
|
|
10
5
|
export declare function sort_skills(skills: ManagedSkill[]): ManagedSkill[];
|
|
11
|
-
export declare function find_matching_imported_skill(managed_skills: ManagedSkill[], skill: ManagedSkill): ManagedSkill | undefined;
|
|
12
|
-
export declare function get_importable_state(managed_skills: ManagedSkill[], skill: ManagedSkill): ImportableSkillState;
|
|
13
6
|
export declare function to_setting_item(skill: ManagedSkill): SettingItem;
|
|
14
7
|
export declare function sets_equal(a: ReadonlySet<string>, b: ReadonlySet<string>): boolean;
|
|
15
8
|
export declare function skill_status(skill: ManagedSkill): string;
|
package/dist/skill-utils.js
CHANGED
|
@@ -11,66 +11,15 @@ export function sort_skills(skills) {
|
|
|
11
11
|
return a.key.localeCompare(b.key);
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
export function find_matching_imported_skill(managed_skills, skill) {
|
|
15
|
-
const exact_match = managed_skills.find((candidate) => candidate.import_meta?.source === skill.source &&
|
|
16
|
-
(candidate.import_meta.upstream_skill_path ===
|
|
17
|
-
skill.skillPath ||
|
|
18
|
-
candidate.import_meta.upstream_base_dir === skill.baseDir));
|
|
19
|
-
if (exact_match)
|
|
20
|
-
return exact_match;
|
|
21
|
-
return managed_skills.find((candidate) => candidate.import_meta?.source === skill.source &&
|
|
22
|
-
candidate.name === skill.name);
|
|
23
|
-
}
|
|
24
|
-
export function get_importable_state(managed_skills, skill) {
|
|
25
|
-
const imported = find_matching_imported_skill(managed_skills, skill);
|
|
26
|
-
if (imported?.import_meta) {
|
|
27
|
-
const version_changed = Boolean(skill.plugin?.version &&
|
|
28
|
-
imported.import_meta.upstream_version &&
|
|
29
|
-
skill.plugin.version !== imported.import_meta.upstream_version);
|
|
30
|
-
const sha_changed = Boolean(skill.plugin?.gitCommitSha &&
|
|
31
|
-
imported.import_meta.upstream_git_commit_sha &&
|
|
32
|
-
skill.plugin.gitCommitSha !==
|
|
33
|
-
imported.import_meta.upstream_git_commit_sha);
|
|
34
|
-
if (version_changed || sha_changed) {
|
|
35
|
-
return {
|
|
36
|
-
label: 'sync',
|
|
37
|
-
detail: 'Press Enter to sync the imported copy and reload',
|
|
38
|
-
action: 'sync',
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
label: 'imported',
|
|
43
|
-
detail: `Already imported to ${imported.baseDir}`,
|
|
44
|
-
action: null,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
const managed_conflict = managed_skills.find((candidate) => candidate.name === skill.name);
|
|
48
|
-
if (managed_conflict) {
|
|
49
|
-
return {
|
|
50
|
-
label: 'managed',
|
|
51
|
-
detail: `Already managed at ${managed_conflict.baseDir}`,
|
|
52
|
-
action: null,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
label: 'import',
|
|
57
|
-
detail: 'Press Enter to import into pi-native skills and reload',
|
|
58
|
-
action: 'import',
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
14
|
export function to_setting_item(skill) {
|
|
62
|
-
const detail_lines = [
|
|
63
|
-
`${skill.source} • ${skill.key}`,
|
|
64
|
-
skill.description,
|
|
65
|
-
skill.baseDir,
|
|
66
|
-
];
|
|
67
|
-
if (skill.import_meta?.upstream_version) {
|
|
68
|
-
detail_lines.push(`upstream: ${skill.import_meta.upstream_version}${skill.import_meta.upstream_git_commit_sha ? ` • ${skill.import_meta.upstream_git_commit_sha.slice(0, 12)}` : ''}`);
|
|
69
|
-
}
|
|
70
15
|
return {
|
|
71
16
|
id: skill.key,
|
|
72
17
|
label: skill.name,
|
|
73
|
-
description:
|
|
18
|
+
description: [
|
|
19
|
+
`${skill.source} • ${skill.key}`,
|
|
20
|
+
skill.description,
|
|
21
|
+
skill.baseDir,
|
|
22
|
+
].join('\n'),
|
|
74
23
|
currentValue: skill.enabled ? ENABLED : DISABLED,
|
|
75
24
|
values: [ENABLED, DISABLED],
|
|
76
25
|
};
|
|
@@ -85,12 +34,10 @@ export function sets_equal(a, b) {
|
|
|
85
34
|
return true;
|
|
86
35
|
}
|
|
87
36
|
export function skill_status(skill) {
|
|
88
|
-
if (skill.kind === 'external')
|
|
89
|
-
return 'importable';
|
|
90
37
|
return skill.enabled ? 'enabled' : 'disabled';
|
|
91
38
|
}
|
|
92
39
|
export function format_skill_detail(skill) {
|
|
93
|
-
|
|
40
|
+
return [
|
|
94
41
|
`# ${skill.name}`,
|
|
95
42
|
'',
|
|
96
43
|
`Status: ${skill_status(skill)}`,
|
|
@@ -102,23 +49,7 @@ export function format_skill_detail(skill) {
|
|
|
102
49
|
'',
|
|
103
50
|
`Base directory: ${skill.baseDir}`,
|
|
104
51
|
`Skill file: ${skill.skillPath}`,
|
|
105
|
-
];
|
|
106
|
-
if (skill.plugin) {
|
|
107
|
-
lines.push('', 'Plugin', `- ID: ${skill.plugin.pluginId}`, `- Version: ${skill.plugin.version}`, `- Install path: ${skill.plugin.installPath}`);
|
|
108
|
-
if (skill.plugin.gitCommitSha) {
|
|
109
|
-
lines.push(`- Commit: ${skill.plugin.gitCommitSha}`);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (skill.import_meta) {
|
|
113
|
-
lines.push('', 'Import metadata', `- Upstream source: ${skill.import_meta.source}`, `- Imported at: ${skill.import_meta.imported_at}`, `- Last synced at: ${skill.import_meta.last_synced_at}`, `- Upstream path: ${skill.import_meta.upstream_skill_path}`);
|
|
114
|
-
if (skill.import_meta.upstream_version) {
|
|
115
|
-
lines.push(`- Upstream version: ${skill.import_meta.upstream_version}`);
|
|
116
|
-
}
|
|
117
|
-
if (skill.import_meta.upstream_git_commit_sha) {
|
|
118
|
-
lines.push(`- Upstream commit: ${skill.import_meta.upstream_git_commit_sha}`);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return lines.join('\n');
|
|
52
|
+
].join('\n');
|
|
122
53
|
}
|
|
123
54
|
export function format_skill_list(skills) {
|
|
124
55
|
if (skills.length === 0)
|
|
@@ -161,22 +92,12 @@ export function format_profile_detail(profile) {
|
|
|
161
92
|
const lines = [
|
|
162
93
|
`# ${profile.name}`,
|
|
163
94
|
'',
|
|
164
|
-
|
|
95
|
+
profile_description(profile),
|
|
165
96
|
];
|
|
166
97
|
if (profile.description) {
|
|
167
|
-
lines.push(
|
|
168
|
-
}
|
|
169
|
-
if (profile.extends.length) {
|
|
170
|
-
lines.push(`Extends: ${profile.extends.join(', ')}`);
|
|
98
|
+
lines.push('', profile.description);
|
|
171
99
|
}
|
|
172
|
-
lines.push('', 'Include
|
|
173
|
-
lines.push(...(profile.include.length
|
|
174
|
-
? profile.include.map((p) => `- ${p}`)
|
|
175
|
-
: ['- none']));
|
|
176
|
-
lines.push('', 'Exclude patterns:');
|
|
177
|
-
lines.push(...(profile.exclude.length
|
|
178
|
-
? profile.exclude.map((p) => `- ${p}`)
|
|
179
|
-
: ['- none']));
|
|
100
|
+
lines.push('', 'Include rules:', ...(profile.include.length ? profile.include : ['(none)']), '', 'Exclude rules:', ...(profile.exclude.length ? profile.exclude : ['(none)']));
|
|
180
101
|
return lines.join('\n');
|
|
181
102
|
}
|
|
182
103
|
//# sourceMappingURL=skill-utils.js.map
|
package/dist/skill-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-utils.js","sourceRoot":"","sources":["../src/skill-utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-utils.js","sourceRoot":"","sources":["../src/skill-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
export declare function show_search_github_skills_modal(ctx: ExtensionCommandContext): Promise<boolean>;
|
|
2
3
|
export declare function show_add_github_skill_modal(ctx: ExtensionCommandContext): Promise<boolean>;
|
|
3
4
|
export declare function show_update_github_skills_modal(ctx: ExtensionCommandContext): Promise<boolean>;
|
package/dist/skills-ui/github.js
CHANGED
|
@@ -1,9 +1,135 @@
|
|
|
1
|
-
import { run_with_progress_modal, show_input_modal, show_picker_modal, show_text_modal, } from '@spences10/pi-tui-modal';
|
|
2
|
-
import { has_gh_skill, list_github_repository_skills_async, run_gh_skill_install_async, run_gh_skill_update_async, } from '../gh-skill.js';
|
|
1
|
+
import { run_with_progress_modal, show_confirm_modal, show_input_modal, show_picker_modal, show_text_modal, } from '@spences10/pi-tui-modal';
|
|
2
|
+
import { has_gh_skill, list_github_repository_skills_async, run_gh_skill_install_async, run_gh_skill_preview_async, run_gh_skill_search_async, run_gh_skill_update_async, } from '../gh-skill.js';
|
|
3
3
|
function is_already_installed_error(error) {
|
|
4
4
|
const message = error instanceof Error ? error.message : String(error);
|
|
5
5
|
return message.includes('already installed');
|
|
6
6
|
}
|
|
7
|
+
function format_search_result(result) {
|
|
8
|
+
const namespace = result.namespace ? `${result.namespace}/` : '';
|
|
9
|
+
return `${namespace}${result.skillName} — ${result.repo}`;
|
|
10
|
+
}
|
|
11
|
+
async function confirm_untrusted_install(ctx, result) {
|
|
12
|
+
return await show_confirm_modal(ctx, {
|
|
13
|
+
title: 'Install unreviewed GitHub skill?',
|
|
14
|
+
message: `Skills can instruct the model to run tools and may include executable scripts. Install only after reviewing the source.\n\n${format_search_result(result)}\n${result.path}`,
|
|
15
|
+
confirm_label: 'Install anyway',
|
|
16
|
+
cancel_label: 'Cancel',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export async function show_search_github_skills_modal(ctx) {
|
|
20
|
+
if (!has_gh_skill()) {
|
|
21
|
+
ctx.ui.notify('Search GitHub skills requires gh v2.90.0+ with `gh skill` support.', 'warning');
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const query = await show_input_modal(ctx, {
|
|
25
|
+
title: 'Search GitHub skills',
|
|
26
|
+
subtitle: 'Uses gh skill search. Review before installing.',
|
|
27
|
+
label: 'Search query',
|
|
28
|
+
trim: true,
|
|
29
|
+
});
|
|
30
|
+
if (!query)
|
|
31
|
+
return false;
|
|
32
|
+
try {
|
|
33
|
+
const results = await run_with_progress_modal(ctx, {
|
|
34
|
+
title: 'Searching GitHub skills',
|
|
35
|
+
message: `Running gh skill search ${query}`,
|
|
36
|
+
}, async ({ signal }) => await run_gh_skill_search_async(query, 15, undefined, {
|
|
37
|
+
signal,
|
|
38
|
+
}));
|
|
39
|
+
if (!results)
|
|
40
|
+
return false;
|
|
41
|
+
if (results.length === 0) {
|
|
42
|
+
await show_text_modal(ctx, {
|
|
43
|
+
title: 'No GitHub skills found',
|
|
44
|
+
text: `Nothing found matching “${query}”.\n\nTry a shorter query, a skill name like “sveltekit”, or search directly with:\n\ngh skill search ${query}`,
|
|
45
|
+
footer: 'Source: gh skill search over public GitHub SKILL.md files',
|
|
46
|
+
});
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const result_items = results.map((result) => ({
|
|
50
|
+
value: `${result.repo}\t${result.path}`,
|
|
51
|
+
label: format_search_result(result),
|
|
52
|
+
description: `${result.stars}★ • ${result.description}`,
|
|
53
|
+
}));
|
|
54
|
+
const selected_path = await show_picker_modal(ctx, {
|
|
55
|
+
title: 'GitHub skill search results',
|
|
56
|
+
subtitle: `${results.length} results for ${query}`,
|
|
57
|
+
items: result_items,
|
|
58
|
+
selected_footer: (item) => {
|
|
59
|
+
const [repo, path] = item?.value.split('\t') ?? [];
|
|
60
|
+
return repo && path
|
|
61
|
+
? [
|
|
62
|
+
`Selected source: ${repo}`,
|
|
63
|
+
`Selected path: ${path}`,
|
|
64
|
+
'Preview before installing untrusted skills.',
|
|
65
|
+
]
|
|
66
|
+
: 'Source: gh skill search over public GitHub SKILL.md files';
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
if (!selected_path)
|
|
70
|
+
return false;
|
|
71
|
+
const [repo, path] = selected_path.split('\t');
|
|
72
|
+
const selected = results.find((result) => result.repo === repo && result.path === path);
|
|
73
|
+
if (!repo || !path || !selected)
|
|
74
|
+
return false;
|
|
75
|
+
const action = await show_picker_modal(ctx, {
|
|
76
|
+
title: format_search_result(selected),
|
|
77
|
+
subtitle: selected.path,
|
|
78
|
+
items: [
|
|
79
|
+
{
|
|
80
|
+
value: 'preview',
|
|
81
|
+
label: 'Preview first',
|
|
82
|
+
description: 'Run gh skill preview without installing',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
value: 'install',
|
|
86
|
+
label: 'Install',
|
|
87
|
+
description: 'Install for Pi user scope after a warning confirmation',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
footer: 'Skills are executable instructions for your agent. Do not install repos you do not trust.',
|
|
91
|
+
});
|
|
92
|
+
if (!action)
|
|
93
|
+
return false;
|
|
94
|
+
if (action === 'preview') {
|
|
95
|
+
const output = await run_with_progress_modal(ctx, {
|
|
96
|
+
title: 'Previewing GitHub skill',
|
|
97
|
+
message: `Running gh skill preview ${repo} ${path}`,
|
|
98
|
+
}, async ({ signal }) => await run_gh_skill_preview_async(repo, path, undefined, {
|
|
99
|
+
signal,
|
|
100
|
+
}));
|
|
101
|
+
if (output === undefined)
|
|
102
|
+
return false;
|
|
103
|
+
await show_text_modal(ctx, {
|
|
104
|
+
title: format_search_result(selected),
|
|
105
|
+
subtitle: `${repo} • ${path}`,
|
|
106
|
+
text: output || 'No preview output.',
|
|
107
|
+
footer: `Source: ${repo} • Path: ${path} • Install: /skills add ${repo} ${path}`,
|
|
108
|
+
});
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
if (!(await confirm_untrusted_install(ctx, selected)))
|
|
112
|
+
return false;
|
|
113
|
+
const output = await run_with_progress_modal(ctx, {
|
|
114
|
+
title: 'Installing GitHub skill',
|
|
115
|
+
message: `Installing ${path} from ${repo}`,
|
|
116
|
+
}, async ({ signal }) => await run_gh_skill_install_async({ repository: repo, skill: path, flags: [] }, undefined, { signal }));
|
|
117
|
+
if (output === undefined)
|
|
118
|
+
return false;
|
|
119
|
+
await show_text_modal(ctx, {
|
|
120
|
+
title: 'GitHub skill installed',
|
|
121
|
+
text: `${output || `Installed ${path} from ${repo}`}
|
|
122
|
+
|
|
123
|
+
Reloading...`,
|
|
124
|
+
});
|
|
125
|
+
await ctx.reload();
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
7
133
|
export async function show_add_github_skill_modal(ctx) {
|
|
8
134
|
if (!has_gh_skill()) {
|
|
9
135
|
ctx.ui.notify('Add GitHub skill requires gh v2.90.0+ with `gh skill` support.', 'warning');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/skills-ui/github.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/skills-ui/github.ts"],"names":[],"mappings":"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"}
|
package/dist/skills-ui/home.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
-
export
|
|
2
|
+
export interface SkillsHomeCounts {
|
|
3
|
+
managed: number;
|
|
4
|
+
pi_native: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function show_skills_home_modal(ctx: ExtensionCommandContext, counts: SkillsHomeCounts, active_profile: string): Promise<string | undefined>;
|
package/dist/skills-ui/home.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { show_picker_modal } from '@spences10/pi-tui-modal';
|
|
2
|
-
export async function show_skills_home_modal(ctx,
|
|
2
|
+
export async function show_skills_home_modal(ctx, counts, active_profile) {
|
|
3
3
|
return await show_picker_modal(ctx, {
|
|
4
4
|
title: 'Skills',
|
|
5
|
-
subtitle: `${
|
|
5
|
+
subtitle: `${counts.managed} managed • ${counts.pi_native} pi-native • profile ${active_profile}`,
|
|
6
6
|
items: [
|
|
7
7
|
{
|
|
8
8
|
value: 'manage',
|
|
9
9
|
label: 'Manage skills',
|
|
10
|
-
description: 'Search
|
|
10
|
+
description: 'Search, enable/disable, or delete Pi skills',
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
value: '
|
|
14
|
-
label: '
|
|
15
|
-
description: '
|
|
13
|
+
value: 'search',
|
|
14
|
+
label: 'Search GitHub skills',
|
|
15
|
+
description: 'Find skills with gh skill search, preview, then install',
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
value: 'add',
|
|
@@ -32,7 +32,7 @@ export async function show_skills_home_modal(ctx, managed_count, importable_coun
|
|
|
32
32
|
{
|
|
33
33
|
value: 'refresh',
|
|
34
34
|
label: 'Refresh discovery',
|
|
35
|
-
description: 'Rescan managed
|
|
35
|
+
description: 'Rescan managed skills',
|
|
36
36
|
},
|
|
37
37
|
],
|
|
38
38
|
footer: 'enter opens • esc close/back',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/skills-ui/home.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/skills-ui/home.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO5D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,GAA4B,EAC5B,MAAwB,EACxB,cAAsB;IAEtB,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE;QACnC,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO,cAAc,MAAM,CAAC,SAAS,wBAAwB,cAAc,EAAE;QACjG,KAAK,EAAE;YACN;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,6CAA6C;aAC1D;YACD;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EACV,yDAAyD;aAC1D;YACD;gBACC,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,gDAAgD;aAC7D;YACD;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EACV,iDAAiD;aAClD;YACD;gBACC,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,wCAAwC;aACrD;YACD;gBACC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,uBAAuB;aACpC;SACD;QACD,MAAM,EAAE,8BAA8B;KACtC,CAAC,CAAC;AACJ,CAAC"}
|