@zibby/skill-ids 0.1.0 → 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.
- package/package.json +1 -1
- package/src/index.js +63 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zibby/skill-ids",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Single authoritative Zibby skill-id map (zero-dep leaf). The one source of truth for well-known skill ids — every consumer (agent-workflow, core, skills, backend, templates) imports it, so the ids can never drift.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
package/src/index.js
CHANGED
|
@@ -142,9 +142,67 @@ export const SKILL_IDS = Object.freeze({
|
|
|
142
142
|
|
|
143
143
|
/**
|
|
144
144
|
* SKILL_META — pure-data static metadata per id (toggleable / requiresIntegration
|
|
145
|
-
* / tier / display / binary).
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
145
|
+
* / tier / display / binary). Phase 2 of the skills-platform migration.
|
|
146
|
+
*
|
|
147
|
+
* This is the SINGLE SOURCE OF TRUTH for a skill's toggle metadata. Every one of
|
|
148
|
+
* the five toggle surfaces derives from here:
|
|
149
|
+
* 1. engine gate — the skill object sets `meta = SKILL_META[id]` by
|
|
150
|
+
* reference (@zibby/skills), and claude-strategy's
|
|
151
|
+
* isToggleableOff() reads `skill.meta.toggleable`.
|
|
152
|
+
* 2. backend registry — a build-emitted JSON manifest (backend cannot ESM-
|
|
153
|
+
* import() this ESM leaf: it's CJS, this isn't a backend
|
|
154
|
+
* dep, and the .jsc control-plane can't dynamic-import) —
|
|
155
|
+
* see backend/scripts/gen-skill-meta.mjs →
|
|
156
|
+
* backend/src/services/skill-meta.json.
|
|
157
|
+
* 3. cloud marketplace sync, 4. self-host deploy, 5. self-host catalog list —
|
|
158
|
+
* all flow from the backend registry (#2).
|
|
159
|
+
*
|
|
160
|
+
* Shape per id:
|
|
161
|
+
* { toggleable, requiresIntegration, tier, display:{ name, description },
|
|
162
|
+
* binary?:{ name, version, sha256 } }
|
|
163
|
+
*
|
|
164
|
+
* A skill absent from this map is "not toggleable" (the default for everything
|
|
165
|
+
* except the two no-connection toggleable skills). Ids are append-only (see the
|
|
166
|
+
* governance note above). Objects are DEEP-frozen so a skill object that shares a
|
|
167
|
+
* `meta` reference cannot mutate the static map.
|
|
168
|
+
*
|
|
169
|
+
* NOTE (byte-identical contract): `display.name`/`display.description` MUST equal
|
|
170
|
+
* the strings the backend previously hardcoded in NO_INTEGRATION_TOGGLEABLE_SKILLS
|
|
171
|
+
* (skill-integrations.js) — the backend now derives that map from here, so any
|
|
172
|
+
* edit changes the marketplace/status display. See strategy/skills-platform-architecture.md.
|
|
149
173
|
*/
|
|
150
|
-
|
|
174
|
+
const deepFreeze = (o) => {
|
|
175
|
+
if (o && typeof o === 'object' && !Object.isFrozen(o)) {
|
|
176
|
+
Object.values(o).forEach(deepFreeze);
|
|
177
|
+
Object.freeze(o);
|
|
178
|
+
}
|
|
179
|
+
return o;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export const SKILL_META = deepFreeze({
|
|
183
|
+
'codebase-memory': {
|
|
184
|
+
toggleable: true,
|
|
185
|
+
requiresIntegration: false,
|
|
186
|
+
tier: 2,
|
|
187
|
+
display: {
|
|
188
|
+
name: 'Codebase memory',
|
|
189
|
+
description:
|
|
190
|
+
'Code-graph + semantic index over the checked-out repo (architecture map, '
|
|
191
|
+
+ 'dependency/call-path tracing, change detection). Runs locally on the '
|
|
192
|
+
+ 'agent image — no connection required.',
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
'code-scan': {
|
|
196
|
+
toggleable: true,
|
|
197
|
+
requiresIntegration: false,
|
|
198
|
+
tier: 2,
|
|
199
|
+
display: {
|
|
200
|
+
name: 'Code scan',
|
|
201
|
+
description:
|
|
202
|
+
'Stack-smart deterministic linter (oxlint for JS/TS, …). Detects the repo\'s '
|
|
203
|
+
+ 'stack and runs the matching baked linter over the changed code, feeding '
|
|
204
|
+
+ 'structured findings to the reviewer. Runs locally on the agent image — '
|
|
205
|
+
+ 'no connection required.',
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
});
|