livepilot-composition-engine — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited livepilot-composition-engine (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The composition engine operates three sub-engines: compositional analysis (structure and motifs), transition planning (section-to-section flow), and translation checking (how the mix survives different playback systems). It also provides form-level tools for emotional arc and arrangement planning.
Before producing ANY creative response, query the user's atlas overlays. The corpus contains 337 entries across 3 namespaces, plus 3,917 parameter-level JSON sidecars — far richer than anything inferable from training data alone.
Query order:
Multi-grain traversal:
When an aesthetic-level query lands a pack-level result, AUTO-DRILL: pack → its notable_presets → those preset macro states → load via load_browser_item. Don't stop at "I found a relevant pack" — drill to the actual preset/parameter level the user can immediately use.
# Example — agent received "evolving polyrhythmic ambient at 120 BPM, build the section arc"
hit = extension_atlas_search(namespace="packs", query="evolving polyrhythmic ambient generative")
# → midi_tools_by_philip_meyer + drone_lab + cross-pack workflows for generative form
workflow = extension_atlas_get("packs", "dub_techno_spectral_drone_bed")
# → reveals signal_flow: HDG → PitchLoop89 cross-feedback → Convolution Reverb
drone_lab = extension_atlas_get("packs", "drone_lab")
# → notable_presets reveals Razor Wire Drone with macros Filter Control=108, Movement=53...
# Now plan the section/transition with concrete preset names + macro values, not vague descriptionsWhen the user mentions a producer or pack by name:
boc_decayed_pad cross-pack-workflow + inspired_by_nature packpitchloop89 + granulator_iii + 2 Henke cross-pack workflowsmica_levi_orchestral_dread workflow + the orchestral suite packsdrone_lab pack + 4 Drone Lab demo_project entriesThe atlas knows the user's installed library at parameter depth. Producer-anchor queries land specific moves, not vague descriptions.
Anti-pattern surfacing:
Every pack entry has an anti_patterns body field listing "don't reach for this when X." Surface the relevant anti-pattern when proposing a move so the user knows the move's domain. (E.g. "Drone Lab is sustain-only — don't use for percussive content.")
For deliberately rule-breaking creative requests ("eclectic", "ignore the limits", "weird combo", "mix incompatible aesthetics"): enter Eclectic Mode inside this composition loop. Anti-patterns become prompt tension rather than guardrails: keep hard safety and protected-user constraints, then pair one normally-avoided formal idea with one identity-preserving anchor. Do not route to a private or missing skill.
Analyze and transform the structural elements of a track.
analyze_composition — runs a full structural pass returning sections, motifs, phrase grid, and form classificationget_section_graph — returns the section map: intro, verse, chorus, bridge, drop, breakdown, outro with bar rangesget_phrase_grid — returns the rhythmic and melodic phrase boundaries within each sectionget_motif_graph — returns detected melodic and rhythmic motifs with their occurrence locations and transformation historyOnce you understand the structure:
transform_motif(motif_id, transformation) — apply a transformation to a detected motif. Transformations include: inversion, retrograde, augmentation, diminution, transposition, fragmentation, sequencetransform_section(section_id, transformation) — apply a structural transformation to an entire section. Transformations include: extend, compress, strip_down, build_up, reharmonize, rhythmic_variationAlways capture before state with get_notes or get_arrangement_notes before transforming. Evaluate the result with evaluate_composition_move.
The motif graph tracks recurring melodic and rhythmic patterns:
id, pitches, rhythms, first_occurrence, and occurrences listPlan and execute smooth transitions between sections.
analyze_transition(from_section, to_section) — examine the current transition between two sections. Returns energy delta, timbral shift, harmonic distance, and detected issuesplan_transition(from_section, to_section) — generate a transition plan based on detected issues. Returns an ordered list of moves (filter sweeps, risers, drum drops, fills, automation curves)score_transition(from_section, to_section) — rate the current transition quality (0.0-1.0) with breakdown by energy, harmony, rhythm, and timbral continuityset_clip_automation, add_notes, set_device_parameter, apply_automation_shape)evaluate_composition_move — judge whether the transition improvedSee references/transition-archetypes.md for common transition patterns and when to use each.
Check how the mix translates across playback systems.
check_translation — run translation analysis on the current mixget_translation_issues — return specific problems:Translation issues feed back into the mix engine — a mono collapse issue becomes a stereo_width critic issue for the mix loop.
High-level arrangement and emotional arc tools.
get_emotional_arc — map the energy/intensity curve across the entire track, identifying peaks, valleys, and plateausplan_arrangement — generate an arrangement plan based on the current form, suggesting section order, lengths, and energy targetsapply_gesture_template — apply a predefined arrangement gesture (build, drop, breakdown, outro_fade, intro_build) to a bar rangeSee references/form-patterns.md for common song forms and energy curves by genre.
A typical compositional improvement session:
analyze_composition to understand current structureget_emotional_arc to see the energy shapecheck_translation to verify the changes survive mono/small speakersevaluate_composition_move after each changeAlways work one change at a time. Verify and evaluate before moving to the next intervention.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.