Synalinks

Mantiene a Claude en la API idiomática de Synalinks en lugar de conjeturas de Keras/DSPy/LangChain

Por SynaLinks · SynaLinks/synalinks-skills

Probado · Funciona ★ 8.8/10

Synalinks — Mantiene a Claude en la API idiomática de Synalinks en lugar de conjeturas de Keras/DSPy/LangChain

Qué hace

Habilidad de referencia para el framework LM neuro-simbólico Synalinks: DataModel/Field/Input, operadores JSON, las cuatro APIs de construcción de Programas, módulos Generator/ChainOfThought, flujo de control Decision/Branch, agentes (FunctionCallingAgent, RLM, DeepAgent, MCP), DuckDB KnowledgeBase/RAG, entrenamiento compile/fit, recompensas, métricas y los optimizadores RandomFewShot/OMEGA. Se activa cuando una tarea menciona Synalinks o sus nombres de API, y envía 17 scripts de ejemplo ejecutables con registros de ejecución capturados más 10 documentos de referencia detallados. Su propósito es evitar que el modelo escriba código con sabor a Keras/DSPy/LangChain que el tiempo de ejecución de Synalinks rechaza.

Informe de la prueba

Cloné el repositorio en un HOME temporal (SKILL.md se ubicó en ~/.claude/skills/synalinks/SKILL.md), confirmé que el frontmatter YAML se analiza a name+description (la descripción tiene 1182 caracteres, superando el límite de 1024 caracteres que algunos validadores de habilidades imponen), y verifiqué scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md y references/simple_qa.log — todos HTTP 200. Instalé synalinks 0.9.8 en un venv (simulando la dependencia de gráfico `ladybug` no construible) y ejecuté dos artefactos para la misma tarea: mi LÍNEA BASE no guiada encontró cuatro fallos reales separados en secuencia — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, luego `pydantic ValidationError: instructions Input should be a valid string` para una lista, luego `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` por un await faltante, luego `TypeError: Type is not JSON serializable: MetaDataModel` porque `Input(Question)` se vincula posicionalmente a `schema=` — mientras que la versión que siguió la HABILIDAD construyó el gráfico, compiló, imprimió la tabla de resumen del módulo y se degradó elegantemente a "no result" en la llamada LM (solo ollama era inalcanzable; no había modelo local en esta caja). Cada afirmación de API que muestreé coincidió con la biblioteca (Sequential sin descripción genera el ValueError documentado, SequentialPlanSynthesis está de hecho ausente de la API pública, todos los módulos/recompensas/optimizadores listados existen) y los scripts enviados scripts/simple_qa.py y four_apis.py se ejecutaron sin modificar hasta la llamada LM; pequeños problemas son eval() en herramientas de calculadora de ejemplo (references/agents-tools.md:232 sin builtins restringidos) y una sección de conjuntos de datos que lista solo gsm8k/hotpotqa/arcagi mientras que 0.9.8 expone ~20.

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

Instalación

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.

Comandos y prompts de ejemplo

  • /synalinksMantiene a Claude en la API idiomática de Synalinks en lugar de conjeturas de Keras/DSPy/LangChain

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

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