@framers/agentos-skills-registry 0.2.0 → 0.2.1

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 (62) hide show
  1. package/CONTRIBUTING.md +225 -0
  2. package/README.md +120 -49
  3. package/dist/catalog.d.ts +5 -6
  4. package/dist/catalog.d.ts.map +1 -1
  5. package/dist/catalog.js +36 -206
  6. package/dist/catalog.js.map +1 -1
  7. package/dist/index.d.ts +12 -4
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +16 -14
  10. package/dist/index.js.map +1 -1
  11. package/dist/schema-types.d.ts +79 -0
  12. package/dist/schema-types.d.ts.map +1 -0
  13. package/dist/schema-types.js +11 -0
  14. package/dist/schema-types.js.map +1 -0
  15. package/dist/workspace-discovery.d.ts +84 -0
  16. package/dist/workspace-discovery.d.ts.map +1 -0
  17. package/dist/workspace-discovery.js +211 -0
  18. package/dist/workspace-discovery.js.map +1 -0
  19. package/package.json +18 -8
  20. package/registry/community/.gitkeep +0 -0
  21. package/registry/curated/1password/SKILL.md +53 -0
  22. package/registry/curated/account-manager/SKILL.md +60 -0
  23. package/registry/curated/apple-notes/SKILL.md +45 -0
  24. package/registry/curated/apple-reminders/SKILL.md +46 -0
  25. package/registry/curated/blog-publisher/SKILL.md +110 -0
  26. package/registry/curated/bluesky-bot/SKILL.md +93 -0
  27. package/registry/curated/cloud-ops/SKILL.md +124 -0
  28. package/registry/curated/coding-agent/SKILL.md +40 -0
  29. package/registry/curated/content-creator/SKILL.md +53 -0
  30. package/registry/curated/deep-research/SKILL.md +56 -0
  31. package/registry/curated/discord-helper/SKILL.md +43 -0
  32. package/registry/curated/facebook-bot/SKILL.md +94 -0
  33. package/registry/curated/git/SKILL.md +39 -0
  34. package/registry/curated/github/SKILL.md +54 -0
  35. package/registry/curated/healthcheck/SKILL.md +43 -0
  36. package/registry/curated/image-gen/SKILL.md +44 -0
  37. package/registry/curated/instagram-bot/SKILL.md +60 -0
  38. package/registry/curated/linkedin-bot/SKILL.md +86 -0
  39. package/registry/curated/mastodon-bot/SKILL.md +104 -0
  40. package/registry/curated/notion/SKILL.md +43 -0
  41. package/registry/curated/obsidian/SKILL.md +42 -0
  42. package/registry/curated/pinterest-bot/SKILL.md +45 -0
  43. package/registry/curated/reddit-bot/SKILL.md +62 -0
  44. package/registry/curated/seo-campaign/SKILL.md +51 -0
  45. package/registry/curated/site-deploy/SKILL.md +119 -0
  46. package/registry/curated/slack-helper/SKILL.md +43 -0
  47. package/registry/curated/social-broadcast/SKILL.md +145 -0
  48. package/registry/curated/spotify-player/SKILL.md +45 -0
  49. package/registry/curated/summarize/SKILL.md +40 -0
  50. package/registry/curated/threads-bot/SKILL.md +82 -0
  51. package/registry/curated/tiktok-bot/SKILL.md +104 -0
  52. package/registry/curated/trello/SKILL.md +44 -0
  53. package/registry/curated/twitter-bot/SKILL.md +63 -0
  54. package/registry/curated/weather/SKILL.md +37 -0
  55. package/registry/curated/web-scraper/SKILL.md +60 -0
  56. package/registry/curated/web-search/SKILL.md +49 -0
  57. package/registry/curated/whisper-transcribe/SKILL.md +58 -0
  58. package/registry/curated/youtube-bot/SKILL.md +104 -0
  59. package/registry.json +1426 -0
  60. package/scripts/update-registry.mjs +126 -0
  61. package/scripts/validate-skill.mjs +298 -0
  62. package/types.d.ts +77 -0
package/dist/catalog.js CHANGED
@@ -2,215 +2,45 @@
2
2
  * @fileoverview Curated Skills Catalog for AgentOS
3
3
  * @module @framers/agentos-skills-registry/catalog
4
4
  *
