with one click
onyx
onyx contains 31 collected skills from jamalahmed2001, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
Thin shell wrapper over the Linear GraphQL API for use from agent directives. Reads Linear projects + issues, creates/updates issues, resolves viewers/cycles/labels/project IDs. Replaces the legacy src/linear/*.ts; orchestration logic now lives in vault directives (linear-import.md, linear-uplink.md), this skill only owns the HTTP boundary.
Multi-reference image composition via fal-ai/nano-banana/edit. Use when a directive needs to combine 2+ reference images into a single composed output (character + location, brand sigil + character, multi-character ensemble shot, etc.). Sister tool: bible-to-prompt assembles a canonical prompt from a character/location bible MD before calling nano-compose.
Fire a single openclaw notification per runtime contract (notifications). Always echoes to stdout in §15.4 format; also dispatches via openclaw CLI if OPENCLAW_NOTIFY_TARGET is set. Replaces src/notify/notify.ts (99 LOC); batching responsibility shifts to callers.
Fetch project-scoped context from Notion using the official REST API for use in <workplace>ProjectSync and other orchestrators.
Read, write, and search Obsidian vault markdown files
Spawn a Claude Code or Cursor agent in non-interactive mode (`--print` style) with a prompt + repo workspace. Replaces src/agents/{claudeCodeSpawn,cursorSpawn,spawnAgent}.ts (179 LOC).
Master audio to streaming-spec LUFS (two-pass ffmpeg loudnorm) and concatenate multiple mastered files into one with silence gaps. Use when a directive needs podcast/album/narration audio prepared for Spotify, YouTube, Apple Podcasts, etc. One skill, many callers — pass --codec and --target-lufs to tune per platform.
Append events to <vault>/.onyx-audit/audit.jsonl, list events, recover PID-orphaned locks. Replaces src/audit/recover.ts + src/audit/trail.ts (66 LOC).
Generic Playwright-based browser automation for sites that have no API. Pluggable recipe system — each site is a JS/TS module. First-party recipes included (suno); custom recipes loaded from --recipe-file. Persistent per-recipe login profile, first-run headful auth, subsequent headless runs.
Drop-in alternative to nano-banana/FAL compose — drives the ChatGPT web UI under your Plus/Pro subscription to do multi-ref image composition, single-image edits, and brand bakes. Same CLI shape as nano-compose, no API cost, no FAL credits. Off-label use of browser-automate (ChatGPT has aggressive bot detection — see fragility notes).
Idempotent Cloudflare DNS record upsert. Keeps A/AAAA records pointed at the current public IP (dynamic DNS), or maintains static MX/TXT/CNAME records. Idempotent — no-op if the record already matches.
Apply a project-specific safety rulepack (medical-advice, PII, blocklist, length) to an array of items with `.text` fields. Returns each item annotated with a safety block. Use in engagement flows — filter incoming comments AND outgoing reply drafts through the same rulepack.
Read onyx.config.json + .env, emit `export VAR="value"` lines for shell sourcing. Replaces src/config/load.ts (200 LOC). Existing env vars take precedence over config-file values.
Synthesize speech audio from text using ElevenLabs. Use when a directive needs to turn written script segments into MP3/WAV for podcasts, cartoon voice tracks, narration, or any voiced content. Accepts voice ID, model, and voice settings per call so multiple personas/characters can share one skill.
Launch and control a local headless Chrome instance for screenshots, PDFs, and debugging. Uses the system's /usr/bin/google-chrome in headless mode.
Run local cleanup and maintenance scripts for backups, logs, disk usage, and connection hygiene in the ~/clawd workspace.
Publish a video to Instagram as a Reel via the Graph API. Instagram fetches the video from a public URL — you don't upload the file directly. Use when a directive publishes short-form video to an Instagram Business / Creator account. One skill, many accounts — pass --account-ref to pick the credential set.
Music distribution skill with pluggable provider recipes. Upload tracks to streaming services (Spotify, Apple Music, etc.) via distributors like DistroKid, TuneCore, Amuse, RouteNote. No provider has a public upload API for individual artists — this skill drives their UIs via CDP-attached browser automation.
Evaluate, optimize, and enhance prompts using 58 proven prompting techniques. Use when user asks to improve, optimize, or analyze a prompt; when a prompt needs better clarity, specificity, or structure; or when generating prompt variations for different use cases. Covers quality assessment, targeted improvements, and automatic optimization across techniques like CoT, few-shot learning, role-play, and 50+ more.
Search PubMed via NCBI E-utilities (esearch + efetch) and return a normalised list of articles with title, URL, abstract, and PMID. Use in research-stage directives that need biomedical literature — clinical-researcher, universal-researcher, any health/biotech project.
Resolve a project's repo path. Tries explicit `repo_path` first, then fuzzy-matches under `repos_root` (lowercase substring with length tie-break, exact match preferred). Replaces src/repos/resolveRepoPath.ts (61 LOC).
Fetch one or more RSS 2.0 or Atom feeds in parallel and return a normalised list of items (title, URL, content, source, published). Use in research-stage directives that need to ingest blog/news feeds.
Generate or update a podcast RSS 2.0 + iTunes feed from a channel config and a new episode item. Dedupes by guid, preserves existing items, newest-first ordering. Use from any podcast distribution directive.
Upload, list, and manage podcast episodes on Spotify for Creators via CDP-attached browser automation. Spotify has no public upload API, so this skill drives the web UI under your signed-in account — same pattern as the suno skill.
Take a video + per-segment script lines, transcribe via Whisper for word-level timestamps, generate styled ASS subtitles, and burn them into the video via ffmpeg. Default style is TikTok-friendly (large pop-in chunks, speaker chips); pass --style alt to use the alternate compact style. Use from video-production directives that need on-screen captions.
Generate music tracks via Suno through a pluggable HTTP backend. Use from narration/podcast/video directives that need backing music or soundbeds. Configurable to use a paid Suno gateway (PiAPI, GoAPI, SunoAPI.org) or a self-hosted gcui-art/suno-api wrapper.
Read and write the user's Suno library through their real Suno Pro session — list, download, generate, organise tracks, workspaces, and personas. Drives suno.com via browser-automate (CDP-attached real Chrome), no third-party gateway. Use this for every Suno operation; suno-generate is the narrower generate-only fallback.
Upload a video file to TikTok via the Content Posting API (FILE_UPLOAD flow). Use when a directive publishes short-form video to a TikTok account. Supports scheduled publish, privacy control, comment/duet/stitch lockdown. One skill, many accounts — pass --account-ref to pick the credential set.
Transcribe audio files using Groq's Whisper API (extremely accurate, free tier)
Fetch top-level comment threads for a YouTube video (API key) and post replies (OAuth2). Pass --account-ref to pick the credential set for the target channel. Used by directives that run community engagement — fetch → filter → approve → reply.
Upload a video file to YouTube (Shorts or long-form) with metadata, thumbnail, and optional scheduled-publish time. Use when a directive needs to publish video content to a YouTube channel. One skill, many channels — pass --account-ref to pick the credential set for the target channel.