.agents/skills/iota-move-junior-error-explainer/SKILL.md
--- name: iota-move-junior-error-explainer description: For junior developers: when a Move compiler error, type error, or runtime abort occurs on IOTA, explains the problem in simple Italian and provides a minimal corrected version with explanation of why the fix works. tags: [iota, move, junior, debug, error, learning, beginner] trigger: Triggered by: paste di un errore del compilatore, "perché questo errore?", "non capisco questo abort", "non compila", "ability constraint not satisfied", "miss
npx skillsauth add justpeppe/IOTA-Project .agents/skills/iota-move-junior-error-explainerInstall 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.
Diagnose Move compilation errors and runtime aborts for IOTA, explain them in plain Italian, and provide a corrected snippet with a clear explanation of the fix.
Symptom: the type X does not have the ability 'copy'/'drop'/'store'
Spiegazione: "Stai cercando di copiare/scartare/salvare un tipo che non ha
il permesso. In Move ogni tipo dichiara esplicitamente cosa può fare."
Fix: Aggiungere o rimuovere la ability corretta. Mostrare before/after.
id: UIDSymptom: first field of struct with 'key' ability must be of type UID
Spiegazione: "Ogni oggetto IOTA (con key) DEVE avere id: UID come PRIMO campo."
// ❌ SBAGLIATO
public struct MyObj has key { value: u64 }
// ✅ CORRETTO
public struct MyObj has key {
id: UID, // ← SEMPRE il primo campo
value: u64,
}
Symptom: cannot use value after move, cannot borrow X as mutable
Spiegazione: "Move ha ownership come Rust: chi riceve un valore ne diventa
proprietario. Usa &mut per modificare senza trasferire la proprietà."
Fix: Mostrare il tipo di riferimento corretto (&, &mut, o valore).
Symptom: Transaction aborted with code N
Spiegazione: "Un assert! ha fallito — una condizione di sicurezza non soddisfatta.
Controlla: oggetto giusto? mittente autorizzato? stato corretto?"
Fix: Identificare quale assert! ha fallito e come soddisfarne la condizione.
Symptom: unbound module, cannot find module member
Spiegazione: "Namespace errato. In IOTA Move usa sempre iota::, mai sui::."
use iota::object::{Self, UID};
use iota::transfer;
use iota::tx_context::{Self, TxContext};
use iota::coin::{Self, Coin};
use std::string::{Self, String};
use iota::dynamic_field;
use iota::event;
## 🐛 Diagnosi Errore
**Tipo**: <categoria>
**Messaggio originale**: `<errore copiato>`
### 💬 Cosa significa
<spiegazione in italiano, max 4 righe>
### ❌ Il tuo codice (problema)
```move
<codice errato>
<codice corretto>
<spiegazione del fix, 2-3 righe>
# Constraints
- Spiegare SEMPRE in italiano prima del codice.
- Mai dare un fix senza spiegare PERCHÉ funziona.
- Se ambiguo: "Puoi mostrarmi il modulo completo?"
- Chiudere con: "Ottimo progresso! Ogni errore che risolvi ti insegna
qualcosa che non dimenticherai. 💪"
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
development
Rigorous visual validation expert specializing in UI testing, design system compliance, and accessibility verification. Masters screenshot analysis, visual regression testing, and component validation. Use PROACTIVELY to verify UI modifications have achieved their intended goals through comprehensive visual analysis.
tools
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.
tools
Create interface designs, wireframes, and design systems. Masters user research, accessibility standards, and modern design tools. Specializes in design tokens, component libraries, and inclusive design. Use PROACTIVELY for design systems, user flows, or interface optimization.