@framers/agentos-skills-registry 0.2.1 → 0.3.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.
package/CONTRIBUTING.md CHANGED
@@ -88,14 +88,20 @@ npm run validate registry/community/my-skill/SKILL.md
88
88
 
89
89
  ### Valid Categories
90
90
 
91
- - `information` — Data lookup, search, knowledge retrieval
92
- - `developer-tools` — Code, repos, CI/CD, debugging
91
+ - `automation` — Workflow automation, orchestration, repetitive task handling
93
92
  - `communication` — Chat, email, messaging platforms
94
- - `productivity` — Note-taking, task management, organization
95
- - `devops` — Infrastructure, monitoring, deployment
93
+ - `content` — Content planning, drafting, publishing pipelines
94
+ - `creative` — Art, writing, design, generation
95
+ - `developer-tools` — Code, repos, CI/CD, debugging
96
+ - `devops` — Operational tooling, monitoring, reliability checks
97
+ - `information` — Data lookup, search, knowledge retrieval
98
+ - `infrastructure` — Infrastructure provisioning, hosting, deployment workflows
99
+ - `marketing` — SEO, campaigns, growth workflows
96
100
  - `media` — Audio, video, image, streaming
101
+ - `productivity` — Note-taking, task management, organization
102
+ - `research` — Multi-source investigation and synthesis
97
103
  - `security` — Passwords, encryption, access control
98
- - `creative` — Art, writing, design, generation
104
+ - `social-automation` — Social publishing, engagement, and channel management
99
105
 
100
106
  ### Full Template
101
107
 
package/README.md CHANGED
@@ -1,6 +1,12 @@
1
+ <p align="center">
2
+ <a href="https://agentos.sh"><img src="logos/agentos-primary-no-tagline-transparent-2x.png" alt="AgentOS" height="56" /></a>
3
+ &nbsp;&nbsp;&nbsp;
4
+ <a href="https://frame.dev"><img src="logos/frame-logo-green-no-tagline.svg" alt="Frame.dev" height="36" /></a>
5
+ </p>
6
+
1
7
  # @framers/agentos-skills-registry
2
8
 
