@zibby/skill-ids 0.1.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 +31 -0
- package/src/index.js +150 -0
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zibby/skill-ids",
|
|
3
|
+
"version": "0.1.0",
|
|
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
|
+
"type": "module",
|
|
6
|
+
"main": "src/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.js",
|
|
9
|
+
"./package.json": "./package.json"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"engines": {
|
|
15
|
+
"node": ">=18.0.0"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"zibby",
|
|
19
|
+
"skills",
|
|
20
|
+
"agent-workflow",
|
|
21
|
+
"constants"
|
|
22
|
+
],
|
|
23
|
+
"author": "Zibby",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"homepage": "https://zibby.dev",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "https://github.com/ZibbyDev/zibby-agent"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {}
|
|
31
|
+
}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zibby/skill-ids — the SINGLE authoritative skill-id map (zero-dep leaf).
|
|
3
|
+
*
|
|
4
|
+
* Well-known skill IDs live HERE, once. Everyone imports this leaf:
|
|
5
|
+
*
|
|
6
|
+
* @zibby/skill-ids (zero deps, bottom of the graph)
|
|
7
|
+
* ↑ ↑ ↑ ↑
|
|
8
|
+
* agent-workflow core skills backend / frontend / templates
|
|
9
|
+
*
|
|
10
|
+
* - `agent-workflow` (the engine) does NOT import this — it binds skills by
|
|
11
|
+
* string id via its registry, so it stays decoupled from concrete ids.
|
|
12
|
+
* - `@zibby/skills` re-exports `SKILL_IDS as SKILLS` (its `registerSkill()`
|
|
13
|
+
* calls + `SKILLS.X` references resolve off this object).
|
|
14
|
+
* - `@zibby/core` re-exports `SKILL_IDS as SKILLS`, so the ~71 templates that
|
|
15
|
+
* `import { SKILLS } from '@zibby/core'` get the COMPLETE map — no drift.
|
|
16
|
+
*
|
|
17
|
+
* Being a zero-dependency leaf, nothing it imports can create a cycle
|
|
18
|
+
* (dep order is agent-workflow → core → skills → templates; this sits below
|
|
19
|
+
* all of them).
|
|
20
|
+
*
|
|
21
|
+
* GOVERNANCE (pin these):
|
|
22
|
+
* - Ids are APPEND-ONLY. Never remove or rename an id — frozen template
|
|
23
|
+
* bundles resolve `SKILLS.X` forever. Renames go through an alias here.
|
|
24
|
+
* - This map is the union superset of every id any consumer has ever
|
|
25
|
+
* exposed, so re-pointing a consumer's `SKILLS` export at it can only ADD
|
|
26
|
+
* keys, never drop one (non-breaking within a caret-locked minor).
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
export const SKILL_IDS = Object.freeze({
|
|
30
|
+
BROWSER: 'browser',
|
|
31
|
+
JIRA: 'jira',
|
|
32
|
+
GITHUB: 'github',
|
|
33
|
+
GITLAB: 'gitlab',
|
|
34
|
+
// `figma` — read-only design context over the Figma REST API (figmaSkill in
|
|
35
|
+
// @zibby/skills). OAuth integration; resolves the access token per-call via
|
|
36
|
+
// the backend. Declaring SKILLS.FIGMA gates deploy on a connected Figma
|
|
37
|
+
// (backend SKILL_INTEGRATION_MAP: 'figma' → INTEGRATIONS.FIGMA).
|
|
38
|
+
FIGMA: 'figma',
|
|
39
|
+
// `linear` — api-key paste-token issue tracker (linearSkill, served over MCP
|
|
40
|
+
// via bin/mcp-skill.mjs). Backend SKILL_INTEGRATION_MAP: 'linear' →
|
|
41
|
+
// INTEGRATIONS.LINEAR.
|
|
42
|
+
LINEAR: 'linear',
|
|
43
|
+
// `plane` — api-key issue tracker (planeSkill spawns the official
|
|
44
|
+
// plane-mcp-server).
|
|
45
|
+
PLANE: 'plane',
|
|
46
|
+
// `open-design` — design/deck authoring + export over the OpenDesign REST API
|
|
47
|
+
// (the Zibby-managed `open-design` app; the id equals the catalog appType).
|
|
48
|
+
// OPTIONAL: declaring it does NOT gate deploy (no requiresIntegration).
|
|
49
|
+
OPEN_DESIGN: 'open-design',
|
|
50
|
+
// `git` — provider-agnostic clone/list/explore tools. Auto-auths against
|
|
51
|
+
// GitHub OR GitLab depending on which token the runner injected. Backend
|
|
52
|
+
// SKILL_INTEGRATION_MAP renders this as "GitHub or GitLab" via {any:[...]}.
|
|
53
|
+
GIT: 'git',
|
|
54
|
+
// `git-write` — REQUIRED extension of `git`: the same read tools PLUS the
|
|
55
|
+
// provider-agnostic mutation tool git_open_pr. Repo-MUTATING agents declare
|
|
56
|
+
// this so deploy is gated on "GitHub OR GitLab" connected; backend maps it to
|
|
57
|
+
// REQUIRED_INTEGRATION_MAP {any:[github,gitlab]}. Read-only clone agents keep
|
|
58
|
+
// GIT. Backed by gitWriteSkill.
|
|
59
|
+
GIT_WRITE: 'git-write',
|
|
60
|
+
SLACK: 'slack',
|
|
61
|
+
LARK: 'lark',
|
|
62
|
+
// `discord` — post messages / list channels in the user's Discord server as
|
|
63
|
+
// their bot (paste-token integration, provider 'discord'). Backed by
|
|
64
|
+
// discordSkill (served over bin/mcp-skill.mjs as mcp__discord__* tools).
|
|
65
|
+
DISCORD: 'discord',
|
|
66
|
+
// Notion OAuth — multi-workspace integration. Used by notify-notion and as a
|
|
67
|
+
// destination for any report-producing parent template.
|
|
68
|
+
NOTION: 'notion',
|
|
69
|
+
// `google-docs` — create/append/read Google Docs (googleDocsSkill, served over
|
|
70
|
+
// MCP as mcp__gdocs__* tools). Backed by the drive.file-scoped 'google' OAuth;
|
|
71
|
+
// backend REQUIRED_INTEGRATION_MAP: 'google-docs' → INTEGRATIONS.GOOGLE.
|
|
72
|
+
GOOGLE_DOCS: 'google-docs',
|
|
73
|
+
// `lark-docs` — read/create/append Lark/Feishu documents (larkDocsSkill, served
|
|
74
|
+
// over MCP as mcp__larkdocs__* tools). REUSES the connected Lark app
|
|
75
|
+
// (integration 'lark'); backend REQUIRED_INTEGRATION_MAP: 'lark-docs' →
|
|
76
|
+
// INTEGRATIONS.LARK.
|
|
77
|
+
LARK_DOCS: 'lark-docs',
|
|
78
|
+
// `doc_source` — INTEGRATION-GATE MARKER (like `circleci`), not a runtime MCP
|
|
79
|
+
// skill: no skill registers under this id (the resolver warns + skips it).
|
|
80
|
+
// Declaring it gates deploy on a document source via the OR-group
|
|
81
|
+
// {any:[google, notion, lark]}. Used by the prd-review template.
|
|
82
|
+
DOC_SOURCE: 'doc_source',
|
|
83
|
+
// `linkedin` — publish to the connected PERSONAL LinkedIn profile
|
|
84
|
+
// (linkedinSkill → linkedin_publish_post).
|
|
85
|
+
LINKEDIN: 'linkedin',
|
|
86
|
+
// `chat_notify` — provider-agnostic chat notification. Routes to Slack OR Lark
|
|
87
|
+
// depending on which integration the project has connected. Backend renders
|
|
88
|
+
// this as "Slack OR Lark" via {any:[...]}.
|
|
89
|
+
CHAT_NOTIFY: 'chat_notify',
|
|
90
|
+
SENTRY: 'sentry',
|
|
91
|
+
MEMORY: 'memory',
|
|
92
|
+
RUNNER: 'runner',
|
|
93
|
+
SKILL_INSTALLER: 'skill-installer',
|
|
94
|
+
CORE_TOOLS: 'core-tools',
|
|
95
|
+
CHAT_MEMORY: 'chat-memory',
|
|
96
|
+
// `kv-memory` — general-purpose per-agent persistent KV. Auto-namespaces every
|
|
97
|
+
// key by WORKFLOW_TYPE so each agent gets a disjoint key space in the same
|
|
98
|
+
// per-project partition. Backed by kvMemorySkill.
|
|
99
|
+
KV_MEMORY: 'kv-memory',
|
|
100
|
+
// `dataset-store` — durable, queryable structured-record store (append rows,
|
|
101
|
+
// run SQL-style aggregations later for reports). Auths with the run's OWN
|
|
102
|
+
// project token → UNGATED, like kv-memory. Opt-in (NOT alwaysLoad). Backed by
|
|
103
|
+
// datasetStoreSkill.
|
|
104
|
+
DATASET_STORE: 'dataset-store',
|
|
105
|
+
// `chart-render` — LOCAL server-side chart rendering (ECharts SVG SSR +
|
|
106
|
+
// @resvg/resvg-js PNG). Tier ① (API-only/local) → UNGATED. Opt-in. Backed by
|
|
107
|
+
// chartRenderSkill.
|
|
108
|
+
CHART_RENDER: 'chart-render',
|
|
109
|
+
// `social-card` — LOCAL server-side branded "concept card" renderer
|
|
110
|
+
// (hand-authored SVG → PNG). Tier ① → UNGATED. Opt-in. Backed by
|
|
111
|
+
// socialCardSkill; pairs with the linkedin skill (returns a PNG `path`).
|
|
112
|
+
SOCIAL_CARD: 'social-card',
|
|
113
|
+
// `code-scan` — AGENT-DRIVEN, stack-smart deterministic linter over a
|
|
114
|
+
// checked-out repo (JS/TS→oxlint, …). Tier ① (fully local) → UNGATED. Opt-in.
|
|
115
|
+
// No-connection TOGGLEABLE (default ON). Backed by codeScanSkill.
|
|
116
|
+
CODE_SCAN: 'code-scan',
|
|
117
|
+
// `codebase-memory` — code-graph + semantic index over the checked-out repo,
|
|
118
|
+
// backed by the codebase-memory-mcp binary BAKED INTO the agent image. Fully
|
|
119
|
+
// local → UNGATED. No-connection TOGGLEABLE (default ON). Opt-in. Backed by
|
|
120
|
+
// codebaseMemorySkill.
|
|
121
|
+
CODEBASE_MEMORY: 'codebase-memory',
|
|
122
|
+
WORKFLOW_BUILDER: 'workflow-builder',
|
|
123
|
+
// `trigger-agent` — the agent-callable `trigger_agent` MCP tool
|
|
124
|
+
// (triggerAgentSkill): fire another Zibby workflow/agent run in this project
|
|
125
|
+
// (fire-and-forget, returns the executionId). Declares no requiresIntegration.
|
|
126
|
+
TRIGGER_AGENT: 'trigger-agent',
|
|
127
|
+
// `circleci` — INTEGRATION-GATE MARKER, not a runtime MCP skill: no skill
|
|
128
|
+
// registers under this id. Declaring it gates deploy on a connected CircleCI
|
|
129
|
+
// (the flaky-test-fixer pattern).
|
|
130
|
+
CIRCLECI: 'circleci',
|
|
131
|
+
// LLM-provider admin/billing skills (paste-token integrations). See
|
|
132
|
+
// @zibby/skills' llm-billing.js + backend/src/handlers/llm-billing.js.
|
|
133
|
+
OPENAI_BILLING: 'openai_billing',
|
|
134
|
+
ANTHROPIC_BILLING: 'anthropic_billing',
|
|
135
|
+
CURSOR_ADMIN: 'cursor_admin',
|
|
136
|
+
// `session` — opt-in conversation continuity for Claude-backed nodes. The
|
|
137
|
+
// skill is registered separately via `registerSkill(sessionSkill())` (from
|
|
138
|
+
// @zibby/core) and wired declaratively through `.zibby.config.mjs` `skills:`.
|
|
139
|
+
// Kept in the id map so `SKILLS.SESSION` resolves in any consumer.
|
|
140
|
+
SESSION: 'session',
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* SKILL_META — pure-data static metadata per id (toggleable / requiresIntegration
|
|
145
|
+
* / tier / display / binary). STUB for now: Phase 2 of the skills-platform
|
|
146
|
+
* migration populates this and points each skill object's `meta` at
|
|
147
|
+
* SKILL_META[id]. Exported empty today so P2 can fill it without another wiring
|
|
148
|
+
* change. See strategy/skills-platform-architecture.md.
|
|
149
|
+
*/
|
|
150
|
+
export const SKILL_META = Object.freeze({});
|