Meta-Skill ufficiale per il rilevamento di contraddizioni tra skill AI.
| Comando | Descrizione |
|---|---|
/analizza <skillA> <skillB> |
Analisi completa con report dettagliato |
/confronta <skillA> <skillB> |
Analisi rapida: solo verdetto (per CI/CD) |
La differenza Γ¨ solo nell'output, non nell'analisi. Entrambi fanno lo stesso identico lavoro dietro le quinte. Cambia cosa ti restituiscono:
/analizza |
/confronta |
|
|---|---|---|
| Dettaglio | Report completo | Solo verdetto |
| Include | Statement originali, spiegazione, severity, suggerimento, fix difficulty | Quante contraddizioni, quante bloccanti, score, compatibile sì/no |
| Per chi | Sviluppatore che deve capire e correggere | Pipeline CI/CD che deve solo sapere se passare o bloccare |
| Output | 3 livelli di dettaglio | 1 riga di verdetto |
Cosa succede quando scrivi /analizza skillA skillB:
/analizza skillA skillB
(file Β· URL Β· testo diretto)
Prende la sorgente grezza e la trasforma in struttura dati.
- loader β carica da file / URL / testo inline
- language_detector β IT o EN?
- format_detector β Markdown? YAML? JSON?
- cleaner β rimuove spazi e caratteri spuri
- parser β estrae sezioni e headers
- segmenter β divide in frasi atomiche
- metadata_extractor β nome, versione, autore
- validator β controlli sicurezza
Output:
RawSkillA,RawSkillB
Per ogni frase atomica, esegue 9 estrattori in parallelo:
- rule_extractor β MUST? SHOULD? NEVER?
- passive_extractor β "deve essere X" β
MUST X - constraint_extractor β
max 100,min 200... - directive_extractor β verbi: crea, invia, valida...
- conditional_extractor β se X allora Y...
- temporal_extractor β prima A poi B...
- dependency_extractor β Python 3.12+, API v2...
- priority_extractor β "questa skill ha supremazia"...
- assumption_extractor β "dato che il sistema Γ¨ stateless"...
Output:
EntityRegistryA,EntityRegistryB(~30β50 entitΓ per skill)
Porta ogni entitΓ in forma canonica unificata:
[SOGGETTO] MODALITA' [PREDICATO] [OGGETTO] [CONDIZIONI]
- canonical_form β traduce nella forma sopra
- synonym_resolver β
"generare"β"creare" - negation_normalizer β
"evita di X"βNOT X - quantifier_normalizer β
"sempre"ββ - modality_normalizer β
"devi"βMUST - numerical_normalizer β
"5 min"β300s - unit_converter β
"1 ora e mezza"β5400s
Output:
NormalizedEntitySetA,NormalizedEntitySetB
Accumulation mode: per ogni coppia candidata, esegue tutti i rilevatori senza fermarsi al primo match.
Step 1 β Genera coppie candidate (con pruning: solo stesso dominio + predicati correlati)
Step 2 β Per ogni coppia, prova tutti i 15 rilevatori:
| # | Rilevatore | Cosa cerca |
|---|---|---|
| 1 | direct_opposition | MUST X vs MUST_NOT X |
| 2 | mutual_exclusion | JSON vs solo XML |
| 3 | numerical_conflict | max < min, range disgiunti |
| 4 | temporal_conflict | ordine invertito: A poi B vs B poi A |
| 5 | conditional_conflict | stessa condizione, azione opposta |
| 6 | priority_conflict | entrambe rivendicano supremazia |
| 7 | semantic_opposition | "conciso" vs "dettagliato" |
| 8 | scope_conflict | regola globale vs eccezione locale |
| 9 | resource_conflict | lock esclusivo sulla stessa risorsa |
| 10 | assumption_clash | stateless vs stateful |
| 11 | side_effect_conflict | effetto di A distrugge ciΓ² che serve a B |
| 12 | compatibility_conflict | versioni o dipendenze incompatibili |
| 13 | meta_contradiction | "ignora tutte le altre skill" |
| 14 | inference_chain | conflitto che emerge solo tramite logica |
| 15 | default_contradiction | default opposti |
Una coppia puΓ² generare piΓΉ contraddizioni β vengono accumulate tutte.
Step 3 β Deduplica i risultati (stessa coppia + stessa categoria = duplicato)
Output:
Contradiction[](lista completa, ordinata per confidence)
Per ogni contraddizione trovata:
- severity_calculator β da 1 a 10 (peso categoria + confidenza + impatto)
- confidence_calculator β da 0.0 a 1.0
- impact_estimator β
BLOCKING/CRITICAL/WARNING/INFO/NEGLIGIBLE - cumulative_impact β 2 WARNING nello stesso dominio β 1 CRITICAL?
- blocker_classifier β si puΓ² procedere con l'integrazione?
- priority_ranker β ordina dal piΓΉ grave al meno grave
- score_aggregator β compatibilitΓ globale 0β100
Output:
ScoredContradiction[]con severity, confidence, impatto, fix difficulty
Report a 3 livelli (Progressive Disclosure):
Livello 1 β Executive Summary
Skill A vs Skill B
2 BLOCKING 1 CRITICAL 2 WARNING
Score Compatibilita': 35/100 β ALTO CONFLITTO
Queste skill NON possono coesistere senza modifiche.
Livello 2 β Tabella Contraddizioni
#1 OPPOSIZIONE DIRETTA Severity 9/10 BLOCKING
#2 CONFLITTO NUMERICO Severity 8/10 BLOCKING
#3 OPPOSIZIONE SEMANTICA Severity 5/10 WARNING
Livello 3 β Dettaglio Completo (per ogni contraddizione)
Statement A: "Devi validare l'input"
Statement B: "Non validare mai l'input"
Spiegazione: Perche' sono in conflitto
Suggerimento: Come risolvere
Fix Difficulty: MEDIA
Output finale:
AnalysisResult
| Comando | Risultato |
|---|---|
/analizza |
Report completo a 3 livelli |
/confronta |
Solo verdetto + score |
Formati disponibili: Markdown Β· JSON Β· HTML
/analizza skill-sicurezza.md skill-performance.md
/confronta policy-aziendale.md nuova-skill.md
/analizza "Devi sempre validare l'input" "Non validare mai l'input"
- Confronta due skill AI e trova ogni contraddizione tra loro
- 15 categorie di contraddizioni: dall'opposizione diretta fino a conflitti semantici e meta-contraddizioni
- Accumulation mode: non si ferma al primo conflitto β trova tutto
- Report a 3 livelli: sommario β tabella β dettaglio con spiegazione e suggerimento
- Funziona in italiano e inglese con rilevamento automatico della lingua
- Sanitizzazione contro prompt injection e contenuti malevoli
skill-contradiction-analyzer/
βββ SKILL.md
βββ core/ engine, types, config, errors, cache, metrics
βββ layer1_input/ loader, parser, segmenter, validator
βββ layer2_extraction/ 9 estrattori specializzati
βββ layer3_norm/ canonical_form, synonym_resolver
βββ layer4_detection/ 15 rilevatori in accumulation mode
βββ layer5_scoring/ severity, confidence, impact classification
βββ layer6_output/ report generator a 3 livelli
βββ knowledge/ thesaurus, matrici, pattern (9 JSON)
βββ security/ sanitizer, content policy
βββ tests/ 69 test Β· 22 fixture Β· 0 falliti
pip install -e .Vedi SKILL.md per la documentazione completa.