3
- Curated skills registry for [AgentOS](https://github.com/framersai/agentos) — 36 SKILL.md prompt modules, typed catalog, and lazy-loading factories.
9
+ Curated skills registry for [AgentOS](https://github.com/framersai/agentos) — 40 SKILL.md prompt modules, typed catalog, and lazy-loading factories.
4
10
 
5
11
  [![npm](https://img.shields.io/npm/v/@framers/agentos-skills-registry?logo=npm&color=cb3837)](https://www.npmjs.com/package/@framers/agentos-skills-registry)
6
12
 
@@ -12,7 +18,7 @@ npm install @framers/agentos-skills-registry
12
18
 
13
19
  This is the **single package** for AgentOS skills. It contains:
14
20
 
15
- - **36 curated SKILL.md files** — prompt modules spanning social automation, developer tooling, productivity, research, and more
21
+ - **40 curated SKILL.md files** — prompt modules spanning social automation, developer tooling, productivity, research, voice, and more
16
22
  - **registry.json** — machine-readable index of all skills with metadata
17
23
  - **Static catalog** (`SKILLS_CATALOG`) — typed array with query helpers
18
24
  - **Registry factories** — `createCuratedSkillRegistry()`, `createCuratedSkillSnapshot()` (requires `@framers/agentos`)
@@ -20,7 +26,7 @@ This is the **single package** for AgentOS skills. It contains:
20
26
 
21
27
  ## Quick Start
22
28
 
23
- ### 1. Browse the catalog (zero deps)
29
+ ### 1. Browse the catalog (zero peer deps)
24
30
 
25
31
  The `./catalog` sub-export has no peer dependencies:
26
32
 
@@ -61,7 +67,7 @@ Access the JSON index directly:
61
67
  import { getSkillsCatalog } from '@framers/agentos-skills-registry';
62
68
 
63
69
  const catalog = await getSkillsCatalog();
64
- console.log(catalog.skills.curated.length); // 36
70
+ console.log(catalog.skills.curated.length); // 40
65
71
  console.log(catalog.version); // '1.0.0'
66
72
  ```
67
73
 
@@ -85,21 +91,36 @@ import {
85
91
  createCuratedSkillRegistry,
86
92
  createCuratedSkillSnapshot,
87
93
  getBundledCuratedSkillsDir,
94
+ loadSkillByName,
88
95
  } from '@framers/agentos-skills-registry';
89
96
 
90
97
  // Option A: Create a live SkillRegistry loaded with all curated skills
91
98
  const registry = await createCuratedSkillRegistry();
92
99
 
100
+ // Or load only a specific curated subset
101
+ const selectedRegistry = await createCuratedSkillRegistry({
102
+ skills: ['github', 'weather'],
103
+ });
104
+
93
105
  // Option B: Build a prompt snapshot for specific skills
94
106
  const snapshot = await createCuratedSkillSnapshot({
95
107
  skills: ['github', 'weather', 'notion'], // or 'all'
96
108
  platform: 'darwin',
97
109
  });
98
110
 
111
+ // Only the selected skills are loaded when you pass an explicit list.
112
+ console.log(snapshot.skills.map((skill) => skill.name));
113
+ // ['github', 'weather', 'notion']
114
+
99
115
  // Inject the snapshot prompt into your agent's system message
100
116
  const systemPrompt = `You are an AI assistant.\n\n${snapshot.prompt}`;
101
117
 
102
- // Option C: Get the directory path and load manually
118
+ // Option C: Load a single SKILL.md lazily with parsed metadata
119
+ const githubSkill = await loadSkillByName('github');
120
+ console.log(githubSkill?.metadata?.primaryEnv); // 'GITHUB_TOKEN'
121
+ console.log(githubSkill?.frontmatter.requires_tools); // ['filesystem']
122
+
123
+ // Option D: Get the directory path and load manually
103
124
  const skillsDir = getBundledCuratedSkillsDir();
104
125
  // → '/path/to/node_modules/@framers/agentos-skills-registry/registry/curated'
105
126
  ```
@@ -128,6 +149,11 @@ const valid = skillNames.filter((name) => {
128
149
  const snapshot = await createCuratedSkillSnapshot({ skills: valid });
129
150
  ```
130
151
 
152
+ When `skills` is a string array, the registry only loads those specific `SKILL.md`
153
+ files before building the snapshot. It does not walk the full curated bundle first.
154
+ Loaded skills also include parsed `metadata` so consumers do not need to decode
155
+ the `metadata.agentos` block manually.
156
+
131
157
  ## Two Import Paths
132
158
 
133
159
  | Import | Peer deps | Use case |
@@ -137,7 +163,7 @@ const snapshot = await createCuratedSkillSnapshot({ skills: valid });
137
163
 
138
164
  The `@framers/agentos` dependency is loaded **lazily** at runtime and cached after first resolution. If it's not installed and you call a factory function, you get a clear error with install instructions.
139
165
 
140
- ## Included Skills (36)
166
+ ## Included Skills (40)
141
167
 
142
168
  The catalog now includes both foundational utility skills and social automation modules, including:
143
169
 
@@ -182,7 +208,7 @@ import type {
182
208
  | Export path | Contents |
183
209
  |-------------|----------|
184
210
  | `.` | Full SDK: catalog helpers + factory functions + schema types |
185
- | `./catalog` | Lightweight: `SKILLS_CATALOG`, query helpers (zero deps) |
211
+ | `./catalog` | Lightweight: `SKILLS_CATALOG`, query helpers (zero peer deps) |
186
212
  | `./registry.json` | Raw JSON index of all skills |
187
213
  | `./types` | TypeScript declarations for registry.json schema |
188
214
 
package/dist/catalog.d.ts CHANGED
@@ -4,7 +4,51 @@
4
4
  *
5
5
  * Programmatic catalog derived from registry.json so it stays in sync with
6
6
  * bundled SKILL.md entries.
7
+ *
8
+ * Pattern mirrors `@framers/agentos-extensions-registry/tool-registry`:
9
+ * - `SKILLS_CATALOG` array with metadata + lazy `loadSkill` factory
10
+ * - `createLocalSkillProxy()` for lazy-loading from local paths
11
+ * - `loadSkillByName()` for on-demand loading by name
12
+ */
13
+ import type { SkillMetadata } from './schema-types.js';
14
+ /**
15
+ * Result of loading a skill via its `loadSkill()` factory.
16
+ *
17
+ * Contains the parsed SKILL.md content, frontmatter, and body text — everything
18
+ * needed to inject the skill into an agent's prompt context.
7
19
  */
20
+ export interface LoadedSkill {
21
+ /** Skill name */
22
+ name: string;
23
+ /** Human-readable display name */
24
+ displayName: string;
25
+ /** Brief description */
26
+ description: string;
27
+ /** Full SKILL.md body content (after frontmatter) */
28
+ content: string;
29
+ /** Raw parsed frontmatter key/value pairs */
30
+ frontmatter: LoadedSkillFrontmatter;
31
+ /** Parsed metadata extracted from frontmatter (when available) */
32
+ metadata?: SkillMetadata;
33
+ /** Absolute path to the SKILL.md file that was loaded */
34
+ sourcePath: string;
35
+ }
36
+ export interface LoadedSkillFrontmatter extends Record<string, unknown> {
37
+ name?: string;
38
+ version?: string;
39
+ description?: string;
40
+ author?: string;
41
+ namespace?: string;
42
+ category?: string;
43
+ tags?: string[];
44
+ requires_secrets?: string[];
45
+ requires_tools?: string[];
46
+ metadata?: unknown;
47
+ userInvocable?: boolean | string;
48
+ 'user-invocable'?: boolean | string;
49
+ disableModelInvocation?: boolean | string;
50
+ 'disable-model-invocation'?: boolean | string;
51
+ }
8
52
  export interface SkillCatalogEntry {
9
53
  /** Unique skill name (matches directory name under registry/curated/) */
10
54
  name: string;
@@ -26,7 +70,29 @@ export interface SkillCatalogEntry {
26
70
  source?: 'curated' | 'community';
27
71
  /** Namespace used by the skill registry */
28
72
  namespace: string;
73
+ /** Whether this skill is available (SKILL.md exists on disk). Always true for bundled skills. */
74
+ available: boolean;
75
+ /**
76
+ * Lazy factory function that loads and parses the SKILL.md on demand.
77
+ *
78
+ * Mirrors the `createPack` pattern from `@framers/agentos-extensions-registry`.
79
+ * Returns parsed skill content including frontmatter and body text.
80
+ */
81
+ loadSkill: () => Promise<LoadedSkill>;
29
82
  }
83
+ export declare function extractLoadedSkillMetadata(frontmatter: LoadedSkillFrontmatter): SkillMetadata | undefined;
84
+ export declare function loadSkillFromAbsolutePath(absolutePath: string, displayName: string): Promise<LoadedSkill>;
85
+ /**
86
+ * Create a lazy-loading skill proxy for a relative SKILL.md path.
87
+ *
88
+ * Mirrors `createLocalPackProxy()` from the extensions-registry: the SKILL.md
89
+ * is only read and parsed when the returned function is called.
90
+ *
91
+ * @param relativePath - Path from the package root to the SKILL.md file
92
+ * (e.g. 'registry/curated/github/SKILL.md')
93
+ * @param displayName - Human-readable display name for the loaded skill
94
+ */
95
+ export declare function createLocalSkillProxy(relativePath: string, displayName: string): () => Promise<LoadedSkill>;
30
96
  export declare const SKILLS_CATALOG: SkillCatalogEntry[];
31
97
  /**
32
98
  * Get all skills in a given category.
@@ -66,4 +132,38 @@ export declare function getCommunitySkills(): SkillCatalogEntry[];
66
132
  * Get all skills (curated + community). Alias for SKILLS_CATALOG.
67
133
  */
68
134
  export declare function getAllSkills(): SkillCatalogEntry[];
135
+ /**
136
+ * Get skill entries filtered by name.
137
+ *
138
+ * Mirrors `getToolEntries()` from the extensions-registry.
139
+ */
140
+ export declare function getSkillEntries(names?: string[] | 'all' | 'none'): SkillCatalogEntry[];
141
+ /**
142
+ * Load a skill by name from the catalog.
143
+ *
144
+ * Finds the entry in SKILLS_CATALOG and calls its `loadSkill()` factory to
145
+ * read and parse the SKILL.md file on demand. Returns `null` if the skill
146
+ * is not found in the catalog.
147
+ *
148
+ * This is the primary consumer-facing API for lazy skill loading, mirroring
149
+ * how the extensions-registry resolves and loads extension packs.
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * import { loadSkillByName } from '@framers/agentos-skills-registry';
154
+ *
155
+ * const skill = await loadSkillByName('github');
156
+ * if (skill) {
157
+ * console.log(skill.content); // SKILL.md body for injection into prompt
158
+ * }
159
+ * ```
160
+ */
161
+ export declare function loadSkillByName(name: string): Promise<LoadedSkill | null>;
162
+ /**
163
+ * Load multiple skills by name from the catalog.
164
+ *
165
+ * Convenience wrapper that calls `loadSkillByName()` for each name in parallel.
166
+ * Silently skips skills that are not found in the catalog.
167
+ */
168
+ export declare function loadSkillsByNames(names: string[]): Promise<LoadedSkill[]>;
69
169
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IAEpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IAEjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,+DAA+D;IAC/D,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAEjC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAyCD,eAAO,MAAM,cAAc,EAAE,iBAAiB,EAE7C,CAAC;AAMF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAEzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAGhF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAG/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAS/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,EAAE,CAElD"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
package/dist/catalog.js CHANGED
@@ -4,8 +4,175 @@
4
4
  *
5
5
  * Programmatic catalog derived from registry.json so it stays in sync with
6
6
  * bundled SKILL.md entries.
7
+ *
8
+ * Pattern mirrors `@framers/agentos-extensions-registry/tool-registry`:
9
+ * - `SKILLS_CATALOG` array with metadata + lazy `loadSkill` factory
10
+ * - `createLocalSkillProxy()` for lazy-loading from local paths
11
+ * - `loadSkillByName()` for on-demand loading by name
7
12
  */
13
+ import * as path from 'node:path';
14
+ import * as fs from 'node:fs/promises';
8
15
  import { createRequire } from 'node:module';
16
+ import YAML from 'yaml';
17
+ // ============================================================================
18
+ // PATH HELPERS
19
+ // ============================================================================
20
+ const __dirname = path.dirname(new URL(import.meta.url).pathname);
21
+ /** Package root (one level up from dist/ or src/) */
22
+ function resolvePackageRoot() {
23
+ return path.resolve(__dirname, '..');
24
+ }
25
+ // ============================================================================
26
+ // LAZY SKILL LOADER (mirrors createLocalPackProxy from extensions-registry)
27
+ // ============================================================================
28
+ /** Resolved module cache for @framers/agentos SkillLoader — loaded at most once. */
29
+ let _skillLoaderMod = null;
30
+ /**
31
+ * Attempt to lazily import the SkillLoader from @framers/agentos.
32
+ * Falls back to a local YAML-backed parser if the peer dep is unavailable.
33
+ */
34
+ async function getSkillParser() {
35
+ if (_skillLoaderMod)
36
+ return _skillLoaderMod;
37
+ try {
38
+ const mod = await import('@framers/agentos/skills');
39
+ _skillLoaderMod = {
40
+ parseSkillFrontmatter: mod.parseSkillFrontmatter,
41
+ extractMetadata: mod.extractMetadata,
42
+ };
43
+ return _skillLoaderMod;
44
+ }
45
+ catch {
46
+ // Fallback: local YAML-backed frontmatter parser.
47
+ _skillLoaderMod = {
48
+ parseSkillFrontmatter: builtinParseSkillFrontmatter,
49
+ extractMetadata: extractLoadedSkillMetadata,
50
+ };
51
+ return _skillLoaderMod;
52
+ }
53
+ }
54
+ /**
55
+ * Built-in frontmatter parser used when @framers/agentos is not installed.
56
+ * Uses the same YAML parser family as the standalone skills runtime so nested
57
+ * metadata blocks keep working even without the peer dependency.
58
+ */
59
+ function builtinParseSkillFrontmatter(content) {
60
+ const normalized = content.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
61
+ const lines = normalized.split('\n');
62
+ if (lines[0]?.trim() !== '---') {
63
+ return { frontmatter: {}, body: normalized.trim() };
64
+ }
65
+ let endIndex = -1;
66
+ for (let i = 1; i < lines.length; i++) {
67
+ if (lines[i]?.trim() === '---') {
68
+ endIndex = i;
69
+ break;
70
+ }
71
+ }
72
+ if (endIndex === -1) {
73
+ return { frontmatter: {}, body: normalized.trim() };
74
+ }
75
+ const frontmatterBlock = lines.slice(1, endIndex).join('\n');
76
+ const body = lines.slice(endIndex + 1).join('\n').trim();
77
+ try {
78
+ const parsed = YAML.parse(frontmatterBlock);
79
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
80
+ return { frontmatter: {}, body };
81
+ }
82
+ return { frontmatter: parsed, body };
83
+ }
84
+ catch {
85
+ return { frontmatter: {}, body };
86
+ }
87
+ }
88
+ export function extractLoadedSkillMetadata(frontmatter) {
89
+ const metadataValue = frontmatter.metadata;
90
+ let meta;
91
+ if (metadataValue && typeof metadataValue === 'object') {
92
+ const metadataObject = metadataValue;
93
+ meta =
94
+ metadataObject.agentos ??
95
+ metadataObject.wunderland ??
96
+ metadataObject.openclaw ??
97
+ metadataObject;
98
+ }
99
+ else if (typeof metadataValue === 'string' && metadataValue.trim()) {
100
+ try {
101
+ meta = JSON.parse(metadataValue);
102
+ }
103
+ catch {
104
+ meta = undefined;
105
+ }
106
+ }
107
+ if (!meta) {
108
+ meta = frontmatter;
109
+ }
110
+ if (!meta || typeof meta !== 'object' || Array.isArray(meta)) {
111
+ return undefined;
112
+ }
113
+ const metadata = meta;
114
+ return {
115
+ always: metadata.always === true,
116
+ skillKey: typeof metadata.skillKey === 'string' ? metadata.skillKey : undefined,
117
+ primaryEnv: typeof metadata.primaryEnv === 'string' ? metadata.primaryEnv : undefined,
118
+ emoji: typeof metadata.emoji === 'string' ? metadata.emoji : undefined,
119
+ homepage: typeof metadata.homepage === 'string' ? metadata.homepage : undefined,
120
+ os: Array.isArray(metadata.os) ? metadata.os.filter((value) => typeof value === 'string') : undefined,
121
+ requires: metadata.requires && typeof metadata.requires === 'object' && !Array.isArray(metadata.requires)
122
+ ? metadata.requires
123
+ : undefined,
124
+ install: Array.isArray(metadata.install)
125
+ ? metadata.install
126
+ : undefined,
127
+ };
128
+ }
129
+ async function loadSkillFromContent(args) {
130
+ const parser = await getSkillParser();
131
+ const { frontmatter, body } = parser.parseSkillFrontmatter(args.content);
132
+ const metadata = parser.extractMetadata?.(frontmatter) ?? extractLoadedSkillMetadata(frontmatter);
133
+ const name = typeof frontmatter.name === 'string' && frontmatter.name.trim()
134
+ ? frontmatter.name.trim()
135
+ : path.basename(path.dirname(args.absolutePath));
136
+ const description = typeof frontmatter.description === 'string' && frontmatter.description.trim()
137
+ ? frontmatter.description.trim()
138
+ : body.split('\n').find((line) => line.trim() && !line.startsWith('#'))?.trim() ?? '';
139
+ return {
140
+ name,
141
+ displayName: args.displayName,
142
+ description,
143
+ content: body,
144
+ frontmatter,
145
+ metadata,
146
+ sourcePath: args.absolutePath,
147
+ };
148
+ }
149
+ export async function loadSkillFromAbsolutePath(absolutePath, displayName) {
150
+ let content;
151
+ try {
152
+ content = await fs.readFile(absolutePath, 'utf-8');
153
+ }
154
+ catch (err) {
155
+ throw new Error(`Failed to load SKILL.md at ${absolutePath}: ${err instanceof Error ? err.message : String(err)}`);
156
+ }
157
+ return loadSkillFromContent({
158
+ absolutePath,
159
+ content,
160
+ displayName,
161
+ });
162
+ }
163
+ /**
164
+ * Create a lazy-loading skill proxy for a relative SKILL.md path.
165
+ *
166
+ * Mirrors `createLocalPackProxy()` from the extensions-registry: the SKILL.md
167
+ * is only read and parsed when the returned function is called.
168
+ *
169
+ * @param relativePath - Path from the package root to the SKILL.md file
170
+ * (e.g. 'registry/curated/github/SKILL.md')
171
+ * @param displayName - Human-readable display name for the loaded skill
172
+ */
173
+ export function createLocalSkillProxy(relativePath, displayName) {
174
+ return async () => loadSkillFromAbsolutePath(path.resolve(resolvePackageRoot(), relativePath), displayName);
175
+ }
9
176
  // ============================================================================
10
177
  // CATALOG BUILD
11
178
  // ============================================================================
@@ -25,9 +192,10 @@ function slugToDisplayName(slug) {
25
192
  }
26
193
  function toCatalogEntry(entry) {
27
194
  const skillPath = `${entry.path}/SKILL.md`;
195
+ const entryDisplayName = entry.displayName?.trim() || slugToDisplayName(entry.name);
28
196
  return {
29
197
  name: entry.name,
30
- displayName: entry.displayName?.trim() || slugToDisplayName(entry.name),
198
+ displayName: entryDisplayName,
31
199
  description: entry.description ?? '',
32
200
  category: entry.category?.trim() || 'uncategorized',
33
201
  tags: toStringArray(entry.keywords),
@@ -36,6 +204,8 @@ function toCatalogEntry(entry) {
36
204
  skillPath,
37
205
  source: entry.source,
38
206
  namespace: entry.namespace?.trim() || 'wunderland',
207
+ available: true,
208
+ loadSkill: createLocalSkillProxy(skillPath, entryDisplayName),
39
209
  };
40
210
  }
41
211
  const curated = (registry.skills?.curated ?? []).map(toCatalogEntry);
@@ -106,4 +276,55 @@ export function getCommunitySkills() {
106
276
  export function getAllSkills() {
107
277
  return SKILLS_CATALOG;
108
278
  }
279
+ /**
280
+ * Get skill entries filtered by name.
281
+ *
282
+ * Mirrors `getToolEntries()` from the extensions-registry.
283
+ */
284
+ export function getSkillEntries(names) {
285
+ if (names === 'none')
286
+ return [];
287
+ if (!names || names === 'all')
288
+ return [...SKILLS_CATALOG];
289
+ return SKILLS_CATALOG.filter((entry) => names.includes(entry.name));
290
+ }
291
+ // ============================================================================
292
+ // ON-DEMAND SKILL LOADING
293
+ // ============================================================================
294
+ /**
295
+ * Load a skill by name from the catalog.
296
+ *
297
+ * Finds the entry in SKILLS_CATALOG and calls its `loadSkill()` factory to
298
+ * read and parse the SKILL.md file on demand. Returns `null` if the skill
299
+ * is not found in the catalog.
300
+ *
301
+ * This is the primary consumer-facing API for lazy skill loading, mirroring
302
+ * how the extensions-registry resolves and loads extension packs.
303
+ *
304
+ * @example
305
+ * ```typescript
306
+ * import { loadSkillByName } from '@framers/agentos-skills-registry';
307
+ *
308
+ * const skill = await loadSkillByName('github');
309
+ * if (skill) {
310
+ * console.log(skill.content); // SKILL.md body for injection into prompt
311
+ * }
312
+ * ```
313
+ */
314
+ export async function loadSkillByName(name) {
315
+ const entry = SKILLS_CATALOG.find((s) => s.name === name);
316
+ if (!entry)
317
+ return null;
318
+ return entry.loadSkill();
319
+ }
320
+ /**
321
+ * Load multiple skills by name from the catalog.
322
+ *
323
+ * Convenience wrapper that calls `loadSkillByName()` for each name in parallel.
324
+ * Silently skips skills that are not found in the catalog.
325
+ */
326
+ export async function loadSkillsByNames(names) {
327
+ const results = await Promise.all(names.map((n) => loadSkillByName(n)));
328
+ return results.filter((r) => r !== null);
329
+ }
109
330
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAC;AAgGxB,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AAElE,qDAAqD;AACrD,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAE/E,oFAAoF;AACpF,IAAI,eAAe,GAMR,IAAI,CAAC;AAEhB;;;GAGG;AACH,KAAK,UAAU,cAAc;IAC3B,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACpD,eAAe,GAAG;YAChB,qBAAqB,EAAG,GAAW,CAAC,qBAAqB;YACzD,eAAe,EAAG,GAAW,CAAC,eAAe;SAC9C,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,eAAe,GAAG;YAChB,qBAAqB,EAAE,4BAA4B;YACnD,eAAe,EAAE,0BAA0B;SAC5C,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,OAAe;IAInD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAC/B,QAAQ,GAAG,CAAC,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAY,CAAC;QACvD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,MAAgC,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAAmC;IAEnC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC;IAC3C,IAAI,IAAa,CAAC;IAElB,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,aAAwC,CAAC;QAChE,IAAI;YACF,cAAc,CAAC,OAAO;gBACtB,cAAc,CAAC,UAAU;gBACzB,cAAc,CAAC,QAAQ;gBACvB,cAAc,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAA+B,CAAC;IAEjD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,IAAI;QAChC,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC/E,UAAU,EAAE,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACrF,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACtE,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC/E,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QACtH,QAAQ,EACN,QAAQ,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7F,CAAC,CAAE,QAAQ,CAAC,QAAsC;YAClD,CAAC,CAAC,SAAS;QACf,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtC,CAAC,CAAE,QAAQ,CAAC,OAAoC;YAChD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAInC;IACC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,IAAI,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAElG,MAAM,IAAI,GACR,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;QAC7D,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;QACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAErD,MAAM,WAAW,GACf,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;QAC3E,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;QAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAE1F,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW;QACX,OAAO,EAAE,IAAI;QACb,WAAW;QACX,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,YAAY;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,YAAoB,EACpB,WAAmB;IAEnB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,8BAA8B,YAAY,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;IACJ,CAAC;IAED,OAAO,oBAAoB,CAAC;QAC1B,YAAY;QACZ,OAAO;QACP,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,WAAmB;IAEnB,OAAO,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC;AAC9G,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAmB,CAAC;AAE/D,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,IAAI,WAAW,CAAC;IAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,eAAe;QACnD,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,eAAe,EAAE,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;QACrD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;QACjD,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,YAAY;QAClD,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAwB,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1F,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7B,CAAC;AAEF,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,cAAwB;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,cAAc,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiC;IAC/D,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;IAC1D,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAe;IACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7D,CAAC"}
package/dist/index.d.ts CHANGED
@@ -49,14 +49,27 @@ export interface SkillEligibilityContext {
49
49
  hasEnv?: (envVar: string) => boolean;
50
50
  note?: string;
51
51
  }
52
- export { SKILLS_CATALOG, getSkillsByCategory, getSkillByName, getAvailableSkills, getCategories, getSkillsByTag, searchSkills, getCuratedSkills, getCommunitySkills, getAllSkills, } from './catalog.js';
53
- export type { SkillCatalogEntry } from './catalog.js';
52
+ export { SKILLS_CATALOG, getSkillsByCategory, getSkillByName, getAvailableSkills, getCategories, getSkillsByTag, searchSkills, getCuratedSkills, getCommunitySkills, getAllSkills, getSkillEntries, createLocalSkillProxy, loadSkillFromAbsolutePath, loadSkillByName, loadSkillsByNames, } from './catalog.js';
53
+ export type { SkillCatalogEntry, LoadedSkill, LoadedSkillFrontmatter } from './catalog.js';
54
+ import { type LoadedSkillFrontmatter } from './catalog.js';
55
+ import type { SkillMetadata } from './schema-types.js';
54
56
  export { discoverWorkspaceSkills, mergeWithWorkspaceSkills, parseSkillFrontmatter, } from './workspace-discovery.js';
55
57
  export type { SkillFrontmatter, WorkspaceDiscoveryOptions, } from './workspace-discovery.js';
56
58
  export type { SkillInstallKind, SkillInstallSpec, SkillRequirements, SkillMetadata, SkillRegistryEntry, SkillsRegistryStats, SkillsRegistry, } from './schema-types.js';
57
59
  /** Resolved module cache — loaded at most once per process. */
58
60
  declare let _agentosSkillsMod: {
59
61
  SkillRegistry: new (config?: SkillsConfig) => {
62
+ register(entry: {
63
+ skill: {
64
+ name: string;
65
+ description: string;
66
+ content: string;
67
+ };
68
+ frontmatter: LoadedSkillFrontmatter;
69
+ metadata?: SkillMetadata;
70
+ sourcePath?: string;
71
+ source?: string;
72
+ }): boolean;
60
73
  loadFromDirs(dirs: string[]): Promise<number>;
61
74
  loadFromDir?(dir: string, options?: {
62
75
  source?: string;
@@ -69,6 +82,7 @@ declare let _agentosSkillsMod: {
69
82
  runtimeConfig?: Record<string, unknown>;
70
83
  }): SkillSnapshot;
71
84
  };
85
+ extractMetadata?: (frontmatter: LoadedSkillFrontmatter) => SkillMetadata | undefined;
72
86
  } | null;
73
87
  declare function requireAgentOS(): Promise<NonNullable<typeof _agentosSkillsMod>>;
74
88
  /**
@@ -106,7 +120,7 @@ export interface SkillsCatalogEntry {
106
120
  keywords?: string[];
107
121
  requiredSecrets?: string[];
108
122
  requiredTools?: string[];
109
- metadata?: Record<string, unknown>;
123
+ metadata?: SkillMetadata;
110
124
  }
111
125
  export interface SkillsCatalog {
112
126
  version: string;
@@ -135,7 +149,7 @@ export declare function getAvailableCuratedSkills(): Promise<SkillsCatalogEntry[
135
149
  * **Requires** `@framers/agentos` as a peer dependency.
136
150
  * Throws a descriptive error if the peer dep is missing.
137
151
  */
138
- export declare function createCuratedSkillRegistry(options?: Pick<CuratedSkillsOptions, 'config'>): Promise<InstanceType<Awaited<ReturnType<typeof requireAgentOS>>['SkillRegistry']>>;
152
+ export declare function createCuratedSkillRegistry(options?: Pick<CuratedSkillsOptions, 'config' | 'skills'>): Promise<InstanceType<Awaited<ReturnType<typeof requireAgentOS>>['SkillRegistry']>>;
139
153
  /**
140
154
  * Build a SkillSnapshot from bundled curated skills.
141
155
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}