OPS on-demand: This skill should be used when the user asks to "A&R this track", "demo verdict", or…

MITAuto-check: notes

Install Ops Ar

skills CLI
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-ar -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-ar --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-ops/skills/ops-ar .claude/skills/ops-ar && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ops-ar
GitHub stars
542
Token cost
~3.3k tokens
SKILL.md length
1,526 words
Files
1
Skills in repo
67
Repo updated
First seen
Licence
MIT

At a glance

OPS on-demand: This skill should be used when the user asks to "A&R this track", "demo verdict", or…

  • Works in 4 steps: Single track — /ops:ops-ar → Batch — /ops:ops-ar ... (or multiple URLs) → Inbox sweep — /ops:ops-ar inbox [from ...] → …
  • Asks to A&R this track
  • SKILL.md covers Configuration (templatable —…, Modes, Pro APIs (Cyanite / Music.ai /… and Interpretation guardrails…, plus 2 more sections
  • Calls jq, python and yt-dlp

What it does

Ops Ar is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "A&R this track", "demo verdict", or…

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Business operating system for Claude Code — 57 skills, 21 agents, smart daemon. Unified inbox (WhatsApp/Email/Slack/Telegram), autonomous PR merge, full-AWS monitoring, revenue… The licence is MIT.

When your agent uses it

  • Asks to A&R this track

Example prompts

  • “A&R this track”
  • “demo verdict”
  • “/ops-ar”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Read, Write, Grep, Glob, Agent, TeamCreate, SendMessage, AskUserQuestion, WebSearch

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Single track — /ops:ops-ar
  2. Batch — /ops:ops-ar ... (or multiple URLs)
  3. Inbox sweep — /ops:ops-ar inbox [from ...]
  4. Email delivery — "send the verdict to my email"

What it can do on your machine

Read from SKILL.md and the folder at commit 1aa0928. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Grep
    • Glob
    • Agent
    • TeamCreate
    • SendMessage
    • AskUserQuestion
    • WebSearch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • python
    • yt-dlp

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ops Ar loads about 3.3k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 1,526 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Grep, Glob, Agent, TeamCreate, SendMessage, AskUserQuestion, WebSearch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Lifecycle-Innovations-Limited/claude-ops at commit 1aa0928, republished under its MIT licence (© Lifecycle-Innovations-Limited). 1,526 words, ~3,301 tokens.

Download SKILL.mdSave it as .claude/skills/ops-ar/SKILL.md (or your agent's skills folder).
name
ops-ar
description
OPS on-demand: This skill should be used when the user asks to "A&R this track", "demo verdict", or…
allowed-tools
Bash, Read, Write, Grep, Glob, Agent, TeamCreate, SendMessage, AskUserQuestion, WebSearch
argument-hint
<audio file | URL/Dropbox | "latest" | <file1> <file2> ... | inbox [from <sender>...]>
effort
high

/ops:ops-ar — A&R Command

Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).

A&R the given record(s) like a pop/dance-hit label owner + master producer. The deliverable is always the full A&R card per track:

VERDICT (hit/10 + sign / develop / pass) → WHAT'S WORKING → WHAT'S HOLDING IT BACK → THE PLAN (producer moves) → REFERENCE & POSITIONING → NEXT.

Configuration (templatable — no hardcoded personal data)

SettingSourceDefault
Audio analysis stack home$AUDIO_AR_HOME env or ar.stack_home in $PREFS_PATH~/audio-ai
Python venv$AUDIO_AR_HOME/venv/bin/python—
Music.ai workflow slug$MUSICAI_WORKFLOW env or Doppler(required for Music.ai)
Cyanite / Music.ai / Soundcharts keysenv / Doppler / ~/.mcp-secrets.env—
A&R taste profile (label lane, reference acts, tempo sweet spot)ar.profile in $PREFS_PATHdance-pop / feel-good house

The skill must read these at runtime — never hardcode user names, mailboxes, label names, or absolute /Users/... paths.

Taste profile injection (mandatory when ar.profile exists)

Before spawning any ar-producer agent, read the profile once:

bash
PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
jq '.ar.profile // empty' "$PREFS"

If non-empty, inject the whole JSON object verbatim into every ar-producer spawn prompt, with the instruction: "Judge as the A&R for THIS owner/label. Calibrate the verdict per verdict_calibration. Weigh hooks and toplines against songwriting_taste. REFERENCE & POSITIONING must position against catalog_recent, signature_classics, and label_roster_third_party — name the closest catalog comparison, not generic genre acts. Check tempo against tempo_sweet_spot and brand fit against lane. If signing_structure is present, the NEXT section of a sign/develop verdict must state which entity signs the master."

Fields the profile may carry (all optional): owner, label, lane, tempo_sweet_spot, ar_team, signing_structure, reference_acts, catalog_recent, signature_classics, label_roster_third_party, songwriting_taste, verdict_calibration. If the profile is absent, fall back to the generic dance-pop / feel-good house default and say so in the card header.

Imprint gate (mandatory when ar.imprints is non-empty)

Imprints are data, not code. Never hardcode an imprint's name, sound, or test — read them:

bash
jq -r '.ar.imprints // {} | keys[]' "$PREFS"          # imprint keys
jq '.ar.imprints["<key>"]' "$PREFS"                   # one imprint

For each imprint whose lane the track falls in, inject that object verbatim into the ar-producer spawn prompt except brand_book_corpus (the full scraped brand-book text — too large for a spawn prompt; consult it only when a card needs exact brand-book language, via jq '.ar.imprints["<key>"].brand_book_corpus.pages | keys' then the specific page). Always inject sound_description — it is the imprint's sonic north star and the tiebreaker on the subjective points.

Add an IMPRINT section to the A&R card between VERDICT and WHAT'S WORKING: score the track against that imprint's own ten_point_test per its scoring_rule (one line per point, pass/fail/N-A, with the failing evidence named), then one routing line — eligible for <imprint display_name>, or route to parent label. An imprint is a strict subset of the label: a failed gate never downgrades the main verdict, it only routes the release. Owner's own tracks always get the scorecard; third-party demos get it only when they are in that imprint's lane.

Each imprint object may carry: display_name, lane, sound_description, ten_point_test, scoring_rule, brand_book_corpus. If ar.imprints is absent or empty, skip the IMPRINT section entirely — do not invent an imprint.

Modes

1. Single track — /ops:ops-ar <file|url|latest>

Spawn the ar-producer agent (Opus) with the track:

  • Local file → pass the path directly.
  • URL/Dropbox → agent downloads first (Dropbox: append &dl=1; YouTube: yt-dlp -x --audio-format mp3).
  • latest / empty → newest audio file (.mp3, .wav, .m4a, .aiff, .flac, .ogg, .aac) in ~/.claude/jobs/*/tmp/ by mtime — ignore JSON, PNG, and other non-audio artifacts.
  • Subagent MCP rule: the spawn prompt MUST name the audio-ar tools and include the literal instruction ToolSearch select:mcp__audio-ar__full_ar_report,mcp__audio-ar__analyze_track,mcp__audio-ar__mood_score,mcp__audio-ar__transcribe_vocals,mcp__audio-ar__separate_stems,mcp__audio-ar__render_visuals,mcp__audio-ar__analyze_stems,mcp__audio-ar__cyanite_analyze,mcp__audio-ar__musicai_analyze,mcp__audio-ar__soundcharts_lookup — subagents don't inherit MCP discovery.
  • Relay the agent's A&R card back verbatim.
2. Batch — /ops:ops-ar <file1> <file2> ... (or multiple URLs)

A&R multiple local paths or URLs in one invocation:

  1. Collect inputs — every argument after the skill name is a track (local file or URL/Dropbox). Download URLs first (same rules as single-track).
  2. Dedupe by md5 (same file copied under different names counts once).
  3. Analyze per track — spawn ar-producer (Opus) per deduped track, in waves of ≤2 (stem separation is CPU-heavy; check nproc/uptime first). Same subagent MCP rule as single-track mode (include the full ToolSearch select:mcp__audio-ar__... list). Relay each agent's full A&R card back verbatim.
  4. Summarize — compile a ranked verdict table from the per-track cards.
3. Inbox sweep — /ops:ops-ar inbox [from <sender> ...]

Pull every demo/song from the user's Gmail inbox and A&R them all:

  1. Find demos: gog gmail search 'has:attachment (filename:mp3 OR filename:wav OR filename:m4a OR filename:aiff OR filename:flac OR filename:ogg OR filename:aac)' (add from: filters if senders given). Confirm scope with the user if the set is large (>10 threads).
  2. Download attachments to disk without flooding context: per thread, gog gmail thread get <tid> -j → message ids from thread.messages[].id (envelope {downloaded, thread: {messages: [...]}} — NOT top-level messages) → gog gmail raw <mid> -j piped to jq for audio parts (filename + attachmentId) → gog gmail attachment <mid> <aid> --out <dir>/<label>__<file>. Also grep text parts for external links (postal.music, disco.ac, wetransfer, dropbox) — flag link-only demos that need a login as NOT ANALYZED and tell the user to request a file re-send.
  3. Dedupe by md5 (forwarded demos repeat across threads).
  4. Analyze per track — spawn ar-producer (Opus) per deduped demo, in waves of ≤2 (stem separation is CPU-heavy; check nproc/uptime first). Same subagent MCP rule as single-track mode (include the full ToolSearch select:mcp__audio-ar__... list). Relay each agent's full A&R card back verbatim.
  5. Summarize — compile a ranked verdict table from the per-track cards.
Show full SKILL.md (653 more words)Show less
4. Email delivery — "send the verdict to my email"

House rule: every A&R email ALWAYS includes (a) a per-track DIRECT LISTEN LINK and (b) the FULL A&R card per track — never just the ranked summary.

  • DIRECT listen link (mandatory): a link that actually PLAYS the audio — any external streaming link found in the thread (postal.music, disco.ac, …), OR upload the demo to Google Drive (gog drive upload <file> → share → direct link). An email-thread link alone is NOT sufficient.
  • Also include the Gmail deep-link (gog gmail url <threadId>) — both direct + email link is ideal.
  • Rule 6 applies in full: stage the final draft, get explicit per-message approval, then send (one approval = one send).

Pro APIs (Cyanite / Music.ai / Soundcharts) — operational notes

  • Cyanite ($AUDIO_AR_HOME/venv/bin/python pro_apis.py cyanite <file>): returns genreTags, subgenreTags, moodTags, instrumentTags, bpmRangeAdjusted, bpmPrediction{value confidence}, keyPrediction{value confidence}, timeSignature, energyLevel, valence, arousal, voicePresenceProfile, predominantVoiceGender, musicalEraTag, transformerCaption and per-mood scores (mood{happy uplifting energetic dark sad calm epic romantic}). Free/trial plans have a LIFETIME library cap — deleting tracks does NOT free quota. On librarySizeLimitExceededError, route through Music.ai instead.
    • Schema drift (2026-10): fileUploadRequest now returns { uploadUrl id } (the field was uploadId), then libraryTrackCreate(input: { uploadId: $id }) with $id: ID!. Older pro_apis.py copies that read uploadId, send a String id, or query removed fields fail validation — fix the stack, not the card.
    • Auth test: query { ping } answers without a valid key. Prove a key with libraryTracks(first: 1) { edges { node { id } } } and check that data.libraryTracks is an object.
    • API access needs a webhook URL on the Cyanite integration, even if you only poll. Point it at an HTTPS endpoint you control, and verify the Signature header (HMAC-SHA512 of the raw body with the webhook secret) before processing any payload; reject mismatches. A tiny Cloudflare Worker is enough.
    • Mood scores beat CLAP on dark/bright. When CLAP says "dark" but Cyanite mood.dark is low (< 0.2) and happy/uplifting are high, report the Cyanite reading.
  • Music.ai (pro_apis.py musicai <file>, needs $MUSICAI_WORKFLOW, e.g. a "Metadata Suite" workflow): same Cyanite engine on separate billing + extras — ai_voice (Real vs AI-GENERATED — always flag AI guide vocals: they're placeholders needing a real singer), voice_gender, instruments. Implementation gotchas (already handled in pro_apis.py): requests need a browser User-Agent (Cloudflare 1010 blocks default python-urllib), and the upload-URL request must be a clean GET with no body. Convert .m4a to mp3 before upload.
  • Soundcharts (pro_apis.py soundcharts <query>): released-catalogue lookup only — useless for unreleased demos; use it for reference-track benchmarking in the REFERENCE section. Auth is the x-app-id + x-api-key pair, and both must come from the same console app — a key from one app with another app's id fails auth and looks like an expired key. song/{uuid} gives audio.key/audio.mode/audio.tempo, handy for checking that a remix keeps the original's key.

Interpretation guardrails (carry into every card)

  • Demo bounces are loud and dull on top — judge song/topline/lane, not the demo master.
  • Never infer missing verses / song incompleteness from a sparse Whisper transcript (low vocal in the bounce ≠ unwritten song).
  • librosa BPM can read doubled/halved — trust the pro-layer bpmRangeAdjusted (the prediction folded into 60–180 BPM, so it can differ from raw bpmPrediction.value, e.g. 200 vs 100) and use bpmPrediction.confidence to judge how sure it is, when available; otherwise confirm by groove.
  • Verify hit-claims with data (CLAP commercial lean, valence/arousal), but the verdict is producer judgment, not a printout.

Fallback

If mcp__audio-ar__* is unavailable, run the stack directly via Bash from $AUDIO_AR_HOME (venv/bin/python analyze.py <file>, clap_score.py, transcribe.py, pro_apis.py). Never fabricate analysis — if nothing ran, say so.

Agent Teams support

If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams when dispatching multiple ar-producer agents in batch or inbox-sweep mode. This enables:

  • Agents share partial findings in real time (e.g., one agent finds a stem issue → others adjust their verdict framing accordingly)
  • You can steer mid-sweep: "prioritize the demo from sender X first"
  • Progress is visible per track as agents report back

Team setup (only when flag is enabled, batch/inbox dispatch phase):

TeamCreate("ar-batch")
Agent(team_name="ar-batch", name="ar-[track-slug]", ...)

If the flag is NOT set, use standard parallel subagents (fire-and-forget, waves of ≤2).

© Lifecycle-Innovations-Limited, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in claude-ops/skills/ops-ar of Lifecycle-Innovations-Limited/claude-ops.

Open the folder on GitHubat commit 1aa0928

Compare with similar skills

Ops Ar next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ops Ar compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ops Ar this skillLifecycle-Innovations-Limited/claude-ops542—~3.3kAutomated safety check: NotesMIT
Knowledge Opsaffaan-m/ECC276k2 repos~1.7kAutomated safety check: PassMIT
Research Opsaffaan-m/ECC276k2 repos~902Automated safety check: PassMIT
Terminal Opsaffaan-m/ECC276k2 repos~750Automated safety check: PassMIT
Messages Opsaffaan-m/ECC276k1 repos~724Automated safety check: PassMIT
Email Opsaffaan-m/ECC276k1 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Knowledge Ops

    affaan-m/ECC

    Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).

    276k GitHub starsUsed in 2 repos~1.7k tokens
    Knowledge ManagementAuto-check passed
  • Research Ops

    affaan-m/ECC

    Evidence-first current-state research workflow for ECC. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~902 tokens
    Research & ScienceAuto-check passed
  • Terminal Ops

    affaan-m/ECC

    Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~750 tokens
    Testing & QAAuto-check passed
  • Messages Ops

    affaan-m/ECC

    Evidence-first live messaging workflow for ECC. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 1 repo~724 tokens
    Productivity & AutomationAuto-check passed
  • Email Ops

    affaan-m/ECC

    Evidence-first mailbox triage, drafting, send verification, and sent-mail-safe follow-up workflow for ECC.

    276k GitHub starsUsed in 1 repo~1.1k tokens
    Writing & ContentAuto-check passed
  • GitHub Ops

    affaan-m/ECC

    GitHub repository operations, automation, and management. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~1.5k tokens
    DevelopmentAuto-check: warnings

More from Lifecycle-Innovations-Limited/claude-ops

All 67 skills in this repo
  • Ops Dash

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…

    542 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Ops Gtm

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…

    542 GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • Ops Marketing

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…

    542 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Ops Socials

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…

    542 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Ops Yolo

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…

    542 GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Ops Monitor

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…

    542 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check: notes

Questions about Ops Ar

What does Ops Ar do?

OPS on-demand: This skill should be used when the user asks to "A&R this track", "demo verdict", or…. Ops Ar is an agent skill from Lifecycle-Innovations-Limited/claude-ops.

When should I use Ops Ar?

Ops Ar fits situations like: asks to A&R this track.

How do I install Ops Ar in Claude Code?

Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-ar -a claude-code`. Or copy the skill folder (claude-ops/skills/ops-ar in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/ops-ar in your project. Claude Code loads it when a task matches its description.

How do I install Ops Ar in Codex?

Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-ar -a codex`. Or copy the skill folder (claude-ops/skills/ops-ar in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/ops-ar in your project. Codex loads it when a task matches its description.

Can I use Ops Ar in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-ar -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-ar, .gemini/skills/ops-ar, .github/skills/ops-ar and .opencode/skills/ops-ar in your project.

What does Ops Ar need to run?

Going by SKILL.md and its folder, Ops Ar needs the command-line tools its instructions call (jq, python and yt-dlp). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Write, Grep, Glob, Agent, TeamCreate, SendMessage, AskUserQuestion, WebSearch.

Does Ops Ar access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ops Ar safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ops Ar use?

Ops Ar is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ops Ar use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ops Ar?

Skills that share tags, products or a category with Ops Ar: Knowledge Ops (affaan-m/ECC, 276k stars), Research Ops (affaan-m/ECC, 276k stars), Terminal Ops (affaan-m/ECC, 276k stars) and Messages Ops (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ops Ar?

Lifecycle-Innovations-Limited (a GitHub organization) maintains it in Lifecycle-Innovations-Limited/claude-ops, which has 542 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 9, 2026.

Source: Lifecycle-Innovations-Limited/claude-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.