@ranimontagna/agent-toolkit 0.1.30 → 0.2.0

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 (61) hide show
  1. package/README.md +38 -18
  2. package/dist/src/args.js +9 -0
  3. package/dist/src/args.js.map +1 -1
  4. package/dist/src/doctor.js +2 -0
  5. package/dist/src/doctor.js.map +1 -1
  6. package/dist/src/installers/agent-browser.d.ts +1 -0
  7. package/dist/src/installers/agent-browser.js +27 -0
  8. package/dist/src/installers/agent-browser.js.map +1 -0
  9. package/dist/src/installers/agent-skills.d.ts +14 -0
  10. package/dist/src/installers/agent-skills.js +157 -0
  11. package/dist/src/installers/agent-skills.js.map +1 -0
  12. package/dist/src/installers/caveman.js +1 -1
  13. package/dist/src/installers/gsd.js +1 -1
  14. package/dist/src/lock-update.js +10 -25
  15. package/dist/src/lock-update.js.map +1 -1
  16. package/dist/src/main.js +14 -6
  17. package/dist/src/main.js.map +1 -1
  18. package/dist/src/manifest.d.ts +5 -1
  19. package/dist/src/manifest.js +405 -17
  20. package/dist/src/manifest.js.map +1 -1
  21. package/dist/src/menu.js +6 -0
  22. package/dist/src/menu.js.map +1 -1
  23. package/dist/src/provenance.d.ts +2 -0
  24. package/dist/src/provenance.js +35 -14
  25. package/dist/src/provenance.js.map +1 -1
  26. package/dist/src/release.d.ts +12 -1
  27. package/dist/src/release.js +126 -10
  28. package/dist/src/release.js.map +1 -1
  29. package/dist/src/runtimes.d.ts +7 -0
  30. package/dist/src/runtimes.js +41 -20
  31. package/dist/src/runtimes.js.map +1 -1
  32. package/dist/src/skill-targets.d.ts +9 -0
  33. package/dist/src/skill-targets.js +45 -0
  34. package/dist/src/skill-targets.js.map +1 -0
  35. package/dist/src/skills.js +11 -45
  36. package/dist/src/skills.js.map +1 -1
  37. package/dist/src/state.d.ts +5 -20
  38. package/dist/src/state.js +7 -54
  39. package/dist/src/state.js.map +1 -1
  40. package/dist/src/status.js +30 -3
  41. package/dist/src/status.js.map +1 -1
  42. package/dist/src/system.d.ts +6 -2
  43. package/dist/src/system.js +207 -36
  44. package/dist/src/system.js.map +1 -1
  45. package/dist/src/tool-lock.d.ts +24 -51
  46. package/dist/src/tool-lock.js +75 -32
  47. package/dist/src/tool-lock.js.map +1 -1
  48. package/dist/src/usage.js +3 -0
  49. package/dist/src/usage.js.map +1 -1
  50. package/package.json +5 -5
  51. package/setup-agent-toolkit.sh +7 -1
  52. package/tools.lock.json +104 -49
  53. package/dist/src/installers/frontend-skills.d.ts +0 -8
  54. package/dist/src/installers/frontend-skills.js +0 -93
  55. package/dist/src/installers/frontend-skills.js.map +0 -1
  56. package/dist/src/installers/improve.d.ts +0 -1
  57. package/dist/src/installers/improve.js +0 -80
  58. package/dist/src/installers/improve.js.map +0 -1
  59. package/dist/src/installers/planning-skills.d.ts +0 -1
  60. package/dist/src/installers/planning-skills.js +0 -6
  61. package/dist/src/installers/planning-skills.js.map +0 -1
@@ -1,4 +1,21 @@
1
1
  export type RuntimeCliLockName = "claude" | "codex" | "opencode" | "gemini";
