Synalinks
Keeps Claude on idiomatic Synalinks API instead of Keras/DSPy/LangChain guesswork
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 21, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · a192b6c
Cloned the repo into a temp HOME (SKILL.md landed at ~/.claude/skills/synalinks/SKILL.md), confirmed the YAML frontmatter parses to name+description (description is 1182 chars, over the 1024-char limit some skill validators enforce), and spot-checked scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md and references/simple_qa.log — all HTTP 200. I installed synalinks 0.9.8 in a venv (stubbing the unbuildable `ladybug` graph dep) and ran two artifacts for the same task: my unguided BASELINE hit four separate real failures in sequence — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, then `pydantic ValidationError: instructions Input should be a valid string` for a list, then `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` for a missing await, then `TypeError: Type is not JSON serializable: MetaDataModel` because `Input(Question)` positionally binds to `schema=` — while the SKILL-following version built the graph, compiled, printed the module summary table, and degraded gracefully to "no result" on the LM call (only ollama was unreachable; no local model in this box). Every API claim I sampled matched the library (Sequential without description raises the documented ValueError, SequentialPlanSynthesis is indeed absent from the public API, all listed modules/rewards/optimizers exist) and the shipped scripts/simple_qa.py and four_apis.py ran unmodified up to the LM call; minor smells are eval() in example calculator tools (references/agents-tools.md:232 without restricted builtins) and a datasets section listing only gsm8k/hotpotqa/arcagi while 0.9.8 exposes ~20.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 8/10
- Docs & honesty 4/5
What Synalinks does
Reference skill for the Synalinks neuro-symbolic LM framework: DataModel/Field/Input, JSON operators, the four Program building APIs, Generator/ChainOfThought modules, Decision/Branch control flow, agents (FunctionCallingAgent, RLM, DeepAgent, MCP), DuckDB KnowledgeBase/RAG, compile/fit training, rewards, metrics and the RandomFewShot/OMEGA optimizers. It triggers when a task mentions Synalinks or its API names, and ships 17 runnable example scripts with captured run logs plus 10 deep-dive reference docs. Its purpose is to stop the model from writing plausible-looking Keras/DSPy/LangChain-flavored code that the Synalinks runtime rejects.
How to install Synalinks
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.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Synalinks
-
/synalinksKeeps Claude on idiomatic Synalinks API instead of Keras/DSPy/LangChain guesswork
It also activates on plain-language prompts like these:
-
Build a Synalinks program with ChainOfThought generation -
Add a Synalinks Decision branch to this agent -
Debug my Synalinks DataModel and Field setup
Frequently asked questions
- Is the Synalinks skill free?
- Yes. The skill itself is free from SynaLinks/synalinks-skills. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Synalinks work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Cloned the repo into a temp HOME (SKILL.md landed at ~/.claude/skills/synalinks/SKILL.md), confirmed the YAML frontmatter parses to name+description (description is 1182 chars, over the 1024-char limit some skill validators enforce), and spot-checked scripts/simple_qa.py, scripts/deep_agent.py, references/api-reference.md, references/control-flow.md and references/simple_qa.log — all HTTP 200. I installed synalinks 0.9.8 in a venv (stubbing the unbuildable `ladybug` graph dep) and ran two artifacts for the same task: my unguided BASELINE hit four separate real failures in sequence — `TypeError: ChainOfThought.__init__() takes 1 positional argument`, then `pydantic ValidationError: instructions Input should be a valid string` for a list, then `ValueError: All outputs values must be SymbolicDataModels. Received: coroutine` for a missing await, then `TypeError: Type is not JSON serializable: MetaDataModel` because `Input(Question)` positionally binds to `schema=` — while the SKILL-following version built the graph, compiled, printed the module summary table, and degraded gracefully to "no result" on the LM call (only ollama was unreachable; no local model in this box). Every API claim I sampled matched the library (Sequential without description raises the documented ValueError, SequentialPlanSynthesis is indeed absent from the public API, all listed modules/rewards/optimizers exist) and the shipped scripts/simple_qa.py and four_apis.py ran unmodified up to the LM call; minor smells are eval() in example calculator tools (references/agents-tools.md:232 without restricted builtins) and a datasets section listing only gsm8k/hotpotqa/arcagi while 0.9.8 exposes ~20.
- What is the Synalinks SkillProof Score?
- 8.8/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 8/10, docs & honesty 4/5.
- How do I install Synalinks?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Synalinks with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.