Plugging A Cable End logo

Plugging A Cable End

Organization
graph-robots
plugging-a-cable-end

Carries a cable's held free end into a terminal port after the last crossing — finds the port by vision as the terminal block furthest from the run's anchored end, takes the delivering hand and its working height from the support-hand planner, stages the carry three sides of a rectangle around the seated crossings at a hand's depth above the bench, drops into the mouth, opens the jaws and retreats along the bench. Use when a routed deformable linear object must terminate in a socket and the hand that anchored its free end is the one that can reach it.

Overview

Publishergraph-robots
Repositoryopen-robot-skills
Skill nameplugging-a-cable-end
Stars
58
Forks
8
Bundled files
1
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by graph-robots on GitHub. Read the source before you install it.

Installation

Install the Plugging A Cable End AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/graph-robots/open-robot-skills/tree/main/skills/plugging-a-cable-end
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/graph-robots/open-robot-skills.git /tmp/open-robot-skills
mkdir -p .claude/skills
cp -r /tmp/open-robot-skills/skills/plugging-a-cable-end .claude/skills/plugging-a-cable-end
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Plugging A Cable End in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Plugging A Cable End on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Plugging A Cable End is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

plugging-a-cable-end

Carry the run's free end into the port, after the last crossing.

Why this is its own skill

A station is a place the cable passes; the port is where it stops. The crossing template exists to get material onto the far side of a post and leave it there under its own tension, and none of that applies to an end being put into a box: there is no side to be on, nothing to reverse around, and the thing that has to arrive is one specific end of the rod rather than whichever span happens to be abreast.

The support hand does it, because it is already holding the end. Measured with a reach sweep on the weave bench, the two arms cover complementary halves and the run's free end lies in the support arm's half — 65 mm outside the work arm's envelope. So the hand that anchored the end is the hand that plugs it: no release, no re-grasp, no second hand crossing the weave. If the support hand cannot be identified the skill refuses rather than guessing, because the only fallback is the known-broken configuration.

What it needs from the connector

This skill requires a connector that registers cable.plan_support, a privileged support-hand planner that reads the true rod state — in simulation the cable-routing suite's connector provides it. Here it is read for two things only: which hand is the support hand (arm_id, arm_name) and the working height its jaws need to straddle a rod on the bench (grasp_m[2]), both arithmetic over the hand's own colliders. It also needs robot.grasp_frame (the straight-down wrist composed from the live hand's measured axes — a literal quaternion is a half turn out on a hand whose approach axis is not tool-local +z), robot.set_grip and robot.wait_steps. The generic connector registers none of the four, which is why the bundle is sim-only today.

Recommended subgraph state flow

text
plug_port ──plugged──▶ verify
    └──unplugged──▶ verify (the weave layouts have no port; this is normal there)
  1. Parse scene (stations) and prior (the rod's centreline as JSON, the rod output of the centreline-perceiving skill carried by the graph). Nothing to terminate → unplugged before any tool call.
  2. Segment the terminal blocks from the cable camera (sam3.segment_text), keep those above the score and area floors, and take the one furthest from the rod's anchored end as the port.
  3. cable.plan_support for the delivering hand and its working height; no arm_id → unplugged, "no support arm".
  4. Read the hand's own pose (robot.get_ee_pose) and the wrist (robot.grasp_frame); stage lift → across (out past the stations) → over → mouth with robot.go_to_pose, each retried 20 and 40 mm lower before it is skipped. Only the mouth is fatal.
  5. robot.set_grip(width_m=grip_open_m, arm_id=<support>), settle, retreat back along the bench rather than up.

Inputs and parameters

InputShape
sceneJSON: {"stations": [[x, y], ...]} from the fixture survey
priorJSON: [[x, y, z], ...] (or a Centerline object whose points are that list) — the rod's last fitted centreline; its last node is the free end
arm_idthe WORK arm; named in the refusal, never used to plug
grip_open_mthe width the delivering hand opens to at the mouth

Parameters with the weave bench's measured defaults: block_query ("orange block"), block_score (0.50), block_min_px (3400), port_inset (0.004 m short of the port's centre), carry_z (0.070 m above the working height — a spool flange stands 23 mm, and the 30 mm this once ran at dragged the tail across the seats). grip_close_m is accepted for uniform binding and unused. Output port is the chosen block's world centroid as a JSON list ("null" when none was found).

Router field

The script's exit is in its exit field (plugged / unplugged), not route; detail carries the reason and whether the carry went routed or on the diagonal.

What a CPU test can and cannot exercise

The early gates (no prior, no support arm), the port choice, and the call order (observe, segment, plan, pose, wrist, four waypoints, open on the support hand, settle, retreat) run against canned tools. What a CPU test cannot exercise is the planner behind cable.plan_support, the segmentation on a real frame, or whether the rod's end actually came with the hand into the channel — that is the task's port clause to say.

Required end states

End stateMeaning
pluggedThe hand reached the mouth and opened; port bound.
unpluggedRefused, nothing in view, or the mouth unreachable; detail says which.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Plugging A Cable End AI skill do?

Carries a cable's held free end into a terminal port after the last crossing — finds the port by vision as the terminal block furthest from the run's anchored end, takes the delivering hand and its working height from the support-hand planner, stages the carry three sides of a rectangle around the seated crossings at a hand's depth above the bench, drops into the mouth, opens the jaws and retreats along the bench. Use when a routed deformable linear object must terminate in a socket and the hand that anchored its free end is the one that can reach it.

Why use Plugging A Cable End on TypingMind?

Because you install it once and use it with any model. Plugging A Cable End is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Plugging A Cable End in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/graph-robots/open-robot-skills/tree/main/skills/plugging-a-cable-end. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Plugging A Cable End?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Plugging A Cable End?

As many as you like. As long as a model supports skills, you can use Plugging A Cable End with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Plugging A Cable End AI skill free?

Yes. It is published on GitHub by graph-robots under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