Nota

Claude Code plugin for algorithmic composition with MusaDSL — learn the framework, code compositions, explore ideas, analyze music

10 interactive skills
Knowledge base + semantic search
Open Source · LGPL 3.0

About Nota

Nota transforms Claude Code into an algorithmic-composition assistant with deep knowledge of the MusaDSL framework. Ten interactive skills cover the entire creative process — from understanding the framework, through brainstorming ideas, to writing verified code, analyzing the results, and consolidating best practices.

Everything is backed by a knowledge base with MusaDSL documentation, API reference, 23 demo projects, 23 built-in composition best practices, and — optionally — your own compositions and their musical analyses.

Say "hello musa" inside Claude Code to get a welcome and capabilities overview.

Who is it for?

  • Composers learning MusaDSL — ask questions in natural language, get sourced answers.
  • Working algorithmic composers — describe a musical intention, get verified code.
  • Researchers — build a searchable knowledge base of your own compositions and analyses.
  • Anyone exploring computer music who wants Claude to be domain-aware rather than guessing.

The 10 Skills

Core composition workflow

/nota:explain

Semantic search over MusaDSL. Ask about any concept and get an accurate, sourced answer with relevant documentation, API details, and working code examples retrieved from the knowledge base.

/nota:think

Creative thinking and ideation. Generates ideas for new compositions or explores new directions for existing ones. Draws from the inspiration framework, your previous analyses, the MusaDSL knowledge base, and the open web to connect ideas to composers, techniques and traditions with accurate references.

/nota:code

Composition coding. Translates musical intentions into working MusaDSL Ruby code. Verifies every method call against the API, draws from demo examples and your own indexed works, and always proposes the approach before writing.

/nota:index

Works indexing. Add your composition projects so Claude can reference them. All .rb and .md files are indexed recursively; once indexed, your works appear in search results and inform every other skill.

/nota:analyze

Musical analysis. Reads your code, interprets it musically, and produces a detailed structured analysis across 10 default dimensions. The analysis is stored as searchable knowledge, enriching every future /nota:think, /nota:code and /nota:explain session.

/nota:best-practices

Best practices management. Extract recurring patterns from your analyses into reusable best practices, or add them manually. /nota:code automatically consults them when writing new code, so your consolidated patterns are applied consistently.

Framework customization

/nota:inspiration-framework

View, modify or reset the inspiration framework that guides /nota:think. The default has 9 dimensions: Structure, Time, Pitch, Algorithm, Texture, Instrumentation, Reference, Dialogue, Constraint. Add your own dimensions or rewrite them entirely.

/nota:analysis-framework

View, modify or reset the analysis framework that guides /nota:analyze. The default has 10 dimensions: Formal Structure, Harmonic and Modal Language, Rhythmic and Temporal Strategy, Generative Strategy, Texture and Instrumentation, Idiomatic Usage, Relation to Other Artists, Notable Technical Patterns, Coding Best Practices, Conclusion. Customize per your compositional priorities.

Onboarding & operations

/nota:hello

Welcome and capabilities overview. Start here when interacting with Nota for the first time, or trigger it by saying "hello musa".

/nota:setup

Plugin configuration and troubleshooting. Verifies the Voyage AI API key, checks knowledge base download, confirms MCP server connectivity. Run this after install.

Knowledge bases

Nota's depth comes from two SQLite-vec databases queried with Voyage AI embeddings, which let every skill ground its output in concrete sources rather than the model's general knowledge.

Database Scope Storage
knowledge.db MusaDSL documentation, API reference, 23 demo projects, 23 built-in composition best practices. Auto-downloaded on first session start. Shipped with the plugin, refreshed when the plugin updates.
private.db Your indexed compositions (added with /nota:index), their musical analyses (created with /nota:analyze), and your custom best practices (/nota:best-practices). Search across them as easily as the public docs. Local, in ~/.config/nota/. Never leaves your machine.

Both databases use sqlite-vec for vector storage and Voyage AI for high-quality multilingual code-aware embeddings. The plugin's MCP server exposes a search tool that every skill consults transparently.

Workflow loop

Skills feed into each other. Used together, they form a virtuous loop where each composition enriches the assistant for the next one:

/nota:think/nota:code/nota:index/nota:analyze/nota:best-practices → back to /nota:think

  • Think — explore ideas across the inspiration dimensions, informed by your past work.
  • Code — turn the idea into verified MusaDSL code, consulting docs, demos and best practices.
  • Index — add the finished composition to your private knowledge base.
  • Analyze — generate a structured musical analysis of the work.
  • Best-practices — extract recurring patterns from your analyses into reusable practices.
  • Think again — now your future ideation draws from a richer corpus.

The more you compose and analyze, the more domain-aware Nota becomes for your specific style.

Getting Started

Prerequisites

  • Claude Code (the plugin runs inside it).
  • Ruby 3.1+ (the plugin's MCP server is Ruby).
  • A Voyage AI API key. The free tier is sufficient for personal use.

Install (3 steps inside Claude Code)

  1. Add the Nota marketplace to Claude Code:
    /plugin marketplace add javier-sy/nota-plugin-for-claude
  2. Install the plugin:
    /plugin install nota@yeste.studio
  3. Export the Voyage API key in your shell profile (so Claude Code's subprocess inherits it):
    export VOYAGE_API_KEY="your-key-here"

Verify

Run /nota:setup inside Claude Code to verify Ruby, the Voyage key, knowledge base download and MCP server connectivity. Then say "hello musa" for the welcome tour, or jump straight into /nota:explain how does the sequencer work?.

What gets downloaded

On first session start, Nota downloads the latest knowledge.db (a few MB of MusaDSL documentation, API reference, demos and best practices, all pre-indexed with their Voyage embeddings). Your private.db is created empty under ~/.config/nota/ the first time you use /nota:index or /nota:analyze; nothing private leaves your machine.

Repository

Source code and detailed README: javier-sy/nota-plugin-for-claude

Troubleshooting

Symptom Likely cause / fix
/nota:setup says Voyage key missing Re-source your shell profile, or restart Claude Code so it inherits the updated env.
Knowledge base did not download Check internet connectivity; /nota:setup retries the download.
Search returns empty results The plugin may not have indexed your local works yet — run /nota:index on the project root.
MCP server connection failing Check ~/.config/nota/ permissions; /nota:setup diagnoses it.

Author

Nota is created and maintained by yeste.studio, exploring the intersection of sound, music, technology, and algorithmic composition. It is part of the MusaDSL family of projects.

LGPL 3.0 License

Source code on GitHub.