@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.
Files changed (67) hide show
  1. package/README.md +18 -32
  2. package/dist/commands/completions.d.ts +8 -0
  3. package/dist/commands/completions.js +68 -0
  4. package/dist/commands/completions.js.map +1 -0
  5. package/dist/commands/github-handlers.d.ts +4 -0
  6. package/dist/commands/github-handlers.js +127 -0
  7. package/dist/commands/github-handlers.js.map +1 -0
  8. package/dist/commands/handler.d.ts +2 -0
  9. package/dist/commands/handler.js +56 -0
  10. package/dist/commands/handler.js.map +1 -0
  11. package/dist/commands/home-handler.d.ts +2 -0
  12. package/dist/commands/home-handler.js +38 -0
  13. package/dist/commands/home-handler.js.map +1 -0
  14. package/dist/commands/profile-handlers.d.ts +2 -0
  15. package/dist/commands/profile-handlers.js +117 -0
  16. package/dist/commands/profile-handlers.js.map +1 -0
  17. package/dist/commands/skill-handlers.d.ts +8 -0
  18. package/dist/commands/skill-handlers.js +184 -0
  19. package/dist/commands/skill-handlers.js.map +1 -0
  20. package/dist/commands/types.d.ts +13 -0
  21. package/dist/commands/types.js +2 -0
  22. package/dist/commands/types.js.map +1 -0
  23. package/dist/commands.js +91 -227
  24. package/dist/commands.js.map +1 -1
  25. package/dist/gh-skill.d.ts +16 -0
  26. package/dist/gh-skill.js +52 -0
  27. package/dist/gh-skill.js.map +1 -1
  28. package/dist/importer.d.ts +4 -0
  29. package/dist/importer.js +21 -0
  30. package/dist/importer.js.map +1 -1
  31. package/dist/manager/discovery.d.ts +19 -0
  32. package/dist/manager/discovery.js +101 -0
  33. package/dist/manager/discovery.js.map +1 -0
  34. package/dist/manager/import-management.d.ts +11 -0
  35. package/dist/manager/import-management.js +28 -0
  36. package/dist/manager/import-management.js.map +1 -0
  37. package/dist/manager/profile.d.ts +29 -0
  38. package/dist/manager/profile.js +214 -0
  39. package/dist/manager/profile.js.map +1 -0
  40. package/dist/manager.d.ts +4 -7
  41. package/dist/manager.js +35 -36
  42. package/dist/manager.js.map +1 -1
  43. package/dist/resource-discovery.d.ts +1 -0
  44. package/dist/resource-discovery.js +7 -0
  45. package/dist/resource-discovery.js.map +1 -0
  46. package/dist/scanner.d.ts +2 -33
  47. package/dist/scanner.js +7 -108
  48. package/dist/scanner.js.map +1 -1
  49. package/dist/skill-utils.d.ts +0 -7
  50. package/dist/skill-utils.js +10 -89
  51. package/dist/skill-utils.js.map +1 -1
  52. package/dist/skills-ui/github.d.ts +1 -0
  53. package/dist/skills-ui/github.js +128 -2
  54. package/dist/skills-ui/github.js.map +1 -1
  55. package/dist/skills-ui/home.d.ts +5 -1
  56. package/dist/skills-ui/home.js +7 -7
  57. package/dist/skills-ui/home.js.map +1 -1
  58. package/dist/skills-ui/manage.js +33 -5
  59. package/dist/skills-ui/manage.js.map +1 -1
  60. package/dist/skills-ui/profiles.js +1 -1
  61. package/dist/skills-ui/profiles.js.map +1 -1
  62. package/dist/skills-ui/skill-list.js +2 -5
  63. package/dist/skills-ui/skill-list.js.map +1 -1
  64. package/dist/skills-ui.d.ts +1 -2
  65. package/dist/skills-ui.js +1 -2
  66. package/dist/skills-ui.js.map +1 -1
  67. 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 { homedir } from 'node:os';
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 || basename(dirname(skill_path));
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: options.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: options.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
- const skills = [];
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
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -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: detail_lines.join('\n'),
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
- const lines = [
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
- `Status: ${profile.active ? 'active' : 'inactive'}`,
95
+ profile_description(profile),
165
96
  ];
166
97
  if (profile.description) {
167
- lines.push(`Description: ${profile.description}`);
168
- }
169
- if (profile.extends.length) {
170
- lines.push(`Extends: ${profile.extends.join(', ')}`);
98
+ lines.push('', profile.description);
171
99
  }
172
- lines.push('', 'Include patterns:');
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
@@ -1 +1 @@
1
- {"version":3,"file":"skill-utils.js","sourceRoot":"","sources":["../src/skill-utils.ts"],"names":[],"mappings":"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"}
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>;
@@ -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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"}
@@ -1,2 +1,6 @@
1
1
  import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
- export declare function show_skills_home_modal(ctx: ExtensionCommandContext, managed_count: number, importable_count: number, active_profile: string): Promise<string | undefined>;
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>;
@@ -1,18 +1,18 @@
1
1
  import { show_picker_modal } from '@spences10/pi-tui-modal';
2
- export async function show_skills_home_modal(ctx, managed_count, importable_count, active_profile) {
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: `${managed_count} managed • ${importable_count} importable • profile ${active_profile}`,
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 and enable/disable managed skills',
10
+ description: 'Search, enable/disable, or delete Pi skills',
11
11
  },
12
12
  {
13
- value: 'importable',
14
- label: 'Importable skills',
15
- description: 'Batch import external skills or sync imported copies',
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 and importable skills',
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;AAE5D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,GAA4B,EAC5B,aAAqB,EACrB,gBAAwB,EACxB,cAAsB;IAEtB,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE;QACnC,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,GAAG,aAAa,cAAc,gBAAgB,yBAAyB,cAAc,EAAE;QACjG,KAAK,EAAE;YACN;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,0CAA0C;aACvD;YACD;gBACC,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACV,sDAAsD;aACvD;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,sCAAsC;aACnD;SACD;QACD,MAAM,EAAE,8BAA8B;KACtC,CAAC,CAAC;AACJ,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"}