Synalinks

Utrzymuje Claude'a na idiomatycznym API Synalinks zamiast zgadywania Keras/DSPy/LangChain

Autor: SynaLinks · SynaLinks/synalinks-skills

Testowano · Działa ★ 8.8/10

Synalinks — Utrzymuje Claude'a na idiomatycznym API Synalinks zamiast zgadywania Keras/DSPy/LangChain

Co robi ten skill

Umiejętność referencyjna dla neuro-symbolicznego frameworka LM Synalinks: DataModel/Field/Input, operatory JSON, cztery API do budowania programów, moduły Generator/ChainOfThought, przepływ sterowania Decision/Branch, agenci (FunctionCallingAgent, RLM, DeepAgent, MCP), DuckDB KnowledgeBase/RAG, kompilacja/dopasowanie treningu, nagrody, metryki i optymalizatory RandomFewShot/OMEGA. Uruchamia się, gdy zadanie wspomina Synalinks lub jego nazwy API, i dostarcza 17 uruchamialnych skryptów przykładowych z przechwyconymi logami uruchomień plus 10 szczegółowych dokumentów referencyjnych. Jego celem jest powstrzymanie modelu przed pisaniem wiarygodnie wyglądającego kodu w stylu Keras/DSPy/LangChain, który środowisko wykonawcze Synalinks odrzuca.

Raport z testu

Sklonowano repozytorium do tymczasowego HOME (SKILL.md wylądował w ~/.claude/skills/synalinks/SKILL.md), potwierdzono, że YAML frontmatter parsowany jest do name+description (description ma 1182 znaki, powyżej limitu 1024 znaków, który narzucają niektóre walidatory umiejętności), i sprawdzono wyrywkowo scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md i references/simple_qa.log — wszystkie HTTP 200. Zainstalowałem synalinks 0.9.8 w venv (stubując niemożliwą do zbudowania zależność grafową `ladybug`) i uruchomiłem dwa artefakty dla tego samego zadania: mój niekierowany BASELINE napotkał cztery oddzielne, rzeczywiste błędy sekwencyjnie — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, następnie `pydantic ValidationError: instructions Input should be a valid string` dla listy, następnie `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` dla brakującego await, następnie `TypeError: Type is not JSON serializable: MetaDataModel` ponieważ `Input(Question)` pozycyjnie wiąże się z `schema=` — podczas gdy wersja zgodna z umiejętnością zbudowała graf, skompilowała, wydrukowała tabelę podsumowania modułu i elegancko zdegradowała do „no result” przy wywołaniu LM (tylko ollama była nieosiągalna; brak lokalnego modelu w tym pudełku). Każde twierdzenie API, które sprawdziłem, pasowało do biblioteki (Sequential bez opisu zgłasza udokumentowany ValueError, SequentialPlanSynthesis faktycznie jest nieobecny w publicznym API, wszystkie wymienione moduły/nagrody/optymalizatory istnieją), a dostarczone scripts/simple_qa.py i four_apis.py działały bez modyfikacji aż do wywołania LM; drobne niedociągnięcia to eval() w przykładowych narzędziach kalkulatora (references/agents-tools.md:232 bez ograniczonych wbudowanych funkcji) i sekcja datasets wymieniająca tylko gsm8k/hotpotqa/arcagi, podczas gdy 0.9.8 udostępnia ~20.

Testowano: 2026-07-21 · Claude Code 2.x (agent harness)

Instalacja

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.

Komendy i przykładowe prompty

  • /synalinksUtrzymuje Claude'a na idiomatycznym API Synalinks zamiast zgadywania Keras/DSPy/LangChain

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

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