Synalinks
Houdt Claude op idiomatische Synalinks API in plaats van Keras/DSPy/LangChain giswerk
Getest · Werkt
Wat het doet
Referentie skill voor het Synalinks neuro-symbolische LM framework: DataModel/Field/Input, JSON operators, de vier Program building APIs, Generator/ChainOfThought modules, Decision/Branch control flow, agents (FunctionCallingAgent, RLM, DeepAgent, MCP), DuckDB KnowledgeBase/RAG, compile/fit training, rewards, metrics en de RandomFewShot/OMEGA optimizers. Het activeert wanneer een taak Synalinks of zijn API namen vermeldt, en levert 17 uitvoerbare voorbeeldscripts met vastgelegde run logs plus 10 diepgaande referentiedocumenten. Het doel is om te voorkomen dat het model aannemelijk uitziende Keras/DSPy/LangChain-achtige code schrijft die de Synalinks runtime afwijst.
Testrapport
De repo gekloond naar een tijdelijke HOME (SKILL.md kwam terecht in ~/.claude/skills/synalinks/SKILL.md), bevestigde dat de YAML frontmatter parset naar name+description (description is 1182 tekens, over de 1024-teken limiet die sommige skill validators afdwingen), en controleerde scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md en references/simple_qa.log — allemaal HTTP 200. Ik installeerde synalinks 0.9.8 in een venv (stubbing de onbouwbare `ladybug` graph dep) en draaide twee artefacten voor dezelfde taak: mijn ongeleide BASELINE stuitte op vier afzonderlijke echte fouten in sequentie — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, daarna `pydantic ValidationError: instructions Input should be a valid string` voor een lijst, daarna `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` voor een ontbrekende await, daarna `TypeError: Type is not JSON serializable: MetaDataModel` omdat `Input(Question)` positioneel bindt aan `schema=` — terwijl de SKILL-volgende versie de grafiek bouwde, compileerde, de module samenvattingstabel printte, en gracieus degradeerde naar "no result" op de LM call (alleen ollama was onbereikbaar; geen lokaal model in deze box). Elke API claim die ik bemonsterde kwam overeen met de bibliotheek (Sequential zonder description geeft de gedocumenteerde ValueError, SequentialPlanSynthesis is inderdaad afwezig in de publieke API, alle vermelde modules/rewards/optimizers bestaan) en de meegeleverde scripts/simple_qa.py en four_apis.py draaiden ongewijzigd tot aan de LM call; kleine 'smells' zijn eval() in voorbeeldcalculator tools (references/agents-tools.md:232 zonder beperkte builtins) en een datasets sectie die alleen gsm8k/hotpotqa/arcagi vermeldt terwijl 0.9.8 er ~20 exposeert.
Getest op: 2026-07-21 · Claude Code 2.x (agent harness)
Installatie
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.
Commando's en voorbeeldprompts
/synalinksHoudt Claude op idiomatische Synalinks API in plaats van Keras/DSPy/LangChain giswerk
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
Build a Synalinks program with ChainOfThought generationAdd a Synalinks Decision branch to this agentDebug my Synalinks DataModel and Field setup