2
+ export declare const agentSkillBundleIds: readonly ["improve", "frontend-skills", "planning-skills", "agent-browser"];
3
+ export type AgentSkillBundleId = (typeof agentSkillBundleIds)[number];
4
+ export type AgentSkillRepository = {
5
+ source: "github";
6
+ repository: string;
7
+ ref: string;
8
+ };
9
+ export type AgentSkillEntry = {
10
+ repository: string;
11
+ skill: string;
12
+ path?: string;
13
+ };
14
+ export type AgentSkillBundle = {
15
+ label: string;
16
+ description: string;
17
+ skills: AgentSkillEntry[];
18
+ };
2
19
  export type ToolLock = {
3
20
  version: 1;
4
21
  tools: {
@@ -25,64 +42,20 @@ export type ToolLock = {
25
42
  package: string;
26
43
  version: string;
27
44
  };
28
- improve: {
29
- source: "github";
30
- repository: string;
31
- ref: string;
32
- skill: string;
45
+ agentBrowser: {
46
+ source: "npm";
47
+ package: string;
48
+ version: string;
33
49
  };
34
- frontendSkills: {
50
+ agentSkills: {
35
51
  source: "skills-cli";
36
52
  skillsCli: {
37
53
  source: "npm";
38
54
  package: string;
39
55
  version: string;
40
56
  };
41
- impeccable: {
42
- source: "github";
43
- repository: string;
44
- ref: string;
45
- skill: string;
46
- };
47
- webDesignGuidelines: {
48
- source: "github";
49
- repository: string;
50
- ref: string;
51
- skill: string;
52
- };
53
- reactDoctor: {
54
- source: "github";
55
- repository: string;
56
- ref: string;
57
- skill: string;
58
- };
59
- };
60
- planningSkills: {
61
- source: "skills-cli";
62
- grillMe: {
63
- source: "github";
64
- repository: string;
65
- ref: string;
66
- skill: string;
67
- };
68
- grilling: {
69
- source: "github";
70
- repository: string;
71
- ref: string;
72
- skill: string;
73
- };
74
- grillWithDocs: {
75
- source: "github";
76
- repository: string;
77
- ref: string;
78
- skill: string;
79
- };
80
- domainModeling: {
81
- source: "github";
82
- repository: string;
83
- ref: string;
84
- skill: string;
85
- };
57
+ repositories: Record<string, AgentSkillRepository>;
58
+ bundles: Record<AgentSkillBundleId, AgentSkillBundle>;
86
59
  };
87
60
  };
88
61
  runtimeClis: Record<RuntimeCliLockName, {
@@ -1,6 +1,12 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { REPO_ROOT } from "./context.js";
4
+ export const agentSkillBundleIds = [
5
+ "improve",
6
+ "frontend-skills",
7
+ "planning-skills",
8
+ "agent-browser",
9
+ ];
4
10
  const exactVersionPattern = /^[0-9]+(?:\.[0-9]+){1,3}(?:[-+][0-9A-Za-z.-]+)?$/;
5
11
  const sha256Pattern = /^[a-f0-9]{64}$/i;
6
12
  const fullGitShaPattern = /^[a-f0-9]{40}$/i;
@@ -89,6 +95,72 @@ function assertSha256(value, label) {
89
95
  throw new Error(`Invalid tools.lock.json: ${label} must be a SHA-256 hash.`);
90
96
  }
91
97
  }
98
+ const catalogKeyPattern = /^[A-Za-z][A-Za-z0-9]*$/;
99
+ const skillNamePattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
100
+ function assertSafeRelativePath(value, label) {
101
+ assertString(value, label);
102
+ const normalized = value.replace(/\\/g, "/");
103
+ if (path.posix.isAbsolute(normalized) ||
104
+ path.win32.isAbsolute(value) ||
105
+ normalized.split("/").includes("..")) {
106
+ throw new Error(`Invalid tools.lock.json: ${label} must be a safe relative path.`);
107
+ }
108
+ }
109
+ function validateAgentSkillsCatalog(catalog) {
110
+ if (!catalog ||
111
+ typeof catalog !== "object" ||
112
+ !catalog.skillsCli ||
113
+ typeof catalog.repositories !== "object" ||
114
+ !catalog.repositories ||
115
+ typeof catalog.bundles !== "object" ||
116
+ !catalog.bundles) {
117
+ throw new Error("Invalid tools.lock.json: tools.agentSkills must define skillsCli, repositories, and bundles.");
118
+ }
119
+ if (catalog.source !== "skills-cli" || catalog.skillsCli.source !== "npm") {
120
+ throw new Error("Invalid tools.lock.json: tools.agentSkills must use skills-cli with an npm CLI source.");
121
+ }
122
+ assertString(catalog.skillsCli.package, "tools.agentSkills.skillsCli.package");
123
+ assertExactVersion(catalog.skillsCli.version, "tools.agentSkills.skillsCli.version");
124
+ if (Object.keys(catalog.repositories).length === 0) {
125
+ throw new Error("Invalid tools.lock.json: tools.agentSkills.repositories must not be empty.");
126
+ }
127
+ for (const [repositoryId, repository] of Object.entries(catalog.repositories)) {
128
+ if (!catalogKeyPattern.test(repositoryId)) {
129
+ throw new Error(`Invalid tools.lock.json: tools.agentSkills.repositories key ${repositoryId} is invalid.`);
130
+ }
131
+ if (repository.source !== "github") {
132
+ throw new Error(`Invalid tools.lock.json: tools.agentSkills.repositories.${repositoryId}.source must be github.`);
133
+ }
134
+ assertString(repository.repository, `tools.agentSkills.repositories.${repositoryId}.repository`);
135
+ assertGitSha(repository.ref, `tools.agentSkills.repositories.${repositoryId}.ref`);
136
+ }
137
+ const expectedBundles = new Set(agentSkillBundleIds);
138
+ for (const bundleId of Object.keys(catalog.bundles)) {
139
+ if (!expectedBundles.has(bundleId)) {
140
+ throw new Error(`Invalid tools.lock.json: unsupported Agent Skill bundle ${bundleId}.`);
141
+ }
142
+ }
143
+ for (const bundleId of agentSkillBundleIds) {
144
+ const bundle = catalog.bundles[bundleId];
145
+ if (!bundle || bundle.skills.length === 0) {
146
+ throw new Error(`Invalid tools.lock.json: tools.agentSkills.bundles.${bundleId} must contain skills.`);
147
+ }
148
+ assertString(bundle.label, `tools.agentSkills.bundles.${bundleId}.label`);
149
+ assertString(bundle.description, `tools.agentSkills.bundles.${bundleId}.description`);
150
+ for (const [index, skill] of bundle.skills.entries()) {
151
+ const skillLabel = `tools.agentSkills.bundles.${bundleId}.skills.${index}`;
152
+ if (!catalog.repositories[skill.repository]) {
153
+ throw new Error(`Invalid tools.lock.json: ${skillLabel}.repository references unknown repository ${skill.repository}.`);
154
+ }
155
+ if (!skillNamePattern.test(skill.skill)) {
156
+ throw new Error(`Invalid tools.lock.json: ${skillLabel}.skill is invalid.`);
157
+ }
158
+ if (skill.path !== undefined) {
159
+ assertSafeRelativePath(skill.path, `${skillLabel}.path`);
160
+ }
161
+ }
162
+ }
163
+ }
92
164
  function validateToolLock(lock) {
93
165
  if (lock.version !== 1) {
94
166
  throw new Error("Invalid tools.lock.json: version must be 1.");
@@ -107,38 +179,9 @@ function validateToolLock(lock) {
107
179
  assertExactVersion(lock.tools.graphify.version, "tools.graphify.version");
108
180
  assertString(lock.tools.gsd.package, "tools.gsd.package");
109
181
  assertExactVersion(lock.tools.gsd.version, "tools.gsd.version");
110
- assertString(lock.tools.improve.repository, "tools.improve.repository");
111
- assertGitSha(lock.tools.improve.ref, "tools.improve.ref");
112
- assertString(lock.tools.improve.skill, "tools.improve.skill");
113
- assertString(lock.tools.frontendSkills.skillsCli.package, "tools.frontendSkills.skillsCli.package");
114
- assertExactVersion(lock.tools.frontendSkills.skillsCli.version, "tools.frontendSkills.skillsCli.version");
115
- for (const skillName of [
116
- "impeccable",
117
- "webDesignGuidelines",
118
- "reactDoctor",
119
- ]) {
120
- const skill = lock.tools.frontendSkills[skillName];
121
- if (!skill) {
122
- throw new Error(`Invalid tools.lock.json: tools.frontendSkills.${skillName} must be defined.`);
123
- }
124
- assertString(skill.repository, `tools.frontendSkills.${skillName}.repository`);
125
- assertGitSha(skill.ref, `tools.frontendSkills.${skillName}.ref`);
126
- assertString(skill.skill, `tools.frontendSkills.${skillName}.skill`);
127
- }
128
- for (const skillName of [
129
- "grillMe",
130
- "grilling",
131
- "grillWithDocs",
132
- "domainModeling",
133
- ]) {
134
- const skill = lock.tools.planningSkills[skillName];
135
- if (!skill) {
136
- throw new Error(`Invalid tools.lock.json: tools.planningSkills.${skillName} must be defined.`);
137
- }
138
- assertString(skill.repository, `tools.planningSkills.${skillName}.repository`);
139
- assertGitSha(skill.ref, `tools.planningSkills.${skillName}.ref`);
140
- assertString(skill.skill, `tools.planningSkills.${skillName}.skill`);
141
- }
182
+ validateAgentSkillsCatalog(lock.tools.agentSkills);
183
+ assertString(lock.tools.agentBrowser.package, "tools.agentBrowser.package");
184
+ assertExactVersion(lock.tools.agentBrowser.version, "tools.agentBrowser.version");
142
185
  for (const runtime of ["claude", "codex", "opencode", "gemini"]) {
143
186
  assertString(lock.runtimeClis[runtime].package, `runtimeClis.${runtime}.package`);
144
187
  assertExactVersion(lock.runtimeClis[runtime].version, `runtimeClis.${runtime}.version`);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-lock.js","sourceRoot":"","sources":["../../src/tool-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-lock.js","sourceRoot":"","sources":["../../src/tool-lock.ts"],"names":[],"mappings":"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"}
package/dist/src/usage.js CHANGED
@@ -13,6 +13,7 @@ Tools:
13
13
  --graphify-only Install only Graphify
14
14
  --gsd-only Install only GSD
15
15
  --improve-only Install only shadcn Improve
16
+ --agent-browser-only Install only Agent Browser
16
17
  --frontend-skills-only Install only third-party frontend skills
17
18
  --planning-skills-only Install only third-party planning skills
18
19
  --skills-only Install only Custom Skills
@@ -22,6 +23,7 @@ Tools:
22
23
  --no-graphify Skip Graphify
23
24
  --no-gsd Skip GSD
24
25
  --no-improve Skip shadcn Improve
26
+ --no-agent-browser Skip Agent Browser
25
27
  --no-frontend-skills Skip third-party frontend skills
26
28
  --no-planning-skills Skip third-party planning skills
27
29
  --no-skills Skip Custom Skills
@@ -71,6 +73,7 @@ Environment:
71
73
  GRAPHIFY_PACKAGE Python package used to install Graphify
72
74
  GRAPHIFY_INSTALLER uv or pipx
73
75
  GSD_PACKAGE GSD package source
76
+ AGENT_BROWSER_PACKAGE Agent Browser package source
74
77
  SKILLS_CLI_PACKAGE npm package used for third-party skill installs
75
78
  GSD_SCOPE global or local
76
79
  TOOLS_LOCK_PATH External tool provenance lock path (requires --allow-mutable-sources)
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/usage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK;IACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAuFsD,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/usage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK;IACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DA0FsD,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ranimontagna/agent-toolkit",
3
- "version": "0.1.30",
3
+ "version": "0.2.0",
4
4
  "description": "Personal AI agent toolkit installer for Claude Code, Codex CLI, OpenCode, Gemini CLI, Antigravity and graph-aware workflows.",
5
5
  "type": "module",
6
6
  "engines": {
7
- "node": ">=18"
7
+ "node": ">=24"
8
8
  },
9
9
  "packageManager": "pnpm@11.8.0",
10
10
  "bin": {
@@ -26,8 +26,8 @@
26
26
  "access": "public"
27
27
  },
28
28
  "scripts": {
29
- "build": "tsc -p tsconfig.json",
30
- "check": "pnpm run lint && pnpm run typecheck && pnpm run test:unit && pnpm run build && find dist/bin dist/src -name '*.js' -print0 | xargs -0 -n1 node --check && bash -n setup-agent-toolkit.sh && pnpm run test:integration",
29
+ "build": "node scripts/clean-dist.mjs && tsc -p tsconfig.json",
30
+ "check": "pnpm run lint && pnpm run typecheck && pnpm run test:unit && pnpm run build && find dist/bin dist/src -name '*.js' -print0 | xargs -0 -n1 node --check && bash -n setup-agent-toolkit.sh && bash -n scripts/publish-npm-with-retry.sh && bash -n tests/publish-npm-with-retry.test.sh && pnpm run test:integration",
31
31
  "format": "biome format --write .",
32
32
  "lint": "biome check .",
33
33
  "lint:fix": "biome check --write .",
@@ -38,7 +38,7 @@
38
38
  "security": "pnpm run security:audit",
39
39
  "security:audit": "pnpm audit --audit-level=moderate",
40
40
  "test": "pnpm run test:unit && pnpm run test:integration",
41
- "test:integration": "pnpm run build && bash tests/test-agent-toolkit.sh",
41
+ "test:integration": "pnpm run build && bash tests/test-agent-toolkit.sh && bash tests/publish-npm-with-retry.test.sh",
42
42
  "test:unit": "vitest run",
43
43
  "typecheck": "tsc -p tsconfig.test.json --noEmit"
44
44
  },
@@ -4,11 +4,17 @@ set -euo pipefail
4
4
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
5
 
6
6
  if ! command -v node >/dev/null 2>&1; then
7
- echo "Node.js 22+ is required to run Agent Toolkit." >&2
7
+ echo "Node.js 24+ is required to run Agent Toolkit." >&2
8
8
  echo "Install Node.js, then run this command again." >&2
9
9
  exit 1
10
10
  fi
11
11
 
12
+ NODE_MAJOR="$(node -p 'process.versions.node.split(".")[0]')"
13
+ if [[ ! "$NODE_MAJOR" =~ ^[0-9]+$ ]] || (( NODE_MAJOR < 24 )); then
14
+ echo "Node.js 24+ is required to run Agent Toolkit. Current: $(node --version)" >&2
15
+ exit 1
16
+ fi
17
+
12
18
  CLI_ENTRYPOINT="$SCRIPT_DIR/dist/bin/agent-toolkit.js"
13
19
 
14
20
  if [[ ! -f "$CLI_ENTRYPOINT" ]]; then
package/tools.lock.json CHANGED
@@ -38,63 +38,118 @@
38
38
  "package": "@opengsd/gsd-core",
39
39
  "version": "1.6.1"
40
40
  },
41
- "improve": {
42
- "source": "github",
43
- "repository": "shadcn/improve",
44
- "ref": "03369ee6d7cafbfcecc4346539b05b3dc0a603bb",
45
- "skill": "improve"
41
+ "agentBrowser": {
42
+ "source": "npm",
43
+ "package": "agent-browser",
44
+ "version": "0.31.1"
46
45
  },
47
- "frontendSkills": {
46
+ "agentSkills": {
48
47
  "source": "skills-cli",
49
48
  "skillsCli": {
50
49
  "source": "npm",
51
50
  "package": "skills",
52
51
  "version": "1.5.13"
53
52
  },
54
- "impeccable": {
55
- "source": "github",
56
- "repository": "pbakaus/impeccable",
57
- "ref": "3590bf9e37c84ecbc92f9c205ce1aebf2185a971",
58
- "skill": "impeccable"
59
- },
60
- "webDesignGuidelines": {
61
- "source": "github",
62
- "repository": "vercel-labs/agent-skills",
63
- "ref": "f8a72b9603728bb92a217a879b7e62e43ad76c81",
64
- "skill": "web-design-guidelines"
65
- },
66
- "reactDoctor": {
67
- "source": "github",
68
- "repository": "millionco/react-doctor",
69
- "ref": "aa519e5f5505105ef8c00e1b1972c98514f7577a",
70
- "skill": "react-doctor"
71
- }
72
- },
73
- "planningSkills": {
74
- "source": "skills-cli",
75
- "grillMe": {
76
- "source": "github",
77
- "repository": "mattpocock/skills",
78
- "ref": "391a2701dd948f94f56a39f7533f8eea9a859c87",
79
- "skill": "grill-me"
80
- },
81
- "grilling": {
82
- "source": "github",
83
- "repository": "mattpocock/skills",
84
- "ref": "391a2701dd948f94f56a39f7533f8eea9a859c87",
85
- "skill": "grilling"
86
- },
87
- "grillWithDocs": {
88
- "source": "github",
89
- "repository": "mattpocock/skills",
90
- "ref": "391a2701dd948f94f56a39f7533f8eea9a859c87",
91
- "skill": "grill-with-docs"
53
+ "repositories": {
54
+ "shadcnImprove": {
55
+ "source": "github",
56
+ "repository": "shadcn/improve",
57
+ "ref": "03369ee6d7cafbfcecc4346539b05b3dc0a603bb"
58
+ },
59
+ "agentBrowser": {
60
+ "source": "github",
61
+ "repository": "vercel-labs/agent-browser",
62
+ "ref": "afae698a51242166170b6fe4809dd57fe9f75798"
63
+ },
64
+ "impeccable": {
65
+ "source": "github",
66
+ "repository": "pbakaus/impeccable",
67
+ "ref": "3590bf9e37c84ecbc92f9c205ce1aebf2185a971"
68
+ },
69
+ "webDesignGuidelines": {
70
+ "source": "github",
71
+ "repository": "vercel-labs/agent-skills",
72
+ "ref": "f8a72b9603728bb92a217a879b7e62e43ad76c81"
73
+ },
74
+ "reactDoctor": {
75
+ "source": "github",
76
+ "repository": "millionco/react-doctor",
77
+ "ref": "aa519e5f5505105ef8c00e1b1972c98514f7577a"
78
+ },
79
+ "remotionBestPractices": {
80
+ "source": "github",
81
+ "repository": "remotion-dev/skills",
82
+ "ref": "8b1d51ade295b2d9bd22a8f07047d13c0740f275"
83
+ },
84
+ "mattPocockSkills": {
85
+ "source": "github",
86
+ "repository": "mattpocock/skills",
87
+ "ref": "391a2701dd948f94f56a39f7533f8eea9a859c87"
88
+ }
92
89
  },
93
- "domainModeling": {
94
- "source": "github",
95
- "repository": "mattpocock/skills",
96
- "ref": "391a2701dd948f94f56a39f7533f8eea9a859c87",
97
- "skill": "domain-modeling"
90
+ "bundles": {
91
+ "improve": {
92
+ "label": "Improve",
93
+ "description": "shadcn advisor skill for auditing codebases and writing execution plans",
94
+ "skills": [
95
+ {
96
+ "repository": "shadcnImprove",
97
+ "skill": "improve",
98
+ "path": "skills/improve"
99
+ }
100
+ ]
101
+ },
102
+ "frontend-skills": {
103
+ "label": "Frontend Skills",
104
+ "description": "Third-party frontend skills installed via Agent Skills CLI",
105
+ "skills": [
106
+ { "repository": "impeccable", "skill": "impeccable" },
107
+ {
108
+ "repository": "webDesignGuidelines",
109
+ "skill": "web-design-guidelines"
110
+ },
111
+ { "repository": "reactDoctor", "skill": "react-doctor" },
112
+ {
113
+ "repository": "remotionBestPractices",
114
+ "skill": "remotion-best-practices"
115
+ }
116
+ ]
117
+ },
118
+ "planning-skills": {
119
+ "label": "Planning Skills",
120
+ "description": "Third-party planning and architecture skills installed via Agent Skills CLI",
121
+ "skills": [
122
+ { "repository": "mattPocockSkills", "skill": "grill-me" },
123
+ { "repository": "mattPocockSkills", "skill": "grilling" },
124
+ {
125
+ "repository": "mattPocockSkills",
126
+ "skill": "grill-with-docs"
127
+ },
128
+ {
129
+ "repository": "mattPocockSkills",
130
+ "skill": "domain-modeling"
131
+ },
132
+ {
133
+ "repository": "mattPocockSkills",
134
+ "skill": "codebase-design"
135
+ },
136
+ {
137
+ "repository": "mattPocockSkills",
138
+ "skill": "improve-codebase-architecture"
139
+ }
140
+ ]
141
+ },
142
+ "agent-browser": {
143
+ "label": "Agent Browser",
144
+ "description": "Pinned browser automation skill installed via Agent Skills CLI",
145
+ "skills": [
146
+ {
147
+ "repository": "agentBrowser",
148
+ "skill": "agent-browser",
149
+ "path": "skills/agent-browser"
150
+ }
151
+ ]
152
+ }
98
153
  }
99
154
  }
100
155
  },
@@ -1,8 +0,0 @@
1
- export type SkillsCliSource = {
2
- label: string;
3
- repository: string;
4
- ref: string;
5
- skill: string;
6
- };
7
- export declare function installSkillsCliSources(stepLabel: string, description: string, sources: SkillsCliSource[]): boolean;
8
- export declare function installFrontendSkills(): boolean;
@@ -1,93 +0,0 @@
1
- import fs from "node:fs";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import { err, info, ok, step } from "../logger.js";
5
- import { selectedSkillsAgentArgs } from "../runtimes.js";
6
- import { state } from "../state.js";
7
- import { capture, requireCommand, requireNode, run } from "../system.js";
8
- function cloneLockedSource(source, parentDir) {
9
- const repoUrl = `https://github.com/${source.repository}.git`;
10
- const sourceDir = path.join(parentDir, source.skill);
11
- info(`Cloning ${source.label} at ${source.ref}...`);
12
- if (!run("git", [
13
- "clone",
14
- "--filter=blob:none",
15
- "--no-checkout",
16
- repoUrl,
17
- sourceDir,
18
- ]).ok) {
19
- throw new Error(`Failed to clone ${source.repository}.`);
20
- }
21
- if (!run("git", [
22
- "-C",
23
- sourceDir,
24
- "fetch",
25
- "--depth",
26
- "1",
27
- "origin",
28
- source.ref,
29
- ]).ok) {
30
- throw new Error(`Failed to fetch ${source.repository}@${source.ref}.`);
31
- }
32
- if (!run("git", ["-C", sourceDir, "checkout", "--detach", "FETCH_HEAD"]).ok) {
33
- throw new Error(`Failed to checkout ${source.repository}@${source.ref}.`);
34
- }
35
- // FETCH_HEAD is whatever the remote decided to serve; confirm it is the
36
- // pinned commit before trusting the checked-out content.
37
- const head = capture("git", ["-C", sourceDir, "rev-parse", "HEAD"])
38
- .stdout.trim()
39
- .toLowerCase();
40
- if (head !== source.ref.toLowerCase()) {
41
- throw new Error(`Fetched commit for ${source.repository} does not match pinned ref: expected ${source.ref}, got ${head || "unknown"}.`);
42
- }
43
- return sourceDir;
44
- }
45
- function installSource(source, sourceDir) {
46
- const args = [
47
- "-y",
48
- state.frontendSkillsCliPackage,
49
- "add",
50
- sourceDir,
51
- "--skill",
52
- source.skill,
53
- ...selectedSkillsAgentArgs(),
54
- ...(state.gsdScope === "global" ? ["--global"] : []),
55
- "-y",
56
- "--copy",
57
- ];
58
- info(`Installing ${source.label} through Agent Skills CLI...`);
59
- const result = run("npx", args);
60
- if (result.ok) {
61
- ok(`${source.label} skill installed`);
62
- return true;
63
- }
64
- err(`${source.label} skill install failed`);
65
- return false;
66
- }
67
- export function installSkillsCliSources(stepLabel, description, sources) {
68
- step(stepLabel);
69
- console.log(` ${description}`);
70
- requireNode(18);
71
- requireCommand("git");
72
- requireCommand("npx");
73
- const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "agent-toolkit-skills-"));
74
- try {
75
- for (const source of sources) {
76
- const sourceDir = cloneLockedSource(source, tempDir);
77
- if (!installSource(source, sourceDir))
78
- return false;
79
- }
80
- }
81
- catch (error) {
82
- err(error instanceof Error ? error.message : String(error));
83
- return false;
84
- }
85
- finally {
86
- fs.rmSync(tempDir, { recursive: true, force: true });
87
- }
88
- return true;
89
- }
90
- export function installFrontendSkills() {
91
- return installSkillsCliSources("Frontend Skills", "Third-party frontend skills installed via Agent Skills CLI", state.frontendSkillSources);
92
- }
93
- //# sourceMappingURL=frontend-skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontend-skills.js","sourceRoot":"","sources":["../../../src/installers/frontend-skills.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function installImprove(): boolean;