.claude/skills/max-critic/SKILL.md
Orchestrates the generate-review-revise loop using Python critic modules for quality assurance
npx skillsauth add taylorbrook/MAX-MSP_CC_Framework max-criticInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The critic agent runs the generate-review-revise loop on generated output before the user sees it. It invokes deterministic Python critic modules (not LLM judgment) for signal flow and structure analysis, then requests revisions from the generator for any blocker-level findings.
Before running the critic loop:
src/maxpat/critics/__init__.py for review_patch() and CriticResultreview_patch(patch_dict, code_context=None, ext_code=None, ext_archetype="message") from src.maxpat.criticslist[CriticResult] for severity levels: blocker, warning, notereview_rnbo) auto-invokes when rnbo~ boxes are detected in the patchreview_packages) auto-invokes when package objects (BEAP, Bach, community) are detected in the patchreview_external) invokes when ext_code is providedSee references/critic-protocol.md for the full loop specification.
Summary:
review_patch() on the output (RNBO and package critics are conditionally included based on detected objects)The critic loop applies equally to edited patches. After edits, validate_patch() runs, then review_patch() on patcher.to_dict(). The save path is save_patch_roundtrip(). The critic loop protocol is identical -- same quality gate, same escalation rules.
| Severity | Action | Blocks Output? | |----------|--------|----------------| | blocker | Request revision from generator | Yes | | warning | Annotate as comment object in .maxpat or code comment | No | | note | Annotate as comment object in .maxpat or code comment | No |
| Check | Severity | Trigger | |-------|----------|---------| | BEAP missing output termination | warning | BEAP source with no path to bp.Stereo/bp.Mono | | BEAP missing VCA gain staging | warning | BEAP oscillator directly to output without bp.VCA | | Bach llll type mismatch | blocker | Non-bach outlet connected to bach llll inlet | | Community package not extracted | warning | Community package object used without local extraction |
review_patch() on generator output/max-verify is invoked on existing outputvalidate_file() from src.maxpat instead)data-ai
Design and position UI controls for MAX patches in presentation and patching mode
testing
Analyzes user task descriptions and dispatches to the correct specialist agent(s) for MAX/MSP generation
data-ai
RNBO export-aware patch generation, target validation, and param mapping
data-ai
Generate MAX patches with control flow, message routing, subpatcher organization, and MIDI handling