skills/doppler-convert/SKILL.md
Convert GGUF or SafeTensors assets into Doppler RDRR manifests/shards using the current Node command surface, then verify load + inference. (project)
npx skillsauth add clocksmith/doppler doppler-convertInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to add or re-convert models for Doppler runtime.
Read these before non-trivial conversion or manifest-contract changes:
docs/style/general-style-guide.mddocs/style/javascript-style-guide.mddocs/style/config-style-guide.mddocs/style/command-interface-design-guide.mdFor additive or extension-oriented conversion work, also open:
docs/developer-guides/README.mdThen route to the matching playbook:
docs/developer-guides/04-conversion-config.mddocs/developer-guides/04-conversion-config.md or docs/developer-guides/composite-model-family.mddocs/developer-guides/05-promote-model-artifact.mddocs/developer-guides/14-quantization-format.md# Convert from Safetensors directory (or GGUF file path) via unified CLI
# Output to a temporary directory first, then copy to external volume after verification.
npm run convert -- --config '{
"request": {
"inputDir": "INPUT_PATH",
"outputDir": "/tmp/OUTPUT_ID-rebuild",
"convertPayload": {
"converterConfig": {
"output": {
"modelBaseId": "OUTPUT_ID"
}
}
}
},
"run": {
"surface": "node"
}
}'
# Same conversion through direct Node helper with converter-config JSON
node tools/convert-safetensors-node.js INPUT_PATH --config ./converter-config.json --output-dir /tmp/OUTPUT_ID-rebuild
Notes:
INPUT_PATH can be a Safetensors directory, diffusion directory, or .gguf file.src/cli/doppler-cli.js -> runNodeCommand() -> src/tooling/node-converter.js.convert.Example:
{
"quantization": {
"weights": "q4k",
"embeddings": "f16",
"lmHead": "f16",
"q4kLayout": "row",
"computePrecision": "f16"
},
"output": {
"textOnly": false
}
}
# 1) Manifest exists
test -f /tmp/OUTPUT_ID-rebuild/manifest.json
# 2) Verify key manifest fields
jq '.modelId, .modelType, .quantization, .quantizationInfo, .inference.schema, (.inference.session != null), (.inference.execution != null)' /tmp/OUTPUT_ID-rebuild/manifest.json
# 3) Verify shards exist
ls /tmp/OUTPUT_ID-rebuild/shard_*.bin | wc -l
# 4) After verification passes, copy to the external RDRR root (source of truth)
# macOS: /Volumes/models/rdrr/OUTPUT_ID/
# Linux: /media/x/models/rdrr/OUTPUT_ID/
cp -a /tmp/OUTPUT_ID-rebuild/. "$RDRR_ROOT/OUTPUT_ID/"
# 5) Sanity-run inference
npm run cli -- profiles --json
npm run debug -- --config '{"request":{"modelId":"OUTPUT_ID"},"run":{"surface":"auto"}}' --runtime-profile profiles/verbose-trace --json
Notes:
inference.schema, inference.session, and inference.execution are the important contract checks.inference.defaultKernelPath as a required success criterion for v1 manifests.For publication candidates, the verification bar is higher:
src/config/conversion/ so the conversion is reproducible.npm run debug -- \
--config '{"request":{"modelId":"OUTPUT_ID"},"run":{"surface":"auto"}}' \
--runtime-config '{"shared":{"tooling":{"intent":"verify"}},"inference":{"prompt":"Explain what this model is in one short sentence.","sampling":{"temperature":0,"topK":1}}}' \
--json
result.output (and summary metrics) for non-empty, coherent text.models/catalog.json entries, syncing support-matrix metadata, or uploading/publishing to Hugging Face, stop and ask for confirmation.npm run bench -- --config ... --jsonnode tools/vendor-bench.js ...node tools/compare-engines.js ...When conversion quality is in question, follow the triage protocol in docs/agents/conversion-protocol.md:
quantization + quantizationInfo + execution-v1/session fields.every_n behavior).src/cli/doppler-cli.jstools/convert-safetensors-node.jssrc/tooling/node-command-runner.jssrc/tooling/node-converter.jssrc/converter/core.jssrc/converter/conversion-plan.jsdocs/rdrr-format.mddocs/developer-guides/README.mdAGENTS.mddoppler-debug for runtime correctness after conversiondoppler-bench for perf regressions between variantsdevelopment
Diagnose and improve Doppler model/path performance with baselines, profiling traces, and controlled runtime/code experiments. (project)
documentation
Review kernels against DOPPLER style guide and propose style guide updates.
development
Diagnose inference regressions with Doppler's shared browser/Node command contract, runtime profiles, and report artifacts. (project)
testing
Run Doppler and vendor benchmark workflows, capture reproducible JSON artifacts, and compare bench/profile coverage using the vendor registry. (project)