Our review
Scans manuscript drafts and codebase for inconsistencies between Wasserstein orders (W₁ vs W₂) and generates a structured reconciliation report.
Strengths
- Automatically catches W₁/W₂ mismatches in LaTeX and Markdown files
- Checks Python wasserenstein_distance calls and TDA library usage for explicit order arguments
- Outputs a clear report with file locations and suggested fixes
- Enforces project-wide notation standards
Limitations
- Does not auto-fix issues; requires manual confirmation
- Only detects explicit textual patterns, not implicit mathematical usage
- Relies on the project having a predefined notation standard
When you need to align Wasserstein metric usage between a manuscript and its accompanying codebase before publication.
If your project consistently uses a single Wasserstein order (e.g., always W₂) and consistency is not a concern.
Security analysis
SafeThe skill only reads files locally and produces a report, with no execution of external commands or modification of files, posing no security risk.
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
Prompt Engineering
Data & AI
Prompt engineering best practices and templates to maximize AI outputs.
Data Visualization
Data & AI
Generates data visualizations and charts tailored to your data.
RAG Architecture Setup
Data & AI
Setup guide for RAG (Retrieval-Augmented Generation) architectures.