5
- * Statically-typed catalog of all curated skills with metadata for
6
- * programmatic discovery, filtering by category/tag, and tool-based
7
- * availability checks.
5
+ * Programmatic catalog derived from registry.json so it stays in sync with
6
+ * bundled SKILL.md entries.
8
7
  */
8
+ import { createRequire } from 'node:module';
9
9
  // ============================================================================
10
- // CATALOG
10
+ // CATALOG BUILD
11
11
  // ============================================================================
12
- export const SKILLS_CATALOG = [
13
- // ── Information ───────────────────────────────────────────────────────
14
- {
15
- name: 'weather',
16
- displayName: 'Weather Lookup',
17
- description: 'Look up current weather conditions, forecasts, and severe weather alerts for any location worldwide.',
18
- category: 'information',
19
- tags: ['weather', 'forecast', 'climate', 'location'],
20
- requiredSecrets: [],
21
- requiredTools: ['web-search'],
22
- skillPath: 'registry/curated/weather/SKILL.md',
23
- namespace: 'wunderland',
24
- source: 'curated',
25
- },
26
- {
27
- name: 'summarize',
28
- displayName: 'Text / URL Summarization',
29
- description: 'Summarize text content, web pages, documents, and long-form articles into concise, structured summaries.',
30
- category: 'information',
31
- tags: ['summarization', 'text-processing', 'tldr', 'reading', 'content-analysis'],
32
- requiredSecrets: [],
33
- requiredTools: ['web-search'],
34
- skillPath: 'registry/curated/summarize/SKILL.md',
35
- namespace: 'wunderland',
36
- source: 'curated',
37
- },
38
- // ── Developer Tools ───────────────────────────────────────────────────
39
- {
40
- name: 'github',
41
- displayName: 'GitHub (gh CLI)',
42
- description: 'Manage GitHub repositories, issues, pull requests, releases, and Actions workflows using the gh CLI.',
43
- category: 'developer-tools',
44
- tags: ['github', 'git', 'issues', 'pull-requests', 'ci-cd', 'code-review'],
45
- requiredSecrets: ['github.token'],
46
- requiredTools: [],
47
- skillPath: 'registry/curated/github/SKILL.md',
48
- namespace: 'wunderland',
49
- source: 'curated',
50
- },
51
- {
52
- name: 'coding-agent',
53
- displayName: 'Coding Agent',
54
- description: 'Write, review, debug, refactor, and explain code across multiple programming languages and frameworks.',
55
- category: 'developer-tools',
56
- tags: ['coding', 'programming', 'code-review', 'debugging', 'refactoring', 'development'],
57
- requiredSecrets: [],
58
- requiredTools: ['filesystem'],
59
- skillPath: 'registry/curated/coding-agent/SKILL.md',
60
- namespace: 'wunderland',
61
- source: 'curated',
62
- },
63
- // ── Communication ─────────────────────────────────────────────────────
64
- {
65
- name: 'slack-helper',
66
- displayName: 'Slack Helper',
67
- description: 'Manage Slack workspaces, channels, messages, and integrations through the Slack API.',
68
- category: 'communication',
69
- tags: ['slack', 'messaging', 'workspace', 'notifications', 'team-chat'],
70
- requiredSecrets: ['slack.bot_token', 'slack.app_token'],
71
- requiredTools: [],
72
- skillPath: 'registry/curated/slack-helper/SKILL.md',
73
- namespace: 'wunderland',
74
- source: 'curated',
75
- },
76
- {
77
- name: 'discord-helper',
78
- displayName: 'Discord Helper',
79
- description: 'Manage Discord servers, channels, roles, and messages through the Discord API.',
80
- category: 'communication',
81
- tags: ['discord', 'messaging', 'server', 'moderation', 'community'],
82
- requiredSecrets: ['discord.bot_token'],
83
- requiredTools: [],
84
- skillPath: 'registry/curated/discord-helper/SKILL.md',
85
- namespace: 'wunderland',
86
- source: 'curated',
87
- },
88
- // ── Productivity ──────────────────────────────────────────────────────
89
- {
90
- name: 'notion',
91
- displayName: 'Notion',
92
- description: 'Read, create, and manage pages, databases, and content blocks in Notion workspaces.',
93
- category: 'productivity',
94
- tags: ['notion', 'wiki', 'database', 'notes', 'project-management', 'knowledge-base'],
95
- requiredSecrets: ['notion.api_key'],
96
- requiredTools: [],
97
- skillPath: 'registry/curated/notion/SKILL.md',
98
- namespace: 'wunderland',
99
- source: 'curated',
100
- },
101
- {
102
- name: 'obsidian',
103
- displayName: 'Obsidian Vault',
104
- description: 'Read, create, and manage notes, links, and metadata in Obsidian vaults via the local filesystem.',
105
- category: 'productivity',
106
- tags: ['obsidian', 'markdown', 'notes', 'knowledge-graph', 'zettelkasten', 'pkm'],
107
- requiredSecrets: [],
108
- requiredTools: ['filesystem'],
109
- skillPath: 'registry/curated/obsidian/SKILL.md',
110
- namespace: 'wunderland',
111
- source: 'curated',
112
- },
113
- {
114
- name: 'trello',
115
- displayName: 'Trello',
116
- description: 'Manage Trello boards, lists, cards, checklists, and team workflows via the Trello API.',
117
- category: 'productivity',
118
- tags: ['trello', 'kanban', 'project-management', 'boards', 'tasks', 'workflow'],
119
- requiredSecrets: ['trello.api_key', 'trello.token'],
120
- requiredTools: [],
121
- skillPath: 'registry/curated/trello/SKILL.md',
122
- namespace: 'wunderland',
123
- source: 'curated',
124
- },
125
- {
126
- name: 'apple-notes',
127
- displayName: 'Apple Notes',
128
- description: 'Create, read, search, and manage notes in Apple Notes using AppleScript and macOS automation.',
129
- category: 'productivity',
130
- tags: ['apple-notes', 'macos', 'notes', 'applescript', 'automation'],
131
- requiredSecrets: [],
132
- requiredTools: ['filesystem'],
133
- skillPath: 'registry/curated/apple-notes/SKILL.md',
134
- namespace: 'wunderland',
135
- source: 'curated',
136
- },
137
- {
138
- name: 'apple-reminders',
139
- displayName: 'Apple Reminders',
140
- description: 'Create, manage, and query reminders and lists in Apple Reminders using AppleScript and macOS automation.',
141
- category: 'productivity',
142
- tags: ['apple-reminders', 'macos', 'reminders', 'tasks', 'applescript', 'automation'],
143
- requiredSecrets: [],
144
- requiredTools: ['filesystem'],
145
- skillPath: 'registry/curated/apple-reminders/SKILL.md',
146
- namespace: 'wunderland',
147
- source: 'curated',
148
- },
149
- // ── DevOps ────────────────────────────────────────────────────────────
150
- {
151
- name: 'healthcheck',
152
- displayName: 'Health Check Monitor',
153
- description: 'Monitor health and availability of systems, services, APIs, and infrastructure endpoints.',
154
- category: 'devops',
155
- tags: ['monitoring', 'health', 'uptime', 'infrastructure', 'diagnostics', 'status'],
156
- requiredSecrets: [],
157
- requiredTools: ['web-search'],
158
- skillPath: 'registry/curated/healthcheck/SKILL.md',
159
- namespace: 'wunderland',
160
- source: 'curated',
161
- },
162
- // ── Media ─────────────────────────────────────────────────────────────
163
- {
164
- name: 'spotify-player',
165
- displayName: 'Spotify Player',
166
- description: 'Control Spotify playback, manage playlists, search music, and get recommendations via the Spotify API.',
167
- category: 'media',
168
- tags: ['spotify', 'music', 'playback', 'playlists', 'streaming', 'audio'],
169
- requiredSecrets: ['spotify.client_id', 'spotify.client_secret', 'spotify.refresh_token'],
170
- requiredTools: [],
171
- skillPath: 'registry/curated/spotify-player/SKILL.md',
172
- namespace: 'wunderland',
173
- source: 'curated',
174
- },
175
- {
176
- name: 'whisper-transcribe',
177
- displayName: 'Whisper Transcription',
178
- description: 'Transcribe audio and video files to text using OpenAI Whisper or compatible speech-to-text APIs.',
179
- category: 'media',
180
- tags: ['transcription', 'whisper', 'speech-to-text', 'audio', 'stt', 'voice'],
181
- requiredSecrets: ['openai.api_key'],
182
- requiredTools: ['filesystem'],
183
- skillPath: 'registry/curated/whisper-transcribe/SKILL.md',
184
- namespace: 'wunderland',
185
- source: 'curated',
186
- },
187
- // ── Security ──────────────────────────────────────────────────────────
188
- {
189
- name: '1password',
190
- displayName: '1Password Vault',
191
- description: 'Query and retrieve items from 1Password vaults using the 1Password CLI for secure credential access.',
192
- category: 'security',
193
- tags: ['1password', 'passwords', 'secrets', 'vault', 'credentials', 'security'],
194
- requiredSecrets: [],
195
- requiredTools: [],
196
- skillPath: 'registry/curated/1password/SKILL.md',
197
- namespace: 'wunderland',
198
- source: 'curated',
199
- },
200
- // ── Creative ──────────────────────────────────────────────────────────
201
- {
202
- name: 'image-gen',
203
- displayName: 'AI Image Generation',
204
- description: 'Generate images from text prompts using AI image generation APIs like DALL-E, Stable Diffusion, or Midjourney.',
205
- category: 'creative',
206
- tags: ['image-generation', 'ai-art', 'dall-e', 'stable-diffusion', 'creative', 'visual'],
207
- requiredSecrets: ['openai.api_key'],
208
- requiredTools: [],
209
- skillPath: 'registry/curated/image-gen/SKILL.md',
210
- namespace: 'wunderland',
211
- source: 'curated',
212
- },
213
- ];
12
+ const require = createRequire(import.meta.url);
13
+ const registry = require('../registry.json');
14
+ function toStringArray(value) {
15
+ if (!Array.isArray(value))
16
+ return [];
17
+ return value.filter((v) => typeof v === 'string' && v.trim().length > 0);
18
+ }
19
+ function slugToDisplayName(slug) {
20
+ return slug
21
+ .split(/[-_]/g)
22
+ .filter(Boolean)
23
+ .map((part) => part[0].toUpperCase() + part.slice(1))
24
+ .join(' ');
25
+ }
26
+ function toCatalogEntry(entry) {
27
+ const skillPath = `${entry.path}/SKILL.md`;
28
+ return {
29
+ name: entry.name,
30
+ displayName: entry.displayName?.trim() || slugToDisplayName(entry.name),
31
+ description: entry.description ?? '',
32
+ category: entry.category?.trim() || 'uncategorized',
33
+ tags: toStringArray(entry.keywords),
34
+ requiredSecrets: toStringArray(entry.requiredSecrets),
35
+ requiredTools: toStringArray(entry.requiredTools),
36
+ skillPath,
37
+ source: entry.source,
38
+ namespace: entry.namespace?.trim() || 'wunderland',
39
+ };
40
+ }
41
+ const curated = (registry.skills?.curated ?? []).map(toCatalogEntry);
42
+ const community = (registry.skills?.community ?? []).map(toCatalogEntry);
43
+ export const SKILLS_CATALOG = [...curated, ...community].sort((a, b) => a.name.localeCompare(b.name));
214
44
  // ============================================================================
