From tckit
Use when configuring TcKit, including initial setup ("set me up", "configure tckit"), ongoing edits to safety stance ("add NetId to allowed", "edit safety settings", "change confirmation behaviour"), runtime mode switches ("switch to docker", "switch to stdio"), or running health checks ("tckit doctor", "tckit not working", "is the bridge up"). Wraps the `tckit config` and `tckit doctor` CLI subcommands and the user-global config file at `~/.tckit/config.toml`. Do NOT use for runtime tool calls like building, deploying, reading projects, or researching Beckhoff FBs (those are owned by tc-build-test-loop, tc-read-project, tc-write-st, and tc-beckhoff-docs).
How this skill is triggered — by the user, by Claude, or both
Slash command
/tckit:tc-configThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill orchestrates first-time setup and ongoing edits via the `tckit` CLI. It does **not** call MCP tools because config changes happen before the MCP server is fully reachable.
This skill orchestrates first-time setup and ongoing edits via the tckit CLI. It does not call MCP tools because config changes happen before the MCP server is fully reachable.
init — first-time setup walkthrough (this skill, no CLI subcommand).tckit config show — print resolved config and its sources.tckit config validate — check the config for malformed values (returns non-zero on issues).tckit doctor — run health checks: config validation + bridge reachability.init flow)Use this when they say "set me up", "configure tckit", or "first time setup".
~/.tckit/config.toml already exists. If so, ask the user before overwriting; offer tckit config show so they can see the current state.~/.tckit/config.toml is the canonical place for settings.docker/docker-compose.yml in the current directory tree. If absent, refuse Docker mode with: "Docker mode needs the cloned repo for docker/.env and the compose file. Use stdio mode instead, or git clone https://github.com/georgeturneruk/tckit and try again."uvx (stdio mode) or docker (Docker mode) on PATH. If missing, surface a clear error before going further.Ask the user, validating each:
^\d+\.\d+\.\d+\.\d+\.\d+\.\d+$ (six dot-separated octets, e.g. 192.168.1.100.1.1). Reject anything else and ask them to retype."true". Only set "false" if the user explicitly asks; explain that it disables the deploy/start_runtime gate entirely."17.0". Don't change unless the user knows their TcXaeShell version is different."attach". "headless" is for CI..sln they mostly work with.stdio mode: ask for BRIDGE_URL (default http://localhost:8765).
Docker mode: also ask for:
/projects. Default ./projects (relative to repo). Validate that the path exists.http://host.docker.internal:8765 (the container reaches the host's bridge through Docker's DNS).stdio mode:
~/.tckit/ if missing (or $TCKIT_HOME if set).~/.tckit/config.toml using the template at ${CLAUDE_PLUGIN_ROOT}/templates/config.toml.example or the project's .claude/skills/tc-config/templates/config.toml.example.Docker mode:
docker/.env.example to docker/.env and .env.example to .env if they don't exist.KEY= lines with the user-supplied values.claude mcp add --transport sse tckit http://localhost:8000/sse
After writing config, run tckit doctor and surface the result. If the bridge is down (typical for first-run before Start-Bridge.ps1 has been launched), tell the user to start the bridge in a separate PowerShell window and retry.
Print the next-action prompt the user needs:
docker compose -f docker/docker-compose.yml up --build -d and then claude mcp add --transport sse tckit http://localhost:8000/sse."In both cases, also remind them: the Windows bridge needs to be running for write/build/deploy/test tools to work. Start it with .\bridge\Start-Bridge.ps1 in PowerShell, with TcXaeShell already open.
tckit config show.ALLOWED_NETIDS or BLOCKED_NETIDS).~/.tckit/config.toml (stdio mode) or docker/.env (Docker mode).BLOCKED > ALLOWED > SAFETY_CONFIRMATIONS > confirmed=True.tckit doctor to verify the file parses cleanly./mcp in Claude Code, then reconnect tckit. The next MCP call uses fresh env.docker compose restart tckit (run it for them via Bash if they say to).TARGET_AMS_ID, ALLOWED_NETIDS, BLOCKED_NETIDS, SAFETY_CONFIRMATIONS, COM_VERSION, XAE_MODE.BRIDGE_URL flips between localhost:8765 and host.docker.internal:8765).Just run tckit doctor and show the output. Read the FAIL lines and offer concrete next steps:
.\bridge\Start-Bridge.ps1. Verify TcXaeShell is open first.mcp__tckit__*) from this skill — config changes happen before MCP is reachable, and config writes don't go through the server.ALLOWED_NETIDS. If they want to disable it entirely, ask for explicit confirmation before setting SAFETY_CONFIRMATIONS=false.~/.tckit/config.toml while the user is in Docker mode (or vice versa). Stdio mode reads the TOML; Docker mode reads .env. The wrong file is silent dead weight./mcp instead.Once setup is green, normal work uses tc-read-project, tc-beckhoff-docs, tc-write-st, tc-build-test-loop as appropriate. This skill stays out of the way until something needs reconfiguring.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub georgeturneruk/tckit --plugin tckit