Skip to content
AgentDock

Using AgentDock

Skills

Find skills on skills.sh, inspect, install and run them headless.

Skills are Claude Code (and Codex) skill folders: a SKILL.md plus supporting files. AgentDock lets you find skills in the public skills.sh catalog, inspect them before anything lands on a machine, install them into a project or a runtime profile, and run them headless with a recorded result.

Everything goes through a project's runner. The control plane never downloads or executes skill code itself.

Find a skill

Open Skills in the navigation, pick a Project (its runner does the searching) and type in Search. Results show the name, the owner/repo it comes from and its install count.

The runner calls https://skills.sh/api/search?q=<query> and caches each query for 10 minutes. That host is fixed in the runner's code: neither the server nor the browser can make it fetch another URL.

Inspect before you install

Opening a result runs inspect on the runner:

  1. It shallow-clones https://github.com/<owner>/<repo>.git. No other host is accepted.
  2. It resolves the exact commit.
  3. It finds the SKILL.md files the way the skills CLI does (the skills/ folder and agent folders, up to three levels deep).
  4. It hashes every file with SHA-256 and computes a content hash over all of them.

The sheet shows the skill's description, its allowed-tools, every file with its size and hash, and the content hash. Read the files that matter, especially scripts and allowed-tools, before you install.

LimitValue
Files per skill500
Total size5 MiB
Preview lifetime15 minutes

Symlinks inside a skill are never followed or copied.

Install

Choose a Target and Runtime in Install to… and click Install. The runner clones the same commit again and checks that the content hash still matches the preview. If the repository changed in between (new content, or a rewritten history), the install stops with changed_since_preview and nothing is written.

Installing is a plain copy. AgentDock never runs npx skills and never creates symlinks, so no third-party package code executes on the machine. Each installed folder gets a provenance file, .agentdock-skill.json, with the source, skill id, commit, content hash and install time.

Into a project (operator)

A project install never writes to the main checkout. It opens a pull request:

  • a temporary worktree .wt-<repo>-skill-<shortid> next to the project;
  • branch skills/<name> with one commit, no attribution trailer, hooks disabled;
  • the skill copied to .claude/skills/<name>/ (Claude) or .agents/skills/<name>/ (Codex);
  • gh pr create into the project's base branch, with the source, commit, content hash and file list in the body.

The worktree is removed after the push. The skill becomes part of the project once you merge the pull request.

Into a runtime profile (admin)

A profile install writes directly to <CLAUDE_CONFIG_DIR>/skills/<name>/ on the runner machine, because nothing there is versioned. It affects every project that uses that profile on that machine, so only an admin can install or uninstall at profile scope. See Runtime profiles.

Installed skills

Project → Skills lists what the runner finds, grouped by scope:

  • project: .claude/skills/* and .agents/skills/* on origin/<base> (read from git, not the working tree);
  • profile: each profile's own skills folder;
  • plugin: skills of plugins installed in a Claude profile, such as code-sentinel@<version>.

The list refreshes when a project is connected, after each install, and on demand.

Run a skill

Click Run on a skill. The dialog asks for:

FieldNotes
ArgumentsPassed after the skill name. The skill's argument-hint is the placeholder
Runtime profileDefaults to the project's default profile
Modelopus, sonnet, haiku or fable
Outputreport or pr
Permission modeDefaults to the project's orchestrator setting. A non-default mode shows a warning, and bypassPermissions needs an admin
Timeout (minutes)Default 60, maximum 360 (6 hours)

The runner then:

  1. creates a worktree .wt-<repo>-run-<shortid> from origin/<base> on branch run/<shortid>-<skill>;
  2. starts tmux session agentdock-run-<shortid> running agentdock-runner exec-run <runDir>;
  3. that launches the profile's binary headless with -p "/<skill> <args>", --model, --permission-mode and --output-format stream-json.

Because the run lives in tmux, restarting the runner does not kill it. The run page shows its phase and a live log of assistant text, one-line tool calls and the result. An admin can Attach to the run's terminal, and an operator can Cancel it.

Output modes

  • report: when the session exits, the runner collects the final result text, the changed files and a diff against the base, then removes the worktree and branch.
  • pr: if the run succeeded and changed something, the runner commits (chore(skill): <skill> run <shortid>, no trailer), pushes and opens a pull request into the base with the report as its body. The worktree is kept until that pull request is merged or closed, then cleaned up (checked every 10 minutes). A run with no changes ends succeeded with "no changes". A cancelled, timed-out or failed pr run never pushes.

Limits

At most skills.maxConcurrentRuns runs (default 2) execute at once per runner; the rest wait in queued, first in first out. A run that hits its timeout is killed and ends timed_out. A stop budget that is used up refuses new runs with budget_exceeded. See Usage, cost and budgets.

What is stored

Only the result fields reach the database:

FieldCap
Report text32 KiB
Changed files200 entries (plus the total count)
Patch128 KiB. The full patch stays on the runner in the run directory
Pull requestnumber and URL

The live log stream is relayed, not stored. Tokens and API-equivalent cost are recorded per run from the session's telemetry and transcript, and the run appears in History with kind skill.

Skills you cannot run

cs-orchestrator and cs-worker are refused with not_runnable. The orchestrator has its own controls on the Fleet page, and a worker only makes sense with a brief from the orchestrator. Every other installed skill, including other Code Sentinel skills such as cs-security or cs-debug, can run here, on a schedule or from an inbound trigger.

Who can do what

ActionMinimum role
See installed skills and runsviewer of the project
Search, inspect, install to the project, run, canceloperator of the project
Install or uninstall at profile scope, attach to a runadmin

Installs, uninstalls, run starts, cancels and finishes are audited.

Next steps