breeze-compat
Skill6 starsChanged 28 days agoMITView on GitHub
Read-only static audit of a Magento 2 module's compatibility with Swissup Breeze. Scans RequireJS, Knockout, jQuery-UI widgets, and mixins; emits ranked findings (Markdown, JSON, SARIF) and a verdict: compatible, needs Better Compatibility, or needs a manual adapter. Use to ask whether a module works with Breeze. Unlike magento2-tools:review (general quality), this is the Breeze dimension; generate the adapter with magento2-tools:breeze-adapt; new theme: magento2-tools:breeze-theme.
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 2 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Static-first: Default pass uses only the source tree — no runtime, no Magento CLI required.
- Very specific: line 23
Read-only: Never modifies code. Findings route to breeze-adapt for fixes.
- Very specific: line 28
Concrete remediation: Every finding names the specific Breeze fix (port to a Cash $.widget, enable Better Compatibility, move CSS to …
- Very specific: line 46
Run scripts/static-scan.sh <target> per references/breeze-compat-checklist.md:
- Very specific: line 60
Run scripts/build-findings.sh to emit JSON + SARIF (and render the Markdown report).
- Very specific: line 61
Run it with DOCS_ROOT=<output_root> (the resolved --docs-root value, or .docs by default) so both artifacts land under …
- Distinctive: line 114
Never modifies the scanned module.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Magento 2 Breeze Compatibility Audit
Static, read-only audit that tells you whether an existing module will work with a Swissup Breeze theme. Breeze replaces RequireJS/Knockout/jQuery with a Cash-based stack, so modules that lean on those APIs need either Breeze's "Better Compatibility" mode or a hand-written adapter.
Core Rules
- Static-first. Default pass uses only the source tree — no runtime, no Magento CLI required.
- Read-only. Never modifies code. Findings route to
breeze-adaptfor fixes. - Breeze-aware. Resolve
context; readtheme.breeze. Ifinstalledisfalse, note it (the audit still runs, but the verdict says "Breeze not installed"). - Severity by user-facing breakage. A Knockout checkout component is High; a
data-mage-inithook Breeze already supports is Info. - Concrete remediation. Every finding names the specific Breeze fix (port to a Cash
$.widget, enable Better Compatibility, move CSS tobreeze/_default.less) and whetherbreeze-adaptcan scaffold it. - JSON + SARIF. Same shape as
review(outputKind=compatibility).
Workflow
Phase 0 — Context Resolution
Invoke context. Capture theme.breeze, vendor, magento_root.
Phase 1 — Scope
- Single module → scan that module subtree.
- Multiple modules / site → scan each custom module under
app/code.
Phase 2 — Static Scan
Run scripts/static-scan.sh <target> per references/breeze-compat-checklist.md:
| Check | Pattern | Severity |
| RequireJS config | requirejs-config.js present | Medium (High if mixins) |
| RequireJS mixins | mixins in requirejs-config.js | High |
| Knockout / uiComponent | 'uiComponent', Magento_Ui/js/, data-bind | High |
| jQuery widget | $.widget(, $.mage. | Medium |
| Inline require | require([...]) in .phtml | Medium |
| mage-init | data-mage-init, text/x-magento-init | Info (Breeze supports) |
| No adapter yet | ships view/frontend/web but no breeze_*/web/css/breeze | Info |
Phase 3 — Verdict & Emit
Run scripts/build-findings.sh to emit JSON + SARIF (and render the Markdown report).
Run it with DOCS_ROOT=<output_root> (the resolved --docs-root value, or .docs by
default) so both artifacts land under {output_root}/breeze-compat/. Classify:
- Compatible out-of-box — only Info findings (mage-init / no-adapter).
- Needs Better Compatibility — RequireJS/mixins/jQuery-widget findings, no Knockout.
- Needs manual adapter — Knockout/uiComponent findings present.
Point the user at breeze-adapt for the fix.
Inputs
/breeze-compat <Vendor_Module> [--scope=module|site] [--docs-root=<path>]Outputs
Module scope (basename uses the underscore module name, e.g. Acme_Foo):
{output_root}/breeze-compat/{Vendor}_{Module}-breeze-compat-{YYYY-MM-DD}.{json,sarif}
Site scope: {output_root}/breeze-compat/breeze-compat-{scope}-{YYYY-MM-DD}.{json,sarif}
— plus a Markdown summary sharing the same basename. Findings follow
context/references/findings-schema.md. {output_root} defaults to .docs
({ctx.docs_root}); see the --docs-root/DOCS_ROOT recipe in
context/references/artifact-layout.md.
Output root (--docs-root)
This skill accepts --docs-root=<path> (see
context/references/artifact-layout.md). When set, run the emitter with
DOCS_ROOT=<path> so artifacts land under <path>/breeze-compat/; otherwise they default
to {ctx.docs_root}/breeze-compat/. Orchestrators such as feature
pass this to collect a run's artifacts under one folder.
Reference Files
references/breeze-compat-checklist.md— the full check table with patterns, severities, and Breeze remediation per row.context/references/severity.md— the shared five-point severity scale the per-row severities calibrate against.context/references/findings-schema.md— JSON findings-document structure (outputKind=compatibility).
Scripts
scripts/static-scan.sh— emits the findings array for a module subtree.scripts/build-findings.sh— aggregates and emits JSON + SARIF via the shared emitters.
Acceptance Criteria
- Produces
{Vendor}_{Module}-breeze-compat-{date}.json(module scope; site scope:breeze-compat-{scope}-{date}.json) withoutputKind=compatibility,findings[],scanner_errors[], and.sarif. - Each finding has a severity,
file:lineevidence, and a concrete Breeze remediation. - Emits a verdict (compatible / Better Compatibility / manual adapter).
- Never modifies the scanned module.
Related Skills
| Phase | Skill |
| 0 | context |
| (sibling) | review for general architecture/quality |
| (fix) | breeze-adapt to generate the adapter |
| (theme) | breeze-theme for a new Breeze theme |
In this repository35 other files it gives its agents.
- a11y-auditSkill
- admin-formSkill
- admin-listingSkill
- auditSkill
- breeze-adaptSkill
- breeze-themeSkill
- cli-commandSkill
- contextSkill
- data-migrationSkill
- debugSkill
- deploySkill
- docsSkill
- eav-attributeSkill
- extension-pointSkill
- featureSkill
- fixSkill
- frontendSkill
- graphqlSkill
- i18nSkill
- indexerSkill
- lintSkill
- marketplaceSkill
- message-queueSkill
- module-createSkill
- perf-auditSkill
- releaseSkill
- remediateSkill
- reviewSkill
- securitySkill
- system-configSkill
- test-generateSkill
- triageSkill
- upgradeSkill
- webapiSkill
- widgetSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

