Nano Banana Pro
Agent skill for nano-banana-pro
Given an input list of tracks, magicmix creates an optimal output list. What "optimal" means depends on the stategy. "Optimal" relates to the ordering of output tracks, where there is a transition from a track to the next in the list. Transitions are described with N#L#, where N and L relate to Came
Sign in to like and favorite skills
Given an input list of tracks, magicmix creates an optimal output list. What "optimal" means depends on the stategy. "Optimal" relates to the ordering of output tracks, where there is a transition from a track to the next in the list. Transitions are described with N#L#, where N and L relate to Camelot keys, N=number (1-12) and L=letter (A or B). For example, 1A to 1A is a N0L0 transition; 3A to 4B is N1L1, 5B to 3A is N-2L1. The keys wrap so 12B to 1B is N1L0 and 11A to 1A is N2L0.
For the default strategy, the optimal ordering preserves:
cmd/magicmix: CLI entrypoint (main.go) wiring to the CLI package.internal/cli: flag parsing, context wiring (--limit, --seed, --timeout).internal/strategy: sorting strategies, planner, evaluation harness, and tests.internal/track, internal/csvio: domain models and CSV IO helpers.internal/testdata: shared fixtures (e.g., realdata.csv) for experimentation.GOCACHE=$(pwd)/.gocache GOMODCACHE=$(pwd)/.gomodcache go build ./...: compile with local caches to avoid sandbox issues.GOCACHE=$(pwd)/.gocache GOMODCACHE=$(pwd)/.gomodcache go test ./...: run the unit suite..gocache and .gomodcache are intentionally local—clean them (rm -rf) after build/test runs.MAGICMIX_EVAL_SEED=12345 go test -run TestDefaultSorterRealDataEvaluation ./internal/strategy: execute the 20-round real-data evaluation with a repeatable seed.go run ./cmd/magicmix --input input.csv --limit 20 --seed 9876: ad-hoc CLI run with truncation and deterministic randomness.testing package; place files as *_test.go next to the code (internal/cli/cli_test.go).strategy.WithSeed); random seeds only for exploratory runs.internal/strategy/eval_test.go; repeat runs with MAGICMIX_EVAL_SEED when comparing changes.--seed