drakulavich

drakulavich

@drakulavich

GitHub
11 Skills
792 Total Stars
April 2026 Joined

Public Skills

release-cli

by drakulavich

Cuts a STABLE CLI release (vX.Y.Z-cli marker tag; not for beta or alpha markers, which this lane silently skips while burning the tag) โ€” the ๐Ÿš€ Release (CLI) lane builds the Linux packages, publishes the marker release, and dispatches npm publish with provenance. Covers version alignment across package.json and server.json, why the tag must be pushed by a human, and how to verify from the registry rather than through a stale global install. Refuses to auto-run; user must explicitly invoke. For an engine release use release-engine.

CLI Tools 72 26d ago

release-engine

by drakulavich

Cuts a kesha-engine release (bare vX.Y.Z tag) per CLAUDE.md rules โ€” pre-flight audits, engine-only version bump, annotated tag carrying the notes, draft validation with authenticated download, publish, then verify. Refuses to auto-run; user must explicitly invoke. Knows the workflow-frozen-at-the-tag trap, the gh-cli release-notes trap, and the draft-URL 404 trap. For a CLI release use release-cli.

Comments 72 26d ago

release-mechanics

by drakulavich

Use when touching anything release-shaped โ€” version bumps, tags, draft releases, npm publish and provenance, the build-engine feature matrix, release/* PRs, bun link, or CI jobs that download a published engine. Explains why CLI and engine version independently, why tag names are one-use, why draft assets 404 for anonymous clients, and how Greptile re-review and auto-merge behave. To actually cut a release use the release-engine skill (engine) or release-cli skill (npm) instead; this one is the reference behind both.

Comments 72 26d ago

tts-internals

by drakulavich

Use when working on kesha TTS internals โ€” voice routing and which engine serves which voice-id prefix, Kokoro/Vosk ONNX I/O shapes, the CharsiuG2P vs FluidAudio G2P split, SSML handling, multilingual behaviour (es/fr/it/pt on ONNX, hi/ja/zh on darwin-arm64), or the KESHA_* TTS environment variables. Explains why darwin-arm64 routes differently from every other build.

i18n 72 27d ago

openspec-apply-change

by drakulavich

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

Automation 72 2mo ago

openspec-archive-change

by drakulavich

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

Automation 72 2mo ago

openspec-explore

by drakulavich

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

Auth 72 2mo ago

openspec-propose

by drakulavich

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

Code Gen 72 2mo ago

openspec-sync-specs

by drakulavich

Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.

File Ops 72 2mo ago

verify-pin-bump

by drakulavich

Use when a model SHA-256 mismatch surfaces (download_verified errors, manifest_tests failures, fresh download produces a different hash than rust/src/models.rs pins). Walks through the safe bump procedure โ€” verify the upstream weights deliberately, then update the pin. Refuses to suggest commenting out verification.

File Ops 72 3mo ago

kesha-voice-kit

by drakulavich

Local multilingual voice toolkit โ€” speech-to-text (STT), text-to-speech (TTS), and language detection. Runs entirely offline on Apple Silicon, Linux, and Windows. No API keys, no cloud. NVIDIA Parakeet TDT for STT across 25 European languages, Kokoro-82M + Piper VITS for TTS, plus macOS AVSpeechSynthesizer for ~180 system voices with zero install.

i18n 72 4mo ago