Our review
Scans manuscripts and codebase for inconsistencies in Wasserstein order (W₁ vs W₂).
Strengths
- Automatically checks adherence to the W₂ notation standard.
- Detects ambiguous unsubscripted W usages.
- Produces a structured report with suggested fixes.
Limitations
- Does not automatically fix issues.
- Requires prior setup of a notation standard.
- May not cover all Wasserstein usages in notebooks.
Use this skill when you need to harmonize Wasserstein metrics across manuscripts and code in a project.
Do not use it if you are already using W₁ consistently and it is documented.
Security analysis
SafeThis skill only reads files and generates a report; it does not modify any files, execute code, or interact with external systems. There is no risk of destructive actions or data exfiltration.
No concerns found
Examples
/wasserstein-audit all/wasserstein-audit papers/wasserstein-audit code/wasserstein-audit — Audit Wasserstein Order Consistency
Scan all manuscript drafts and codebase for W₁ vs W₂ inconsistencies. Resolves the blocking Phase 0 deliverable: the legacy P01 manuscript uses W₁ in several places while project convention mandates W₂ as the primary metric.
Usage
/wasserstein-audit
/wasserstein-audit [papers|code|all]
Example: /wasserstein-audit all
What this does
- Reads
papers/shared/notation.md(canonical notation standard, Wasserstein Audit section) - Scans manuscript
.mdfiles underpapers/for W₁, unsubscripted W, ambiguous W_p - Scans Python files under all domain packages for Wasserstein calls without explicit
p=2 - Cross-references findings against what notation.md already has "verified"
- Produces a structured reconciliation report — does not fix anything without confirmation
Manuscript patterns that trigger a flag
| Pattern | Issue |
|---|---|
| W_1 / $W_1$ / W_{1} | W₁ usage — needs justification or must change to W₂ |
| $W$ (unsubscripted) | Always flag — violates notation standard |
| bottleneck without alongside Wasserstein | Sole metric violation |
| wasserstein without explicit order nearby | Ambiguous |
Code patterns that trigger a flag
| Pattern | Issue |
|---|---|
| wasserstein_distance(a, b) with no p= arg | Default may not be W₂ in all library versions |
| p=1 or order=1 near Wasserstein call | Explicit W₁ usage |
| bottleneck_distance(...) | Must not be used as sole metric |
| gudhi.wasserstein.wasserstein_distance without order=2 | gudhi default not guaranteed |
Report format
## Wasserstein Audit Report — YYYY-MM-DD
### Manuscript Findings
| File | Line | Found | Issue | Suggested Fix |
### Code Findings
| File | Line | Found | Issue | Suggested Fix |
### Status
- Blocking Phase 0: YES / NO
- Total issues: N (manuscript: N₁, code: N₂)
### Recommended Actions
Library defaults (reference)
persim.wasserstein_distance— p=2 by default ✓gudhi.wasserstein.wasserstein_distance— requires explicitorder=arggiotto-tdaWasserstein vectorisation — p=2 by default ✓- W₁ in theory proofs is acceptable in Methods sections if clearly labelled and distinguished from the computational metric used
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.