Add a new demo
add_demoCreate a new demo entry in Berbotu's vault by committing a Markdown file to GitHub. Requires artist and track; prevents duplicates and returns a commit permalink for audit.
Instructions
Creates a new demo entry in the Berbotu vault by committing a Markdown file to the berbotu/vault GitHub repo (path: 00 Releases/Demos/{ARTIST} - {TITLE}.md). Use this when the user wants to log a fresh submission — e.g. 'add a demo from RULACID called UNTITLED', or 'log a new demo from the email I just pasted'. REQUIRED: artist + track. Both must be non-empty strings. OPTIONAL: stage (default 'Listening'), received_date (default today UTC), notes (default empty). Refuses to overwrite if a demo with the same artist+title already exists — in that case the user should edit via admin.berbotu.com instead. On success returns the created file path, the full frontmatter that was written, and a permalink to the GitHub commit so the user can audit the change.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Free-text notes for the demo card — short context like 'sent via IG DM' or 'recommended by GADDAM'. | |
| stage | No | Initial stage. Defaults to 'Listening' (the inbox state). Other values flow: Listening → Review → Interested → Hold → Pass → Converted. | |
| track | Yes | Track title. Use 'UNTITLED' if the producer didn't name it. | |
| artist | Yes | Artist or producer alias. Use the same spelling/case the user provided — the vault convention is ALL CAPS but we do not force-uppercase here. For collabs use 'A & B' as a single string. | |
| received_date | No | Date the demo was received (YYYY-MM-DD, UTC). Defaults to today. |