---
name: connect-to-skulk
description: Configure coding agents, chat applications and workflow tools to use a Skulk cluster through its live Integrations recipes. Covers Claude Code, OpenCode, Codex, Hermes, OpenClaw, Pi, AnythingLLM, Open WebUI, n8n and Firefox; use for client configuration rather than capability SDK development.
---

# Connect an agent or app to Skulk

Read [integration recipes](references/integrations.md) for supported clients, API surfaces, address selection and authentication. The bundle records its Skulk source revision in `source-manifest.json`. Verify the installed tool/runtime versions: client configuration formats change independently of Skulk. Read that tool's current official documentation when the recipe does not match its installed configuration.

## Establish the connection

Identify the requested client, where it runs (same machine, another machine or a container), the user's Skulk API origin, and the existing client configuration. Discover ready models and the capability needed: chat, tool use, vision and embeddings are different requirements. Keep the user's existing provider choices and configuration; add or update the requested Skulk connection without replacing unrelated settings.

Open the running cluster's dashboard → Integrations. Select the tool and a reachable address, then use the generated recipe with actual ready model ids, context limits and capability flags. If browser access is unavailable, obtain the user's copied recipe or inspect the public API and the installed client's official config contract. Do not invent an unseen dashboard recipe or fill placeholders as if they were ready resources.

The dashboard recipe is the source for exact commands and configuration fields. Do not turn these public documentation snapshots into a fixed template that will silently outlive a client update. Do not run the affected coding agent as a nested agent merely to configure it; edit or prepare its configuration and use an appropriate bounded verification path.

## Match the surface and address

- Most listed tools use the OpenAI-compatible `<node>/v1` surface.
- Claude Code uses the Anthropic-compatible node origin, without adding `/v1` as though it were an OpenAI client.
- Open WebUI's documented recipe uses the Ollama-compatible `<node>/ollama` surface.
- For Codex, OpenCode, Hermes, OpenClaw and Pi, follow their selected recipe's provider/model configuration and preserve any existing MCP/server definitions.
- For AnythingLLM, distinguish the chat model from the optional embedding model. For n8n, configure the documented credential and workflow node. For Firefox, use the dashboard sidebar recipe rather than inventing a model-provider configuration.

Check reachability from the client environment. A container's localhost refers to itself. The documented Docker recipes rewrite loopback to `host.docker.internal` while retaining LAN/Tailscale addresses; host resolution can require environment-specific configuration. Never replace a known routable address with loopback on a remote client.

A placeholder key applies only to the trusted local cluster listener when the client requires a nonempty key. The paired operator gateway requires real scoped credentials and its route set must support the requested client API. A localhost/LAN recipe does not configure relay access. Keep credentials in the tool's supported secret/config mechanism and out of the handover text.

## Prove the integration

Validate the edited config with the client's supported parser or diagnostic, then test model discovery and one small real request from the same environment as the client. Where the tool exposes a connection test, use it. Separately exercise required tool calling or vision behavior if that is the user's purpose; a successful text response does not qualify those features.

If no suitable model is ready, explain the missing prerequisite and prepare the configuration with explicit placeholders when useful. Mounting or downloading a model is a separate effect; proceed only when within the user's task. For failures, isolate address/routing, authentication, API surface, model readiness and config syntax rather than repeatedly rewriting everything. Report the actual configuration changes, verified behavior and any remaining manual restart or settings-screen action.
