[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P76KHEM00A5FRJX4XRCFK6":3,"skill-same:01M6P76KHEM00A5FRJX4XRCFK6":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6P76KHEM00A5FRJX4XRCFK6","preview",null,"Preview a jam layer without adding it — audition before committing","p-poss\u002Fdj-claude-plugin","p-poss","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F225013815?v=4","01M6P71TG7QN3RMSTHEPDK72QC","Patrick Poss","01M6P71TMQKGQ6V3S2PZ4P7CNQ",2,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fpreview\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28],"prompt","it","role","layer","jam","2026-11-10 10:12:30",false,"---\ndescription: Preview a jam layer without adding it — audition before committing\nargument-hint: \"[role] [prompt]\"\n---\n\nPreview what a jam layer would sound like without actually adding it to the mix.\n\n## Your Task\n\nThe user wants to preview a layer. Parse `$ARGUMENTS` for a role and prompt.\n\nIf no arguments were provided, ask the user what role and sound they want to preview.\n\n## Workflow\n\nIMPORTANT: Use the MCP tools directly — do NOT use Bash or search for files.\n\n1. Parse the role (first word) and prompt (rest) from `$ARGUMENTS`.\n2. Check what's currently playing with `mcp__dj-claude__jam_status` so you can write complementary code.\n3. Generate Strudel code for the layer following the role guidance below.\n4. Call `mcp__dj-claude__jam_preview` with `role` and `code` parameters (the `code` parameter requires no API key).\n5. Show the user the generated code and commentary. Remind them this is a preview — use `\u002Fdj-claude:jam` to actually add it.\n\n## Role Guidance\n\nGenerate a SINGLE pattern chain (no `stack()`, no `.cpm()`):\n\n- **drums**: Kick + snare + hats. Use `s()` with bd, sd, hh, oh, cp, etc.\n- **bass**: Octaves 1-2. Sawtooth or sine with `.lpf(200-500)`.\n- **chords**: Octaves 3-4. Use `\u003C>` for harmonic movement.\n- **melody\u002Flead**: Octaves 4-5. Memorable, with delay and panning.\n- **pads**: Triangle\u002Fsine, heavy reverb, slow modulation.\n- **fx**: Heavily processed, sparse, low gain.\n\n## Learn More\n\nFor deeper syntax help, read these MCP resources:\n- `strudel:\u002F\u002Freference` — complete syntax reference\n- `strudel:\u002F\u002Froles` — detailed role guidance for each layer type\n\n## Strudel Quick Reference\n\n- `note(\"c3 e3\").s(\"sawtooth\")` — synth notes (always include `.s()`)\n- `s(\"bd sd hh\")` — samples\n- `\"\u003Ca b>\"` — alternate per cycle. `\"a(3,8)\"` — euclidean. `\"~\"` — rest\n- Synths: sawtooth, square, sine, triangle. NOT: piano, bass, strings\n- `.lpf()` \u002F `.gain()` \u002F `.room()` \u002F `.delay()` \u002F `.pan()` — effects\n- `sine.range(min, max).slow(n)` — modulation\n- NEVER use `|` in patterns. NEVER forget `.s()` after `note()`.\n\n## Examples\n\n- `\u002Fdj-claude:preview drums four-on-the-floor house kick`\n- `\u002Fdj-claude:preview bass deep sub in C minor`\n- `\u002Fdj-claude:preview melody ethereal sine lead with delay`\n","Preview what a jam layer would sound like without actually adding it to the mix.\n\n## Your Task\n\nThe user wants to preview a layer. Parse `$ARGUMENTS` for a role and prompt.\n\nIf no arguments were provided, ask the user what role and sound they want to preview.\n\n## Workflow\n\nIMPORTANT: Use the MCP tools directly — do NOT use Bash or search for files.\n\n1. Parse the role (first word) and prompt (rest) from `$ARGUMENTS`.\n2. Check what's currently playing with `mcp__dj-claude__jam_status` so you can write complementary code.\n3. Generate Strudel code for the layer following the role guidance below.\n4. Call `mcp__dj-claude__jam_preview` with `role` and `code` parameters (the `code` parameter requires no API key).\n5. Show the user the generated code and commentary. Remind them this is a preview — use `\u002Fdj-claude:jam` to actually add it.\n\n## Role Guidance\n\nGenerate a SINGLE pattern chain (no `stack()`, no `.cpm()`):\n\n- **drums**: Kick + snare + hats. Use `s()` with bd, sd, hh, oh, cp, etc.\n- **bass**: Octaves 1-2. Sawtooth or sine with `.lpf(200-500)`.\n- **chords**: Octaves 3-4. Use `\u003C>` for harmonic movement.\n- **melody\u002Flead**: Octaves 4-5. Memorable, with delay and panning.\n- **pads**: Triangle\u002Fsine, heavy reverb, slow modulation.\n- **fx**: Heavily processed, sparse, low gain.\n\n## Learn More\n\nFor deeper syntax help, read these MCP resources:\n- `strudel:\u002F\u002Freference` — complete syntax reference\n- `strudel:\u002F\u002Froles` — detailed role guidance for each layer type\n\n## Strudel Quick Reference\n\n- `note(\"c3 e3\").s(\"sawtooth\")` — synth notes (always include `.s()`)\n- `s(\"bd sd hh\")` — samples\n- `\"\u003Ca b>\"` — alternate per cycle. `\"a(3,8)\"` — euclidean. `\"~\"` — rest\n- Synths: sawtooth, square, sine, triangle. NOT: piano, bass, strings\n- `.lpf()` \u002F `.gain()` \u002F `.room()` \u002F `.delay()` \u002F `.pan()` — effects\n- `sine.range(min, max).slow(n)` — modulation\n- NEVER use `|` in patterns. NEVER forget `.s()` after `note()`.\n\n## Examples\n\n- `\u002Fdj-claude:preview drums four-on-the-floor house kick`\n- `\u002Fdj-claude:preview bass deep sub in C minor`\n- `\u002Fdj-claude:preview melody ethereal sine lead with delay`\n",{"description":7,"argument-hint":34},"[role] [prompt]","main","7b0db7c43c2c4c213046c712e95e66b701c85802","skills\u002Fpreview",0,"https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin","https:\u002F\u002Fclaude.dj","https:\u002F\u002Fgithub.com\u002Fp-poss","https:\u002F\u002Fwww.patrickposs.com\u002F","Creative Technologist \u002F AI-Native Builder","2026-06-02 21:11:38",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add p-poss\u002Fdj-claude-plugin --skill preview",{"tool":51,"command":52},"bunx","bunx skills add p-poss\u002Fdj-claude-plugin --skill preview",{"tool":54,"command":55},"pnpm","pnpm dlx skills add p-poss\u002Fdj-claude-plugin --skill preview","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fpreview\u002FSKILL.md",true,[],[60,72,90,102,113,126],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":29},"01M6P77AXMT9R36KG4N7BVR2S2","vibe","Set the musical vibe to match a mood — chill, dark, hype, focus, funky, dreamy, weird, or epic","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fvibe\u002FSKILL.md",[],[62,67,68,69,70,71],"SET","dark","focus","EPIC","match",{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":83,"publishedAt":29},"01M6P777V2000SD18056TGGAHB","strudel","Evaluate raw Strudel\u002FTidal code directly — for power users","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fstrudel\u002FSKILL.md",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[74,84,85,86,87,88,89],"code","power","users","true","for","evaluate",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":29},"01M6P774ZRG4Z9PMERV3W7K2EV","save","Save the current mix as a named snapshot","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fsave\u002FSKILL.md",[96],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,98,99,100,101],"mix","name","as","snapshot",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":109,"publishedAt":29},"01M6P76FDFX64GATHZ01P780XR","play","Play music from a description — genre, mood, activity, or anything creative","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fplay\u002FSKILL.md",[108],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[104,110,111,24,112],"activity","creative","music",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":29},"01M6P76BQ2EACZDXHD4DT5MECG","play-preset","Play from the curated preset library — 22 patterns across mood, genre, and activity","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fplay-preset\u002FSKILL.md",[119],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[121,104,122,110,99,123,124,125],"preset","play preset","across","patterns","library",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":29},"01M6P75NVMDRX6CEG4TF80R6Q8","now-playing","Check what music is currently playing","https:\u002F\u002Fgithub.com\u002Fp-poss\u002Fdj-claude-plugin\u002Fblob\u002Fmain\u002Fskills\u002Fnow-playing\u002FSKILL.md",[],[133,134,112,135],"now","now playing","check"]