Synalinks
Mantiene Claude sull'API idiomatica di Synalinks invece di congetture Keras/DSPy/LangChain.
Promosso
Cosa fa
Skill di riferimento per il framework LM neuro-simbolico Synalinks: DataModel/Field/Input, operatori JSON, le quattro API di costruzione di Program, moduli Generator/ChainOfThought, flusso di controllo Decision/Branch, agenti (FunctionCallingAgent, RLM, DeepAgent, MCP), DuckDB KnowledgeBase/RAG, training compile/fit, rewards, metriche e gli ottimizzatori RandomFewShot/OMEGA. Si attiva quando un task menziona Synalinks o i suoi nomi API, e fornisce 17 script di esempio eseguibili con log di esecuzione catturati più 10 documenti di riferimento approfonditi. Il suo scopo è impedire al modello di scrivere codice dall'aspetto plausibile, ma con sapore Keras/DSPy/LangChain, che il runtime di Synalinks rifiuta.
Rapporto di test
Clonato il repo in una HOME temporanea (SKILL.md è finito in ~/.claude/skills/synalinks/SKILL.md), confermato che il frontmatter YAML analizza in name+description (la descrizione è di 1182 caratteri, oltre il limite di 1024 caratteri che alcuni validatori di skill impongono), e controllato a campione scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md e references/simple_qa.log — tutti HTTP 200. Ho installato synalinks 0.9.8 in un venv (stubbing la dipendenza del grafo `ladybug` non costruibile) e ho eseguito due artefatti per lo stesso task: la mia BASELINE non guidata ha incontrato quattro fallimenti reali separati in sequenza — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, quindi `pydantic ValidationError: instructions Input should be a valid string` per una lista, quindi `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` per un await mancante, quindi `TypeError: Type is not JSON serializable: MetaDataModel` perché `Input(Question)` si lega posizionalmente a `schema=` — mentre la versione che segue la SKILL ha costruito il grafo, compilato, stampato la tabella riassuntiva del modulo, e si è degradata elegantemente a "no result" sulla chiamata LM (solo ollama era irraggiungibile; nessun modello locale in questa macchina). Ogni affermazione API che ho campionato corrispondeva alla libreria (Sequential senza descrizione solleva il ValueError documentato, SequentialPlanSynthesis è effettivamente assente dall'API pubblica, tutti i moduli/rewards/optimizers elencati esistono) e gli script forniti scripts/simple_qa.py e four_apis.py sono stati eseguiti senza modifiche fino alla chiamata LM; piccole vulnerabilità sono eval() negli strumenti calcolatrice di esempio (references/agents-tools.md:232 senza builtins ristretti) e una sezione datasets che elenca solo gsm8k/hotpotqa/arcagi mentre 0.9.8 ne espone ~20.
Testato il: 2026-07-21 · Claude Code 2.x (agent harness)
Installazione
rm -rf /tmp/synalinks-src git clone --depth 1 https://github.com/SynaLinks/synalinks-skills.git /tmp/synalinks-src mkdir -p ~/.claude/skills cp -R /tmp/synalinks-src/skills/synalinks ~/.claude/skills/synalinks # Alternative (repo's recommended path, needs Node): npx skills add SynaLinks/synalinks-skills --skill synalinks (add --global for ~/.claude/skills) # The skill itself is docs + example scripts only, no runtime deps. # To actually run scripts/*.py: Python >=3.12, `pip install synalinks` (v0.9.8 at test time) and a reachable LM, e.g. local ollama on http://localhost:11434. # Heads-up: synalinks depends on `ladybug`, which had no macOS arm64 wheel and failed to build from source without a make/rust toolchain; it is only needed for the optional property-graph store.
Comandi e prompt di esempio
/synalinksMantiene Claude sull'API idiomatica di Synalinks invece di congetture Keras/DSPy/LangChain.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Build a Synalinks program with ChainOfThought generationAdd a Synalinks Decision branch to this agentDebug my Synalinks DataModel and Field setup