Synalinks

Maintient Claude sur l'API idiomatique Synalinks au lieu des conjectures Keras/DSPy/LangChain.

par SynaLinks · SynaLinks/synalinks-skills

Testé · Fonctionne ★ 8.8/10

Synalinks — Maintient Claude sur l'API idiomatique Synalinks au lieu des conjectures Keras/DSPy/LangChain.

Ce que fait

Compétence de référence pour le framework LM neuro-symbolique Synalinks : DataModel/Field/Input, opérateurs JSON, les quatre APIs de construction de programme, modules Generator/ChainOfThought, flux de contrôle Decision/Branch, agents (FunctionCallingAgent, RLM, DeepAgent, MCP), DuckDB KnowledgeBase/RAG, entraînement compile/fit, récompenses, métriques et les optimiseurs RandomFewShot/OMEGA. Elle se déclenche lorsqu'une tâche mentionne Synalinks ou ses noms d'API, et fournit 17 scripts d'exemple exécutables avec des logs d'exécution capturés plus 10 documents de référence approfondis. Son but est d'empêcher le modèle d'écrire du code d'apparence plausible de type Keras/DSPy/LangChain que le runtime Synalinks rejette.

Rapport de test

Cloné le dépôt dans un HOME temporaire (SKILL.md s'est retrouvé dans ~/.claude/skills/synalinks/SKILL.md), confirmé que le frontmatter YAML est analysé en name+description (la description fait 1182 caractères, dépassant la limite de 1024 caractères que certains validateurs de compétences imposent), et vérifié ponctuellement scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md et references/simple_qa.log — tous HTTP 200. J'ai installé synalinks 0.9.8 dans un venv (en stubbant la dépendance de graphe `ladybug` non constructible) et exécuté deux artefacts pour la même tâche : ma RÉFÉRENCE non guidée a rencontré quatre échecs réels distincts en séquence — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, puis `pydantic ValidationError: instructions Input should be a valid string` pour une liste, puis `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` pour un await manquant, puis `TypeError: Type is not JSON serializable: MetaDataModel` parce que `Input(Question)` se lie positionnellement à `schema=` — tandis que la version suivant la COMPÉTENCE a construit le graphe, compilé, imprimé le tableau récapitulatif du module, et s'est dégradée gracieusement en "no result" sur l'appel LM (seul ollama était inaccessible ; pas de modèle local dans cette boîte). Chaque affirmation d'API que j'ai échantillonnée correspondait à la bibliothèque (Sequential sans description lève le ValueError documenté, SequentialPlanSynthesis est bien absent de l'API publique, tous les modules/récompenses/optimiseurs listés existent) et les scripts fournis scripts/simple_qa.py et four_apis.py ont fonctionné sans modification jusqu'à l'appel LM ; des odeurs mineures sont eval() dans les outils de calculatrice d'exemple (references/agents-tools.md:232 sans builtins restreints) et une section datasets ne listant que gsm8k/hotpotqa/arcagi alors que 0.9.8 en expose ~20.

Testé le: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

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.

Commandes et exemples de prompts

  • /synalinksMaintient Claude sur l'API idiomatique Synalinks au lieu des conjectures Keras/DSPy/LangChain.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Build a Synalinks program with ChainOfThought generation
  • Add a Synalinks Decision branch to this agent
  • Debug my Synalinks DataModel and Field setup