215
45
  // QUERY HELPERS
216
46
  // ============================================================================
@@ -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":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @fileoverview AgentOS Skills Registry Bundle.
2
+ * @fileoverview AgentOS Skills Registry.
3
3
  *
4
- * Single-import package that discovers and loads curated AgentOS skills
5
- * from the `@framers/agentos-skills` catalog.
4
+ * Single package containing curated SKILL.md prompt modules, a typed catalog,
5
+ * and lazy-loading factory functions for SkillRegistry/SkillSnapshot.
6
6
  *
7
7
  * `@framers/agentos` is an **optional peer dependency** — the catalog helpers
8
8
  * (re-exported from `./catalog.js`) work without it. Only the factory
@@ -51,6 +51,9 @@ export interface SkillEligibilityContext {
51
51
  }
52
52
  export { SKILLS_CATALOG, getSkillsByCategory, getSkillByName, getAvailableSkills, getCategories, getSkillsByTag, searchSkills, getCuratedSkills, getCommunitySkills, getAllSkills, } from './catalog.js';
53
53
  export type { SkillCatalogEntry } from './catalog.js';
54
+ export { discoverWorkspaceSkills, mergeWithWorkspaceSkills, parseSkillFrontmatter, } from './workspace-discovery.js';
55
+ export type { SkillFrontmatter, WorkspaceDiscoveryOptions, } from './workspace-discovery.js';
56
+ export type { SkillInstallKind, SkillInstallSpec, SkillRequirements, SkillMetadata, SkillRegistryEntry, SkillsRegistryStats, SkillsRegistry, } from './schema-types.js';
54
57
  /** Resolved module cache — loaded at most once per process. */
