with one click
strixcamdb-new-protocol-or-placeholders
// Add a new protocol or placeholder to StrixCamDB. Updates schemas, README, and skill definitions to support the new value across the entire project.
// Add a new protocol or placeholder to StrixCamDB. Updates schemas, README, and skill definitions to support the new value across the entire project.
| name | StrixCamDB-New-Protocol-Or-Placeholders |
| description | Add a new protocol or placeholder to StrixCamDB. Updates schemas, README, and skill definitions to support the new value across the entire project. |
| argument-hint | [protocol name or placeholder] |
| disable-model-invocation | true |
You are adding a new protocol or URL placeholder to the StrixCamDB project. This requires updating multiple files to keep everything in sync.
Chat with the user in Russian. All file content -- in English.
On every invocation, BEFORE asking the user anything:
gh issue list --repo eduard256/StrixCamDB --label new-protocol --state opengh issue list --repo eduard256/StrixCamDB --label new-placeholder --state opengh issue view {number} --repo eduard256/StrixCamDB and parse the data:Protocol issue format:
protocol: bubble
default_port: 80
url_format: /bubble/live?ch={channel}&stream={subtype}
Plus free-text sections: Description, Known brands, URL patterns, Where to research, Notes.
Placeholder issue format:
placeholder: "[STREAM]"
alternatives: ["{stream}", "[STREAM_ID]"]
description: "Stream profile index (0=main, 1=sub)"
example_values: ["0", "1", "2"]
Plus free-text sections: Description, URL examples, Known brands using this, Notes.
gh issue close {number} --repo eduard256/StrixCamDB --comment "Added to database"If no open issues or user wants to add manually -- proceed to STEP 1.
If the user provided details in the command arguments -- parse them. If not -- ask using AskUserQuestion:
What do you want to add?
webrtc, onvif, p2p[STREAM], [PROFILE]Ask (or parse from input):
webrtc)0)Ask (or parse from input):
[STREAM])0, main){stream}, [STREAM_ID])Update these 4 files:
1. schemas/brand.schema.json
Find the protocol field description in $defs/stream/properties/protocol. Add the new protocol to the description list.
Before:
"description": "Network protocol: rtsp, http, https, mms, rtmp, rtsps, bubble, rtp, or future protocols"
After (example adding webrtc):
"description": "Network protocol: rtsp, http, https, mms, rtmp, rtsps, bubble, rtp, webrtc, or future protocols"
2. schemas/preset.schema.json
Same change -- find protocol field description in $defs/preset_stream/properties/protocol and add the new protocol.
3. README.md
Find the protocol table in the "Database Format" section under "Stream fields". Add the new protocol to the protocol field description cell, keeping the same comma-separated format.
4. .claude/skills/StrixCamDB-Add/SKILL.md
Two places to update:
a) In the "For Add stream URL" section, find the protocol list:
- Protocol (`rtsp`, `http`, `https`, `rtsps`, `rtmp`, `mms`, `bubble`, `rtp`)
Add the new protocol.
b) In the "Stream fields" table, find the protocol row and add the new protocol to the description.
Update these 3 files:
1. schemas/brand.schema.json
Find the url field description in $defs/stream/properties/url. Add the new placeholder to the list.
2. README.md
Find the "Placeholders" section. Add a new row to the table:
| `[NEW_PLACEHOLDER]` | Description of what it does |
If there are alternative forms, add them to the note below the table.
3. .claude/skills/StrixCamDB-Add/SKILL.md
Find the "Supported URL placeholders" table. Add a new row with the placeholder, description, and example value.
If there are alternative forms, add them to the "Alternative forms" line below the table.
python3 scripts/validate.py to make sure nothing brokeBefore finishing, compare ALL sources of truth and report any discrepancies to the user:
schemas/brand.schema.json vs schemas/preset.schema.json vs README.md vs StrixCamDB-Add/SKILL.md -- must be identicalschemas/brand.schema.json vs README.md vs StrixCamDB-Add/SKILL.md -- must be identicalbrands/*.json contains protocol values not listed in schemas -- warn the userAsk the user using AskUserQuestion:
Commit changes?
Add {protocol} protocol support to database schemaAdd {placeholder} placeholder supportAdd {protocol} protocol and {placeholder} placeholder supportgit tag v{X.Y.Z}git push origin v{X.Y.Z}feat:, fix:, chore: prefixes