بنقرة واحدة
version-node
Add a new version of an existing AwaitStep registry node using the overrides method (no file duplication)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Add a new version of an existing AwaitStep registry node using the overrides method (no file duplication)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | version-node |
| description | Add a new version of an existing AwaitStep registry node using the overrides method (no file duplication) |
| disable-model-invocation | true |
| argument-hint | [node_id] [new_version] |
You are bumping an existing registry node to a new version. Use the overrides method — the node config lives in base.json at the node root, and each version contributes a small overrides.json with only what changes. Do not duplicate the full schema.
The canonical reference is registry/nodes/google-gemini/ — match its file structure 1:1.
The node ID is $1 and the new version is $2.
If either is missing, ask the user.
Validate:
registry/nodes/<node_id>/ must exist.<new_version> must be valid semver and greater than every existing version directory under that node.<new_version>/ must NOT already exist.If the node currently has only <version>/node.json and no base.json at the node root, the node is on the legacy single-version layout. Migrate it first (Step 2). Otherwise skip to Step 3.
base.json is missing)Read registry/nodes/<node_id>/<existing_version>/node.json. Split it:
registry/nodes/<node_id>/base.json — every field EXCEPT version and description.registry/nodes/<node_id>/<existing_version>/overrides.json — { "version": "...", "description": "..." }.Leave the existing <existing_version>/node.json and <existing_version>/template.ts untouched. CI rebuilds node.json from base+overrides on the next push to main.
Create exactly these files (no others):
registry/nodes/<node_id>/<new_version>/overrides.json{
"version": "<new_version>",
"description": "<updated one-line description>",
"configSchema": {
"<newOrChangedField>": {
...
}
}
}
Rules for overrides.json:
version and description.deepMerge (see registry/scripts/merge.ts) layers overrides on top of base.json recursively.configSchema.<field>), include only the keys that differ; the rest are inherited from base.tags, configSchema.action.options), supply the full replacement array — arrays are not merged element-wise.registry/nodes/<node_id>/<new_version>/template.tsCopy from the previous version and apply the behavior change. Templates are per-version — there is no template inheritance.
The CI workflow .github/workflows/registry-index.yml runs registry/scripts/build-index.ts on push to main. It:
base.json + each version's overrides.json and writes the resulting <version>/node.json.registry/index.json.If you generate these locally, checksums will diverge from CI's output and cache-invalidation issues follow. Just commit base.json, overrides.json, and template.ts.
node -e "require('./registry/nodes/<id>/base.json'); require('./registry/nodes/<id>/<new_version>/overrides.json')".registry/nodes/google-gemini/ — same shape, minus the CI-generated <new_version>/node.json.Do NOT run npx tsx registry/scripts/build-index.ts.
origin/dev: feat/<node_id>-<short-summary> (e.g. feat/direct-mail-from-alias).feat: for new user-facing config fields, fix: for behavior corrections in the new version, chore: for pure metadata bumps.base.json, <version>/overrides.json, <version>/template.ts, and migrated overrides for the legacy version if Step 2 ran).<version>/node.json or registry/index.json — those are CI's job.dev.registry/nodes/google-gemini/registry/scripts/merge.tsregistry/scripts/build-index.ts.github/workflows/registry-index.yml