55
58
  declare let _agentosSkillsMod: {
56
59
  SkillRegistry: new (config?: SkillsConfig) => {
@@ -92,12 +95,17 @@ export interface CuratedSkillsOptions {
92
95
  export interface SkillsCatalogEntry {
93
96
  id: string;
94
97
  name: string;
98
+ displayName?: string;
95
99
  version: string;
96
100
  path: string;
97
101
  description: string;
102
+ category?: string;
103
+ namespace?: string;
98
104
  verified: boolean;
99
105
  verifiedAt?: string;
100
106
  keywords?: string[];
107
+ requiredSecrets?: string[];
108
+ requiredTools?: string[];
101
109
  metadata?: Record<string, unknown>;
102
110
  }
103
111
  export interface SkillsCatalog {
@@ -114,7 +122,7 @@ export interface SkillsCatalog {
114
122
  stats?: Record<string, unknown>;
115
123
  }
116
124
  /**
117
- * Load the `@framers/agentos-skills` catalog JSON.
125
+ * Load the bundled registry.json catalog.
118
126
  */
119
127
  export declare function getSkillsCatalog(): Promise<SkillsCatalog>;
120
128
  /**
@@ -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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"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @fileoverview AgentOS Skills Registry Bundle.
2
+ * @fileoverview AgentOS Skills Registry.
3
3
  *
4
- * Single-import package that discovers and loads curated AgentOS skills
5
- * from the `@framers/agentos-skills` catalog.
4
+ * Single package containing curated SKILL.md prompt modules, a typed catalog,
5
+ * and lazy-loading factory functions for SkillRegistry/SkillSnapshot.
6
6
  *
7
7
  * `@framers/agentos` is an **optional peer dependency** — the catalog helpers
8
8
  * (re-exported from `./catalog.js`) work without it. Only the factory
@@ -13,9 +13,10 @@
13
13
  */
14
14
  import * as path from 'node:path';
15
15
  import * as fs from 'node:fs/promises';
16
- import { createRequire } from 'node:module';
17
16
  // ── Re-export the programmatic catalog (zero heavy deps) ────────────────────
18
17
  export { SKILLS_CATALOG, getSkillsByCategory, getSkillByName, getAvailableSkills, getCategories, getSkillsByTag, searchSkills, getCuratedSkills, getCommunitySkills, getAllSkills, } from './catalog.js';
18
+ // ── Re-export workspace skill discovery (Feature 3.5) ───────────────────────
19
+ export { discoverWorkspaceSkills, mergeWithWorkspaceSkills, parseSkillFrontmatter, } from './workspace-discovery.js';
19
20
  // ── Lazy loader for @framers/agentos ────────────────────────────────────────
20
21
  /** Resolved module cache — loaded at most once per process. */
21
22
  let _agentosSkillsMod = null;
@@ -36,14 +37,15 @@ async function requireAgentOS() {
36
37
  'which have no peer-dep requirement.');
37
38
  }
38
39
  }
39
- // ── Path helpers (only depend on @framers/agentos-skills, a real dep) ───────
40
- const require = createRequire(import.meta.url);
41
- function resolveCatalogPath() {
42
- return require.resolve('@framers/agentos-skills/registry.json');
40
+ // ── Path helpers (resolve locally SKILL.md files are bundled in this package) ───────
41
+ const __dirname = path.dirname(new URL(import.meta.url).pathname);
42
+ /** Package root (one level up from dist/ or src/) */
43
+ function resolvePackageRoot() {
44
+ // Works from both dist/index.js and src/index.ts
45
+ return path.resolve(__dirname, '..');
43
46
  }
44
- function resolveSkillsPackageDir() {
45
- const pkgJsonPath = require.resolve('@framers/agentos-skills/package.json');
46
- return path.dirname(pkgJsonPath);
47
+ function resolveCatalogPath() {
48
+ return path.join(resolvePackageRoot(), 'registry.json');
47
49
  }
48
50
  /**
49
51
  * Absolute path to the bundled curated skills directory.
@@ -51,17 +53,17 @@ function resolveSkillsPackageDir() {
51
53
  * This directory can be passed to `SkillRegistry.loadFromDirs([dir])`.
52
54
  */
53
55
  export function getBundledCuratedSkillsDir() {
54
- return path.join(resolveSkillsPackageDir(), 'registry', 'curated');
56
+ return path.join(resolvePackageRoot(), 'registry', 'curated');
55
57
  }
56
58
  /**
57
59
  * Absolute path to the bundled community skills directory.
58
60
  */
59
61
  export function getBundledCommunitySkillsDir() {
60
- return path.join(resolveSkillsPackageDir(), 'registry', 'community');
62
+ return path.join(resolvePackageRoot(), 'registry', 'community');
61
63
  }
62
64
  // ── Catalog JSON loader ─────────────────────────────────────────────────────
63
65
  /**
64
- * Load the `@framers/agentos-skills` catalog JSON.
66
+ * Load the bundled registry.json catalog.
65
67
  */
66
68
  export async function getSkillsCatalog() {
67
69
  const registryPath = resolveCatalogPath();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @fileoverview Type declarations for registry.json schema.
3
+ *
4
+ * These types describe the shape of the SKILL.md registry catalog
5
+ * (registry.json). They differ from the SkillCatalogEntry in catalog.ts,
6
+ * which is a higher-level, UI-friendly representation.
7
+ *
8
+ * @module @framers/agentos-skills-registry/schema-types
9
+ */
10
+ export type SkillInstallKind = 'brew' | 'apt' | 'node' | 'go' | 'uv' | 'download';
11
+ export interface SkillInstallSpec {
12
+ id?: string;
13
+ kind: SkillInstallKind;
14
+ label?: string;
15
+ bins?: string[];
16
+ os?: readonly string[];
17
+ formula?: string;
18
+ package?: string;
19
+ module?: string;
20
+ url?: string;
21
+ archive?: string;
22
+ extract?: boolean;
23
+ stripComponents?: number;
24
+ targetDir?: string;
25
+ }
26
+ export interface SkillRequirements {
27
+ bins?: string[];
28
+ anyBins?: string[];
29
+ env?: string[];
30
+ config?: string[];
31
+ }
32
+ export interface SkillMetadata {
33
+ always?: boolean;
34
+ skillKey?: string;
35
+ primaryEnv?: string;
36
+ emoji?: string;
37
+ homepage?: string;
38
+ os?: readonly string[];
39
+ requires?: SkillRequirements;
40
+ install?: SkillInstallSpec[];
41
+ }
42
+ /** Shape of a single skill entry in registry.json */
43
+ export interface SkillRegistryEntry {
44
+ id: string;
45
+ name: string;
46
+ displayName?: string;
47
+ version: string;
48
+ path: string;
49
+ description: string;
50
+ category?: string;
51
+ namespace?: string;
52
+ verified: boolean;
53
+ source?: 'curated' | 'community';
54
+ verifiedAt?: string;
55
+ keywords?: string[];
56
+ requiredSecrets?: string[];
57
+ requiredTools?: string[];
58
+ metadata?: SkillMetadata;
59
+ }
60
+ export interface SkillsRegistryStats {
61
+ totalSkills: number;
62
+ curatedCount: number;
63
+ communityCount: number;
64
+ }
65
+ /** Shape of the full registry.json file */
66
+ export interface SkillsRegistry {
67
+ version: string;
68
+ updated: string;
69
+ categories: {
70
+ curated: string[];
71
+ community: string[];
72
+ };
73
+ skills: {
74
+ curated: SkillRegistryEntry[];
75
+ community: SkillRegistryEntry[];
76
+ };
77
+ stats: SkillsRegistryStats;
78
+ }
79
+ //# sourceMappingURL=schema-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../src/schema-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,SAAS,EAAE,kBAAkB,EAAE,CAAC;KACjC,CAAC;IACF,KAAK,EAAE,mBAAmB,CAAC;CAC5B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @fileoverview Type declarations for registry.json schema.
3
+ *
4
+ * These types describe the shape of the SKILL.md registry catalog
5
+ * (registry.json). They differ from the SkillCatalogEntry in catalog.ts,
6
+ * which is a higher-level, UI-friendly representation.
7
+ *
8
+ * @module @framers/agentos-skills-registry/schema-types
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=schema-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-types.js","sourceRoot":"","sources":["../src/schema-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @fileoverview Cross-Agent Skill Discovery (Feature 3.5)
3
+ *
4
+ * Discovers SKILL.md files from a workspace `.agents/skills/` directory,
5
+ * parses their YAML frontmatter, and returns them as SkillCatalogEntry[]
6
+ * compatible with the existing registry catalog.
7
+ *
8
+ * Workspace skills take priority over registry skills when names collide.
9
+ *
10
+ * @module @framers/agentos-skills-registry/workspace-discovery
11
+ */
12
+ import type { SkillCatalogEntry } from './catalog.js';
13
+ /** Raw frontmatter fields extracted from a workspace SKILL.md */
14
+ export interface SkillFrontmatter {
15
+ name: string;
16
+ version?: string;
17
+ description?: string;
18
+ category?: string;
19
+ tags?: string[];
20
+ author?: string;
21
+ namespace?: string;
22
+ requires_secrets?: string[];
23
+ requires_tools?: string[];
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ /** Options for workspace skill discovery */
27
+ export interface WorkspaceDiscoveryOptions {
28
+ /**
29
+ * Absolute or relative path to the workspace skills directory.
30
+ * Defaults to `.agents/skills/` resolved from `cwd`.
31
+ */
32
+ skillsDir?: string;
33
+ /**
34
+ * Working directory used to resolve relative `skillsDir`.
35
+ * Defaults to `process.cwd()`.
36
+ */
37
+ cwd?: string;
38
+ }
39
+ /**
40
+ * Lightweight YAML frontmatter parser.
41
+ *
42
+ * Handles the subset of YAML used in SKILL.md frontmatter:
43
+ * - scalar key: value pairs
44
+ * - inline arrays [a, b, c]
45
+ * - block arrays (- item)
46
+ *
47
+ * Does NOT pull in a full YAML dependency — keeps the package lightweight.
48
+ */
49
+ export declare function parseSkillFrontmatter(content: string): SkillFrontmatter | null;
50
+ /**
51
+ * Discover SKILL.md files from a workspace directory.
52
+ *
53
+ * Scans `<skillsDir>/` for sub-directories containing a SKILL.md file,
54
+ * parses the YAML frontmatter, and returns the discovered skills as
55
+ * SkillCatalogEntry[] compatible with the existing catalog.
56
+ *
57
+ * If the directory does not exist, returns an empty array.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * import { discoverWorkspaceSkills } from '@framers/agentos-skills-registry';
62
+ *
63
+ * // Uses default .agents/skills/ in cwd
64
+ * const skills = await discoverWorkspaceSkills();
65
+ *
66
+ * // Custom path
67
+ * const skills2 = await discoverWorkspaceSkills({
68
+ * skillsDir: '/my/project/.agents/skills',
69
+ * });
70
+ * ```
71
+ */
72
+ export declare function discoverWorkspaceSkills(options?: WorkspaceDiscoveryOptions): Promise<SkillCatalogEntry[]>;
73
+ /**
74
+ * Merge workspace-discovered skills with the registry catalog.
75
+ *
76
+ * Workspace skills take priority: if a workspace skill has the same `name`
77
+ * as a registry skill, the workspace version replaces the registry one.
78
+ *
79
+ * @param registrySkills - Skills from the built-in catalog (SKILLS_CATALOG)
80
+ * @param workspaceSkills - Skills discovered from the workspace directory
81
+ * @returns Merged array with workspace overrides applied
82
+ */
83
+ export declare function mergeWithWorkspaceSkills(registrySkills: SkillCatalogEntry[], workspaceSkills: SkillCatalogEntry[]): SkillCatalogEntry[];
84
+ //# sourceMappingURL=workspace-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-discovery.d.ts","sourceRoot":"","sources":["../src/workspace-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAuF9E;AAyBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8C9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,iBAAiB,EAAE,EACnC,eAAe,EAAE,iBAAiB,EAAE,GACnC,iBAAiB,EAAE,CAUrB"}