Skip to main content
ClaudeWave
Skill251 estrellas del repoactualizado 2d ago

clipboard

The clipboard skill copies specific content from track files, including lyrics, style prompts, exclude styles, and streaming lyrics, to the system clipboard for pasting into external music production tools like Suno. Use this skill when you need to transfer track metadata or content to other applications without manual copying.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/bitwize-music-studio/claude-ai-music-skills /tmp/clipboard && cp -r /tmp/clipboard/skills/clipboard ~/.claude/skills/clipboard
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

## Your Task

**Input**: $ARGUMENTS

Copy content from track files to the system clipboard for pasting into Suno or other tools.

---

# Clipboard Skill

Copy specific sections from track files directly to your clipboard.

## Step 1: Detect Platform & Check Clipboard Tool

Run detection:

```bash
if command -v pbcopy >/dev/null 2>&1; then
  echo "macOS"
elif command -v clip.exe >/dev/null 2>&1; then
  echo "WSL"
elif command -v xclip >/dev/null 2>&1; then
  echo "Linux-xclip"
elif command -v xsel >/dev/null 2>&1; then
  echo "Linux-xsel"
else
  echo "NONE"
fi
```

**If NONE:**

```
Error: No clipboard utility found.

Install instructions:
- macOS: pbcopy (built-in)
- Linux: sudo apt install xclip
- WSL: clip.exe (built-in)
```

## Step 2: Parse Arguments

Expected format: `<content-type> <album-name> <track-number>`

**Content types:**
- `lyrics` - Suno Lyrics Box
- `style` - Suno Style Box (auto-appends Exclude Styles if present)
- `exclude` - Exclude Styles only (negative prompts)
- `streaming-lyrics` - Streaming Lyrics (for distributors)
- `all` - All Suno inputs (Style + Exclude + Lyrics combined)
- `suno` - JSON object (title, style, exclude_styles, lyrics) for Suno auto-fill via Tampermonkey

Examples:
- `/clipboard lyrics sample-album 03`
- `/clipboard style sample-album 05`
- `/clipboard streaming-lyrics sample-album 02`
- `/clipboard all sample-album 01`

If arguments are missing:
```
Usage: /clipboard <content-type> <album-name> <track-number>

Content types: lyrics, style, exclude, streaming-lyrics, all, suno

Example: /clipboard lyrics sample-album 03
```

## Step 3: Extract Content via MCP

Call `format_for_clipboard(album_slug, track_slug, content_type)` — extracts and formats the requested content in one call.

- `content_type`: `"lyrics"`, `"style"`, `"exclude"`, `"streaming"`, `"all"`, or `"suno"`
- Returns the formatted content ready for clipboard
- Handles track resolution, section extraction, and formatting automatically

**If track not found:** MCP returns an error with available tracks.

## Step 6: Copy to Clipboard

Use the detected platform's clipboard command:

| Platform | Command |
|----------|---------|
| macOS | `pbcopy` |
| WSL | `clip.exe` |
| Linux (xclip) | `xclip -selection clipboard` |
| Linux (xsel) | `xsel --clipboard --input` |

Example (use `printf '%s'` to safely handle special characters in lyrics):
```bash
printf '%s' "$content" | pbcopy  # macOS
printf '%s' "$content" | xclip -selection clipboard  # Linux
```

## Step 7: Confirm

Report:
```
✓ Copied to clipboard: {content-type} from track {track-number}
  Album: {album}
  Track: {track-filename}
```

## Error Handling

**Track file not found:**
```
Error: Track {track-number} not found in album {album}

Available tracks:
- 01-track-name.md
- 02-track-name.md
```

**Content section not found:**
```
Error: {content-type} section not found in track {track-number}

The track file may not have this section yet.
```

**Config missing:**
```
Error: Config not found at ~/.bitwize-music/config.yaml
Run /configure to set up.
```

---

## Examples

### Copy Suno Lyrics

```
/clipboard lyrics sample-album 03
```

Output:
```
✓ Copied to clipboard: lyrics from track 03
  Album: sample-album
  Track: 03-t-day-beach.md
```

### Copy Style Prompt

```
/clipboard style sample-album 05
```

### Copy Streaming Lyrics

```
/clipboard streaming-lyrics sample-album 02
```

### Copy All Suno Inputs

```
/clipboard all sample-album 01
```

Output:
```
✓ Copied to clipboard: all suno inputs from track 01
  Album: sample-album
  Track: 01-intro.md

Contents:
- Style Box (with Exclude Styles if present)
- Lyrics Box
```

### Copy Suno Auto-Fill JSON

```
/clipboard suno sample-album 01
```

Output:
```
✓ Copied to clipboard: suno auto-fill JSON from track 01
  Album: sample-album
  Track: 01-intro.md

Clipboard contains JSON with: title, style, exclude_styles, lyrics
Paste into Suno with the Tampermonkey auto-fill script (Ctrl+Shift+V).
See tools/userscripts/README.md for setup.
```

---

## Implementation Notes

**Clipboard Detection:**
- Check multiple tools in order of preference
- WSL has `clip.exe` which works from Linux subsystem
- Linux users may have either `xclip` or `xsel`

**Content Extraction:**
- MCP `format_for_clipboard` handles all section extraction and formatting
- No manual file parsing needed

**Multiple Matches:**
- If track number matches multiple files (shouldn't happen), use the first match
- Warn user if directory structure looks wrong