← all publishers

perminder-klair

@perminder-klair source repo

32 published skills

  1. NPM Release · perminder-klair
    End-to-end release workflow for publishing a Node/TypeScript package to npm — commits pending changes, pushes, bumps version, runs prepublish lint and dry-run checks, then hands off to the user to run `npm publish` manually. Use this skill whenever the user asks to "publish", "release", "ship", "push to npm", "publish to npmjs", "cut a release", "tag a version", or any combination of "commit + push + publish". Trigger even when the user only mentions one stage (e.g. "just publish it") — the skill decides which stages to skip based on repo state. Also trigger when the user is about to run `npm publish` for the first time and would benefit from pre-flight checks.
    0
    installs
  2. Llama Cpp Manage · perminder-klair bundle
    Install, configure, troubleshoot, and operate llama.cpp on Linux or macOS — covers source builds (Debian/Ubuntu apt deps, Arch pacman, Fedora/openSUSE/Alpine, macOS brew), GPU backend selection (Vulkan / Metal / ROCm / CUDA), server lifecycle (port conflicts, health probes, detached vs foreground), pi-coding-agent integration via `~/.pi/agent/models.json`, and per-model tuning (ctx, sampling, vision mmproj, GGUF metadata). USE THIS SKILL whenever the user mentions llama-server, llama-cli, llama-bench, llama.cpp build errors, "my model won't load", "the server failed to start", GGUF files, an OpenAI-compatible local server, port conflicts on 8080/8081, or trouble with the pi coding agent against a local model — even if they don't say "llama.cpp" by name. The user's primary CLI is locca; treat it as the frontend and llama.cpp as the runtime it manages.
    0
    installs
  3. Thoth · perminder-klair bundle
    Create and optimize social media content for multiple platforms using the Thoth API. Use when the user wants to create social media posts, optimize content for Twitter/LinkedIn/Instagram, generate hashtags, create AI images for posts, schedule social media content, or work with brand-consistent content creation. Supports single-post creation, content review workflows, and brand style integration.
    0
    installs
  4. Termux Comms · perminder-klair
    Android communication and media via Termux API — SMS send/receive, contacts, call log, phone calls, camera photos, microphone recording, text-to-speech, speech-to-text, media playback, file sharing, storage picker, calendar
    0
    installs
  5. Agent Browser · perminder-klair bundle
    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
    0
    installs
  6. Roohani Dance · perminder-klair bundle
    Motion-reactive freestyle game that maps phone movements to hardware effects. Use when the user wants to dance, play a motion game, do movement-based interaction, sensor play, shake-to-action, tilt games, or any physical phone interaction involving accelerometer/gyroscope responses like vibrations, torch flashes, TTS quips, and camera snapshots.
    0
    installs
  7. Termux Device · perminder-klair
    Android device control via Termux API — battery, brightness, torch, vibrate, volume, audio info, sensors, fingerprint, location, WiFi, clipboard, notifications, dialogs, toasts, wake lock, wallpaper, downloads
    0
    installs
  8. Termux System · perminder-klair
    Android system integration via Termux API — job scheduling, infrared transmit, USB device access, NFC tag read/write, hardware keystore crypto
    0
    installs
  9. Verify · perminder-klair
    Drive a controller/admin-UI change end-to-end from a worktree without touching the live station — isolated controller on a spare port + temp STATE_DIR, worktree Next dev server, Playwright against /admin.
    0
    installs
  10. Sunset · perminder-klair bundle
    Around dusk, mention what time the sun goes down tonight — one short line, the
    0
    installs
  11. Todoist · perminder-klair bundle
    Pick ONE thing off the to-do list and dare somebody to go and do it — a quick,
    0
    installs
  12. Subwave Deploy · perminder-klair bundle
    Set up, deploy, or update SUB/WAVE (a personal internet radio station). On a fresh checkout, runs scripts/setup.sh, prompts for Navidrome + Ollama credentials, brings the stack up, and generates jingles. On an already-running stack, pulls the latest, rebuilds only the Docker services whose code actually changed, recreates them, and verifies the stream is on-air. Use this skill any time the user wants to install, set up, bootstrap, deploy, update, sync, redeploy, refresh, restart, or "pull and restart" SUB/WAVE — including phrases like "set up subwave", "install subwave", "first boot", "bootstrap the radio", "pull subwave", "update the radio", "deploy subwave", "rebuild controller", "restart sub-wave", "redeploy after pull", "git pull and restart as needed", "check if the stream is healthy", or simply "deploy" / "install" / "set up" while in the subwave repo. Trigger proactively whenever the user is working in the subwave repo and mentions setting up, installing, deploying, updating, rebuilding, restarting, or
    0
    installs
  13. Subwave Control · perminder-klair
    Start or stop the SUB/WAVE radio stack (a personal internet radio station) in dev or production mode — no builds, no rebuilds, no config rendering. Use this skill any time the user wants to "start subwave", "stop subwave", "bring up the radio", "shut down the radio", "boot subwave in dev/prod", "turn subwave on/off", "is subwave running?", or otherwise just power the stack up or down. Detects which compose file (dev vs prod) is already running and matches it; if nothing is running, asks dev or prod. Dev mode also launches the Next.js web dev server on :7700 in the background. Always verifies the stream is on-air after a start. Do NOT use this skill for first-time setup, `git pull` + rebuilds, jingle generation, or config changes — that's `subwave-deploy`. If the user asks for any of those, hand off rather than starting.
    0
    installs
  14. Moon Phase · perminder-klair bundle
    If tonight's moon is at a notable phase — full, new, or a sharp crescent — work it into one short, in-character line, the way a late-night presenter might glance out the window. Skip it when the phase is unremarkable. Never recite the illumination percentage like a forecast; just colour the line with it.
    0
    installs
  15. Subwave LLM Bench · perminder-klair bundle
    Benchmark and compare LLM models for SUB/WAVE's on-air calls — track picks, segments, listener requests, DJ scripts, banter, and programme beats — in both candidate-pool and agent modes, using controller/scripts/llm-bench (the matrix harness) or the legacy picker-only controller/scripts/picker-test.mjs. Use this skill whenever the user wants to assess, benchmark, compare, or test which LLM model to run the station on — phrases like "which model should I use", "benchmark the picker / the DJ / this model", "test these models", "is <model> good enough for the radio", "compare the ollama models", "will a small model work", "run llm-bench", "run picker-test", or when diagnosing slow/failing djAgentPick / djAgentSegment / generate* calls and the model choice is suspect. Trigger it even if the user doesn't name a harness — any request to evaluate model reliability or choose a model for SUB/WAVE belongs here. This skill only measures and recommends; it does NOT change the live station's configured model.
    0
    installs
  16. Subwave Release Pr · perminder-klair
    Open a release pull request from develop to main for SUB/WAVE, and keep develop from drifting behind main. Summarises the commits queued on develop, groups them by conventional-commit type, opens the PR via gh, and — once the release lands — back-merges main → develop so the release-please version bump and CHANGELOG come across. Trigger this skill whenever the user says "create a release PR", "open a release PR to main", "release to main", "cut a release", "ship to main from develop", "open a develop→main PR", "sync develop with main", "develop is behind main", "back-merge main into develop", or any equivalent phrasing where the goal is to open the develop→main merge that release-please will promote, or to reconcile develop with main afterward. The skill does NOT touch versions, changelogs, or tags directly — release-please workflows on main own all of that downstream.
    0
    installs
  17. Subwave App Android · perminder-klair
    SUB/WAVE Android app runner
    0
    installs
  18. Subwave Log Analysis · perminder-klair bundle
    Analyse the SUB/WAVE radio station's unified event log (state/logs/events-*.jsonl) and give the operator a diagnostic report on how the station is behaving — Navidrome/ Subsonic API call patterns, the DJ picker's behaviour and music-library coverage, and runtime health anomalies. Use this skill whenever the user wants to understand or get feedback on what the radio is doing under the hood: how Navidrome calls are being made and how often, why the picker keeps choosing certain tracks or artists, whether the library pool is too narrow, whether traces are failing or running slow, or asks things like "analyse the subwave logs", "check the radio's behaviour", "what is the picker doing", "why does it keep playing the same artists", "is the station healthy", "how are the navidrome calls looking", "give me feedback on the event log". Trigger this skill even if the user does not name the log file or the script — any request to diagnose, audit, review, or get feedback on SUB/WAVE's runtime behaviour from its logs belon
    0
    installs
  19. Subwave Worktree Dev · perminder-klair bundle
    Stage a SUB/WAVE git worktree so the dev stack can run from it, then start it. A git worktree only checks out tracked files — the dev stack also needs gitignored files (controller/.env, web/.env.local, docker/.env, web/node_modules, and a state/ directory) that this skill copies or scaffolds from the main working tree. Use this skill whenever the user wants to test branch changes in a worktree, run subwave from a worktree, "prep"/"set up" a worktree for dev mode, or asks to copy env files / node_modules / state into a worktree — phrases like "test this worktree in dev mode", "start subwave from the worktree", "prep the worktree", "run my branch locally", "copy the required files into the worktree". Do NOT use it for the main checkout (that's subwave-control) or for production.
    0
    installs
  20. News · perminder-klair
    Glance at one fresh headline and drop it into a single sentence in your own words — a casual, half-distracted aside between songs, never an anchor or newsreader voice, never the headline read verbatim, no editorialising, no "in other news". Steer to the lighter, cultural, or human-interest item; if everything on the feed is grim — war, death, disaster — say nothing. A music station shouldn't read tragedy in a breezy aside.
    0
    installs
  21. Subwave News Dispatch · perminder-klair
    Write a news post for the SUB/WAVE "Dispatches" page, a short human-friendly tutorial about a feature, fix, or release. Use this skill whenever the user wants to "write a news post / dispatch / news article", "announce a feature on the news page", "add a changelog entry to the site", "post an update about <feature>", "write release notes for the site", or "tell people about <what shipped>" for SUB/WAVE. The skill knows where the markdown lives (web/content/news), the frontmatter schema, the what/how/why structure, and that every draft must be run through the `no-ai-slop` skill before saving. It does NOT publish or deploy; it just writes the .md file, and the /news page picks it up on the next build.
    0
    installs
  22. Subwave App Ota Update · perminder-klair bundle
    Ship a JS/TS-only change to the already-installed SUB/WAVE app (the Expo project in `app/`) over-the-air via EAS Update — no new TestFlight/Play build, no store round-trip. Use this skill whenever the user wants to "send an OTA update", "push this over the air", "ship these changes without a new build", "eas update", "hotfix the app", "do we need a build or can we OTA this?", "publish to the preview/production channel", "get my last commit out to testers", or asks "will my TestFlight / Android beta build get this update?". Trigger it even when the user doesn't say "OTA" or "EAS" by name — if they changed app code and want it on people's phones quickly, this is the path. The skill judges OTA-eligibility (JS/asset change vs. a native change that needs a real build), publishes to a channel, and verifies which installed builds will actually receive it. Do NOT use this when native inputs changed (a dependency add/upgrade, anything under `app/patches/` or `plugins/`, or `app.json` native sections) — that needs a bi
    0
    installs
  23. Subwave App IOS Release · perminder-klair
    Cut a NEW iOS build of the SUB/WAVE app (the Expo project in `app/`) and ship it via EAS — to TestFlight, and on to the live App Store. The app is LIVE in production on the App Store, so a release is build+submit (one command) then a manual "promote to production" step in App Store Connect. Use this skill whenever the user wants to "submit a build", "release iOS again", "push a new TestFlight build", "ship the iOS app", "release to the App Store", "cut an iOS release", "build and submit for iOS", "send a new build to testers", "deploy the iOS app", "bump the iOS build", or any equivalent phrasing aimed at getting a fresh iOS build out. Trigger it even when the user doesn't say "EAS" or "TestFlight" by name — if they want a new iOS build out, this is the path. The one-time pieces (EAS project link, signing certs, App Store Connect app record, eas.json) already exist, so the build is essentially one command. Do NOT use this for the Android app (that's `subwave-app-android`), for running on a simulator/dev (`exp
    0
    installs
  24. Subwave Discord Release · perminder-klair
    Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number. Use this skill whenever the user wants to "write a Discord announcement / post", "announce the release on Discord", "draft a release announcement", "tell the Discord about vX.Y.Z", "post the release to the community", or hands you a release-please PR / release tag and asks for community copy. The skill knows the house voice (radio-themed, warm, no em-dashes), how to pull the changelog from GitHub, how to translate conventional-commit lines into listener-facing benefits, and to size the post to the release. It outputs a ready-to-paste markdown block; it does NOT post to Discord.
    0
    installs
  25. Weather · perminder-klair bundle
    A quick, in-character read on the weather right now — one or two sentences that fold the conditions into the moment, never a forecast or a temperature readout. Only air it when the weather has genuinely turned; don't narrate "still grey out". Never open with "here's your weather" or "weather check".
    0
    installs
  26. Curiosity · perminder-klair bundle
    One oddly-specific moment of interest — ideally a real "on this day" beat from the tool (any year), dropped in like you just remembered it. If the tool has nothing, offer a light, true observation tied to the date or season rather than a hard "fact" you can't vouch for — and if you'd be guessing, skip it. Never say "fun fact", "interestingly", or "did you know".
    0
    installs
  27. Web Search · perminder-klair bundle
    Work one genuine, recent thing the on-air artist is up to — a new release, a tour, something in the press this week — into a single conversational line. Use only what the search returned; if it surfaced nothing solid or nothing new, say nothing. No "I read online", no URLs, no list, no embellishing beyond the facts.
    0
    installs
  28. Subwave App Android Release · perminder-klair
    SUB/WAVE Android release → Play Store / testers
    0
    installs
  29. Now Playing Dig · perminder-klair bundle
    One concrete, verifiable detail about the exact track on air — who produced it, a sample it's built on, the B-side, where it charted, the story behind it — worked into a single conversational line. Use only what the search tool actually surfaces; if it returns nothing solid, say nothing. Never guess, never "I think", no "fun fact", no URLs. It's about this specific track, not the artist in general.
    0
    installs
  30. Library Deep Cut · perminder-klair bundle
    If the on-air artist has a track in the library that's gone cold (not played in a while), tease it like there's more worth digging out of the crate — one sentence, in passing, without promising when it'll play. Never name the track unless the tool surfaced exactly one, and don't characterise how it sounds.
    0
    installs
  31. Album Anniversary · perminder-klair bundle
    If the album on air is hitting a round-number anniversary this year, note it like a presenter spotting a date in the prep notes — one short sentence on the date itself. Trust the year you're given; don't pad it with claims about what the album "meant" or how it charted. Never gushing, never "classic".
    0
    installs
  32. Artifact Design · perminder-klair bundle
    Design and build polished visual artifacts such as websites, reports, dashboards, demos, documents, and interactive tools. Use before producing any user-facing artifact, including HTML or skill-directed Markdown. Applies across Claude Code, Codex, Cursor, Gemini, OpenCode, and other file-capable agents.
    0
    installs