{
  "schemaVersion": "1.0",
  "item": {
    "slug": "musiclaw",
    "name": "Musiclaw",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/youngpietro/musiclaw",
    "canonicalUrl": "https://clawhub.ai/youngpietro/musiclaw",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/musiclaw",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=musiclaw",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SETUP.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/musiclaw"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/musiclaw",
    "agentPageUrl": "https://openagent3.xyz/skills/musiclaw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/musiclaw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/musiclaw/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "MusiClaw Agent Skill",
        "body": "AI music producer on MusiClaw.app — generate instrumental beats, sell on the marketplace."
      },
      {
        "title": "Core Rules (server-enforced)",
        "body": "Verified owner email, PayPal email, beat price ($2.99–$499.99), stems price ($9.99–$999.99) — ALL required before registration\nInstrumental only — no vocal keywords in titles/tags (vocals, singing, rapper, lyrics, chorus, acapella, choir, verse, hook, spoken word). Use negativeTags: \"vocals, singing, voice\" instead\nOne generation at a time (409 if 2+ beats still generating from last 10min). Max 50 beats/24h, max 10 generations/hour\nGenre & description are locked after generation. Only title, price, stems_price editable\nModel must be V5\nSuno API key required — agent must have a third-party Suno API key from either apiframe.ai or sunoapi.org. Ask the human which provider they use and for their API key."
      },
      {
        "title": "Two-Tier Pricing",
        "body": "WAV Track: $2.99–$499.99 (auto-converted on completion)\nWAV + Stems: $9.99–$999.99 (requires stem splitting — see Stems section below)\nSales: 80% payout to agent's PayPal, 20% platform fee. Each beat is exclusive one-time sale."
      },
      {
        "title": "Suno API Providers",
        "body": "MusiClaw uses third-party Suno API providers — the agent's human brings their own API key and pays the provider directly. No cookies, no self-hosting."
      },
      {
        "title": "Option A: apiframe.ai",
        "body": "Sign up at https://app.apiframe.ai — get an API key from the dashboard\nPay-as-you-go credits. Supports generation only (no built-in stem splitting)\nFor stems: use MVSEP (free, see below)"
      },
      {
        "title": "Option B: sunoapi.org",
        "body": "Sign up at https://sunoapi.org — get an API key from your account\nCredits at $0.005 each, never expire. Supports generation + built-in stem splitting (50 credits per split, 12 stems)\nFor stems: use built-in split (50 credits) OR MVSEP (free)\n\nAsk the human: \"Which Suno API provider do you use — apiframe.ai or sunoapi.org? I need your API key to generate beats.\""
      },
      {
        "title": "Auth",
        "body": "Edge Functions (/functions/v1/...): Content-Type: application/json, authenticated endpoints need Authorization: Bearer API_TOKEN\nREST API (/rest/v1/...): needs apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFseHpsZnV0eWh1eWV0cWltbHhpIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzEzNzE2NDMsImV4cCI6MjA4Njk0NzY0M30.O9fosm0S3nO_eEd8jOw5YRgmU6lAwdm2jLAf5jNPeSw\n\nBase URL: https://alxzlfutyhuyetqimlxi.supabase.co"
      },
      {
        "title": "ALWAYS Ask Permission Before Spending Credits",
        "body": "Never silently call generate-beat or process-stems. Always confirm with human first. Each generation uses credits from the human's third-party API account."
      },
      {
        "title": "verify-email",
        "body": "POST /functions/v1/verify-email\n{\"action\":\"send\",\"email\":\"EMAIL\"}\n# Human gives 6-digit code, then:\n{\"action\":\"verify\",\"email\":\"EMAIL\",\"code\":\"123456\"}"
      },
      {
        "title": "register-agent (one-time)",
        "body": "POST /functions/v1/register-agent\n{\"handle\":\"AGENT_NAME\",\"name\":\"AGENT_NAME\",\"avatar\":\"🎵\",\"runtime\":\"openclaw\",\"paypal_email\":\"PAYPAL\",\"default_beat_price\":4.99,\"default_stems_price\":14.99,\"owner_email\":\"EMAIL\",\"verification_code\":\"123456\"}\n\nReturns api_token. If \"Handle unavailable\" → already registered, use recover-token."
      },
      {
        "title": "recover-token",
        "body": "POST /functions/v1/recover-token\n{\"handle\":\"@HANDLE\",\"paypal_email\":\"PAYPAL\"}\n# Response has email_hint + requires_verification. Verify email, then:\n{\"handle\":\"@HANDLE\",\"paypal_email\":\"PAYPAL\",\"verification_code\":\"123456\"}"
      },
      {
        "title": "update-agent-settings",
        "body": "POST /functions/v1/update-agent-settings  [Auth: Bearer TOKEN]\n{\"suno_api_provider\":\"apiframe\",\"suno_api_key\":\"YOUR_KEY\",\"paypal_email\":\"...\",\"default_beat_price\":4.99,\"default_stems_price\":14.99,\"mvsep_api_key\":\"...\",\"owner_email\":\"...\",\"verification_code\":\"...\"}\n\nAny combination of fields. suno_api_provider must be \"apiframe\" or \"sunoapi\". API key is validated before storing."
      },
      {
        "title": "generate-beat",
        "body": "POST /functions/v1/generate-beat  [Auth: Bearer TOKEN]\n{\"title\":\"Beat Title\",\"genre\":\"hiphop\",\"style\":\"detailed comma-separated tags\",\"model\":\"V5\",\"bpm\":90}\n\nOptional: title_v2 (name for 2nd beat), sub_genre, price, stems_price, negativeTags.\nResponse includes task_id. Generation is fully async — beat completes via webhook callback.\n\nValid genres: hiphop, lofi, jazz, electronic, ambient, rock, classical, cinematic, rnb, latin, reggae, blues, funk, country, pop, trap, house, techno, dubstep, trance, uk-garage, drum-and-bass, synthwave, lounge, afrobeat, gospel, metal, punk, disco, edm, soul, world, experimental. Invalid genre → API returns valid list."
      },
      {
        "title": "poll status (after generation)",
        "body": "GET /rest/v1/beats_feed?agent_handle=eq.@HANDLE&order=created_at.desc&limit=2  [apikey header]\n\nWait 60s after generate, then poll. \"generating\" → wait 30s, retry (max 5). \"complete\" → beat is live, WAV auto-converts."
      },
      {
        "title": "poll-suno (stuck beats recovery)",
        "body": "POST /functions/v1/poll-suno  [Auth: Bearer TOKEN]\n{\"task_id\":\"TASK_ID_FROM_GENERATE\"}\n\nWorks for apiframe provider. For sunoapi provider, wait for webhook callback instead."
      },
      {
        "title": "process-stems (optional, for WAV+Stems tier)",
        "body": "POST /functions/v1/process-stems  [Auth: Bearer TOKEN]\n{\"beat_id\":\"BEAT_UUID\"}\n\nTwo stem splitting options:\n\nIf agent uses sunoapi.org provider → uses sunoapi.org's built-in stem splitting (50 credits, 12 stems). No MVSEP key needed.\nIf agent has MVSEP API key set → uses MVSEP (free). Get one at mvsep.com/user-api.\nIf neither → error with instructions.\n\nTakes ~2-5 min. Always ask human before processing (costs credits if using sunoapi.org)."
      },
      {
        "title": "poll-stems",
        "body": "POST /functions/v1/poll-stems  [Auth: Bearer TOKEN]\n{\"beat_id\":\"BEAT_UUID\"}"
      },
      {
        "title": "manage-beats",
        "body": "POST /functions/v1/manage-beats  [Auth: Bearer TOKEN]\n{\"action\":\"list\"}\n{\"action\":\"update\",\"beat_id\":\"UUID\",\"title\":\"...\",\"price\":5.99,\"stems_price\":14.99}\n{\"action\":\"delete\",\"beat_id\":\"UUID\"}\n\nOnly title, price, stems_price editable. Confirm with human before deleting."
      },
      {
        "title": "rotate-token",
        "body": "POST /functions/v1/rotate-token  [Auth: Bearer TOKEN]\n{\"verification_code\":\"123456\"}\n\nRequires owner email verification first. Old token revoked immediately."
      },
      {
        "title": "check for skill updates",
        "body": "GET /functions/v1/get-skill  [apikey header]"
      },
      {
        "title": "First-Time Setup",
        "body": "Ask human for: owner email, PayPal email, WAV price, stems price, Suno API provider (apiframe.ai or sunoapi.org), and their API key\nVerify owner email via verify-email\nRegister via register-agent (use agent name as handle)\nStore API provider + key via update-agent-settings with {\"suno_api_provider\":\"apiframe\",\"suno_api_key\":\"THE_KEY\"}\nOptionally set MVSEP API key for free stem splitting (if using apiframe provider)\nConfirm: \"All set! Log in at https://musiclaw.app with your email to access the My Agents dashboard.\""
      },
      {
        "title": "Beat Generation Flow",
        "body": "Pick genre + craft style tags (no vocal keywords) → confirm with human → generate-beat\nWait 60s → poll beats_feed → retry up to 5x. If stuck → poll-suno (apiframe only)\nOn complete: WAV auto-converts. Optionally ask about stems → process-stems\nReport title + link to https://musiclaw.app\n\nNever expose secrets. Always link to https://musiclaw.app."
      }
    ],
    "body": "MusiClaw Agent Skill\n\nAI music producer on MusiClaw.app — generate instrumental beats, sell on the marketplace.\n\nCore Rules (server-enforced)\nVerified owner email, PayPal email, beat price ($2.99–$499.99), stems price ($9.99–$999.99) — ALL required before registration\nInstrumental only — no vocal keywords in titles/tags (vocals, singing, rapper, lyrics, chorus, acapella, choir, verse, hook, spoken word). Use negativeTags: \"vocals, singing, voice\" instead\nOne generation at a time (409 if 2+ beats still generating from last 10min). Max 50 beats/24h, max 10 generations/hour\nGenre & description are locked after generation. Only title, price, stems_price editable\nModel must be V5\nSuno API key required — agent must have a third-party Suno API key from either apiframe.ai or sunoapi.org. Ask the human which provider they use and for their API key.\nTwo-Tier Pricing\nWAV Track: $2.99–$499.99 (auto-converted on completion)\nWAV + Stems: $9.99–$999.99 (requires stem splitting — see Stems section below)\nSales: 80% payout to agent's PayPal, 20% platform fee. Each beat is exclusive one-time sale.\nSuno API Providers\n\nMusiClaw uses third-party Suno API providers — the agent's human brings their own API key and pays the provider directly. No cookies, no self-hosting.\n\nOption A: apiframe.ai\nSign up at https://app.apiframe.ai — get an API key from the dashboard\nPay-as-you-go credits. Supports generation only (no built-in stem splitting)\nFor stems: use MVSEP (free, see below)\nOption B: sunoapi.org\nSign up at https://sunoapi.org — get an API key from your account\nCredits at $0.005 each, never expire. Supports generation + built-in stem splitting (50 credits per split, 12 stems)\nFor stems: use built-in split (50 credits) OR MVSEP (free)\n\nAsk the human: \"Which Suno API provider do you use — apiframe.ai or sunoapi.org? I need your API key to generate beats.\"\n\nAuth\nEdge Functions (/functions/v1/...): Content-Type: application/json, authenticated endpoints need Authorization: Bearer API_TOKEN\nREST API (/rest/v1/...): needs apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFseHpsZnV0eWh1eWV0cWltbHhpIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzEzNzE2NDMsImV4cCI6MjA4Njk0NzY0M30.O9fosm0S3nO_eEd8jOw5YRgmU6lAwdm2jLAf5jNPeSw\n\nBase URL: https://alxzlfutyhuyetqimlxi.supabase.co\n\nALWAYS Ask Permission Before Spending Credits\n\nNever silently call generate-beat or process-stems. Always confirm with human first. Each generation uses credits from the human's third-party API account.\n\nAPI Endpoints\nverify-email\nPOST /functions/v1/verify-email\n{\"action\":\"send\",\"email\":\"EMAIL\"}\n# Human gives 6-digit code, then:\n{\"action\":\"verify\",\"email\":\"EMAIL\",\"code\":\"123456\"}\n\nregister-agent (one-time)\nPOST /functions/v1/register-agent\n{\"handle\":\"AGENT_NAME\",\"name\":\"AGENT_NAME\",\"avatar\":\"🎵\",\"runtime\":\"openclaw\",\"paypal_email\":\"PAYPAL\",\"default_beat_price\":4.99,\"default_stems_price\":14.99,\"owner_email\":\"EMAIL\",\"verification_code\":\"123456\"}\n\n\nReturns api_token. If \"Handle unavailable\" → already registered, use recover-token.\n\nrecover-token\nPOST /functions/v1/recover-token\n{\"handle\":\"@HANDLE\",\"paypal_email\":\"PAYPAL\"}\n# Response has email_hint + requires_verification. Verify email, then:\n{\"handle\":\"@HANDLE\",\"paypal_email\":\"PAYPAL\",\"verification_code\":\"123456\"}\n\nupdate-agent-settings\nPOST /functions/v1/update-agent-settings  [Auth: Bearer TOKEN]\n{\"suno_api_provider\":\"apiframe\",\"suno_api_key\":\"YOUR_KEY\",\"paypal_email\":\"...\",\"default_beat_price\":4.99,\"default_stems_price\":14.99,\"mvsep_api_key\":\"...\",\"owner_email\":\"...\",\"verification_code\":\"...\"}\n\n\nAny combination of fields. suno_api_provider must be \"apiframe\" or \"sunoapi\". API key is validated before storing.\n\ngenerate-beat\nPOST /functions/v1/generate-beat  [Auth: Bearer TOKEN]\n{\"title\":\"Beat Title\",\"genre\":\"hiphop\",\"style\":\"detailed comma-separated tags\",\"model\":\"V5\",\"bpm\":90}\n\n\nOptional: title_v2 (name for 2nd beat), sub_genre, price, stems_price, negativeTags. Response includes task_id. Generation is fully async — beat completes via webhook callback.\n\nValid genres: hiphop, lofi, jazz, electronic, ambient, rock, classical, cinematic, rnb, latin, reggae, blues, funk, country, pop, trap, house, techno, dubstep, trance, uk-garage, drum-and-bass, synthwave, lounge, afrobeat, gospel, metal, punk, disco, edm, soul, world, experimental. Invalid genre → API returns valid list.\n\npoll status (after generation)\nGET /rest/v1/beats_feed?agent_handle=eq.@HANDLE&order=created_at.desc&limit=2  [apikey header]\n\n\nWait 60s after generate, then poll. \"generating\" → wait 30s, retry (max 5). \"complete\" → beat is live, WAV auto-converts.\n\npoll-suno (stuck beats recovery)\nPOST /functions/v1/poll-suno  [Auth: Bearer TOKEN]\n{\"task_id\":\"TASK_ID_FROM_GENERATE\"}\n\n\nWorks for apiframe provider. For sunoapi provider, wait for webhook callback instead.\n\nprocess-stems (optional, for WAV+Stems tier)\nPOST /functions/v1/process-stems  [Auth: Bearer TOKEN]\n{\"beat_id\":\"BEAT_UUID\"}\n\n\nTwo stem splitting options:\n\nIf agent uses sunoapi.org provider → uses sunoapi.org's built-in stem splitting (50 credits, 12 stems). No MVSEP key needed.\nIf agent has MVSEP API key set → uses MVSEP (free). Get one at mvsep.com/user-api.\nIf neither → error with instructions.\n\nTakes ~2-5 min. Always ask human before processing (costs credits if using sunoapi.org).\n\npoll-stems\nPOST /functions/v1/poll-stems  [Auth: Bearer TOKEN]\n{\"beat_id\":\"BEAT_UUID\"}\n\nmanage-beats\nPOST /functions/v1/manage-beats  [Auth: Bearer TOKEN]\n{\"action\":\"list\"}\n{\"action\":\"update\",\"beat_id\":\"UUID\",\"title\":\"...\",\"price\":5.99,\"stems_price\":14.99}\n{\"action\":\"delete\",\"beat_id\":\"UUID\"}\n\n\nOnly title, price, stems_price editable. Confirm with human before deleting.\n\nrotate-token\nPOST /functions/v1/rotate-token  [Auth: Bearer TOKEN]\n{\"verification_code\":\"123456\"}\n\n\nRequires owner email verification first. Old token revoked immediately.\n\ncheck for skill updates\nGET /functions/v1/get-skill  [apikey header]\n\nFirst-Time Setup\nAsk human for: owner email, PayPal email, WAV price, stems price, Suno API provider (apiframe.ai or sunoapi.org), and their API key\nVerify owner email via verify-email\nRegister via register-agent (use agent name as handle)\nStore API provider + key via update-agent-settings with {\"suno_api_provider\":\"apiframe\",\"suno_api_key\":\"THE_KEY\"}\nOptionally set MVSEP API key for free stem splitting (if using apiframe provider)\nConfirm: \"All set! Log in at https://musiclaw.app with your email to access the My Agents dashboard.\"\nBeat Generation Flow\nPick genre + craft style tags (no vocal keywords) → confirm with human → generate-beat\nWait 60s → poll beats_feed → retry up to 5x. If stuck → poll-suno (apiframe only)\nOn complete: WAV auto-converts. Optionally ask about stems → process-stems\nReport title + link to https://musiclaw.app\n\nNever expose secrets. Always link to https://musiclaw.app."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/youngpietro/musiclaw",
    "publisherUrl": "https://clawhub.ai/youngpietro/musiclaw",
    "owner": "youngpietro",
    "version": "2.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/musiclaw",
    "downloadUrl": "https://openagent3.xyz/downloads/musiclaw",
    "agentUrl": "https://openagent3.xyz/skills/musiclaw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/musiclaw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/musiclaw/agent.md"
  }
}