# Beatlab Contract

> BeatLab JSON contract for 16-step (0-15) pianoSequence & drumSequence. Use when generating or editing beats.

- Skill: `majiayu000/beatlab-contract` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/beatlab-contract`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/beatlab-contract/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/beatlab-contract

---


# BeatLab Contract (v1)

You must follow this exact contract (Mastra AI Beats Lab compatible):
- Steps: 16 (0-15)
- Output JSON must include:
  - "pianoSequence": object mapping each allowed note -> array of step numbers (0-15)
  - "drumSequence": object mapping each allowed drum sound -> array of step numbers (0-15)

Allowed piano notes (fixed):
C5, B4, A4, G4, F4, E4, D4, C4, B3, A3, G3

Allowed drum sounds (fixed):
Kick, Snare, HiHat, Clap, OpenHat, Tom, Crash, Ride, Shaker, Cowbell

Musical defaults (helpful heuristics):
- Kick often on 0 and/or 8
- Snare often on 4 and/or 12
- HiHat can be steady (e.g., every 2 steps) but avoid over-density
- Keep melody minimal (few notes, repeating motif)

Output should be ONLY JSON when asked for Beat JSON.

