Agent skill

Config Setup

by open-octo in open-octo/octo-agent

Configure octo's global settings through guided conversation — set up AI model endpoints (providers, API keys, models), adjust agent defaults (reasoning effort, permission mode, coauthor, workspace…

MITAuto-check passed

Install Config Setup

skills CLI
$ npx skills add open-octo/octo-agent --skill config-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install open-octo/octo-agent config-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/open-octo/octo-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/internal/skills/defaults/config-setup .claude/skills/config-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
config-setup
GitHub stars
125
Token cost
~3.3k tokens
SKILL.md length
1,493 words
Files
1
Skills in repo
40
Repo updated
First seen
Licence
MIT

At a glance

Configure octo's global settings through guided conversation — set up AI model endpoints (providers, API keys, models), adjust agent defaults (reasoning effort, permission mode, coauthor, workspace…

  • Works in 3 steps: Try the default first: curl -s… → Connection refused? The server may be on… → No server running at all? Don't stop —…
  • : configure model
  • SKILL.md covers Two categories of configuration, Reaching the server, Agent Defaults and Endpoints & Models, plus 2 more sections
  • Calls curl

What it does

Config Setup is an agent skill from open-octo/octo-agent. Configure octo's global settings through guided conversation — set up AI model endpoints (providers, API keys, models), adjust agent defaults (reasoning effort, permission mode, coauthor, workspace directory), and manage the default/lite model assignments. Trigger on: "configure model", "add provider", "setup endpoint", "add API key", "change default model", "switch model", "set reasoning", "change permission mode", "config setup", "配置模型", "添加模型", "配置 API", "切换模型", "修改设置".

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Open-source, single-binary, self-hosted AI agent — your models and data stay on your machine. A coding agent on par with Claude Code and a personal assistant lighter than… The licence is MIT.

When your agent uses it

  • : configure model
  • Change default model
  • Change permission mode

Example prompts

  • “configure model”
  • “add provider”
  • “setup endpoint”
  • “/config-setup”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Try the default first: curl -s http://127.0.0.1:8088/api/config.
  2. Connection refused? The server may be on a custom port
  3. No server running at all? Don't stop — fall back to editing

What it can do on your machine

Read from SKILL.md and the folder at commit fc1385f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Config Setup loads about 3.3k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 1,493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~123
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from open-octo/octo-agent at commit fc1385f, republished under its MIT licence (© open-octo). 1,493 words, ~3,284 tokens.

Download SKILL.mdSave it as .claude/skills/config-setup/SKILL.md (or your agent's skills folder).
name
config-setup
description
Configure octo's global settings through guided conversation — set up AI model endpoints (providers, API keys, models), adjust agent defaults (reasoning effort, permission mode, coauthor, workspace directory), and manage the default/lite model assignments. Trigger on: "configure model", "add provider", "setup endpoint", "add API key", "change default model", "switch model", "set reasoning", "change permission mode", "config setup", "配置模型", "添加模型", "配置 API", "切换模型", "修改设置".
system
true

Configure octo

Your job is to turn "I need my agent to use model X" or "change setting Y" into a working configuration through octo's REST API. Not every user knows where settings live — briefly explain when needed.

Two categories of configuration

Agent Defaults                    Endpoints & Models
─────────────────                 ───────────────────
reasoning_effort                  provider selection
permission_mode                   API key
show_reasoning                    base URL (advanced)
coauthor                          model names
workspace_dir                     default / lite model

All of these live in ~/.octo/config.yml and are editable through the REST API on the running octo server at http://localhost:<port> (use curl via the terminal tool — do NOT use web_fetch, localhost is blocked by SSRF).

Reaching the server

The server listens on 127.0.0.1:8088 by default (the desktop app's built-in server uses the same port). Loopback requests need no access key.

A session running inside the server (Web UI, desktop, IM) has an Octo server: line in its Environment section. When it's there, use that address in place of 127.0.0.1:8088 in every command in this skill and skip the steps below.

  1. Try the default first: curl -s http://127.0.0.1:8088/api/config. JSON back = you're connected; skip the rest of this section.
  2. Connection refused? The server may be on a custom port:
    • Started as a daemon (octo serve -d): cat ~/.octo/serve.pid for the PID, then find its listen port — macOS/Linux: lsof -iTCP -sTCP:LISTEN -P -n -a -p <PID>; Windows (PowerShell): Get-NetTCPConnection -State Listen -OwningProcess <PID>.
    • A foreground octo serve writes no pid file — ask the user which port they started it on (it's also in the web UI's address bar).
  3. No server running at all? Don't stop — fall back to editing ~/.octo/config.yml directly (it is the same file every API call below mutates). Read the file first, apply the smallest edit that matches the structure you see, then validate with octo doctor. Changes are picked up by new CLI sessions and by the server next time it starts.

Agent Defaults

These are global settings that govern how the Default Agent behaves. All are individual PUT endpoints returning 200 on success, 400 on invalid input.

Reasoning Effort
PUT /api/config/reasoning_effort
{"reasoning_effort": "off"|"low"|"medium"|"high"|"xhigh"|"max"}
ValueEffect
offNo extended thinking (server default)
lowFast, surface-level thinking
mediumBalanced
highDeeper reasoning, slower
xhighVery thorough
maxMaximum depth
Permission Mode
PUT /api/config/permission_mode
{"permission_mode": "interactive"|"auto"|"strict"}
ValueEffect
interactiveAsk before dangerous operations (default)
autoAuto-approve all tools
strictDeny all potentially dangerous tools
Show Reasoning
PUT /api/config/show_reasoning
{"show_reasoning": true|false}

When enabled, the agent's thinking process is visible in the chat.

Coauthor
PUT /api/config/coauthor
{"coauthor": true|false}

When enabled, appends a Co-authored-by: octo-agent trailer to git commits.

Workspace Directory
PUT /api/config/workspace_dir
{"workspace_dir": "/absolute/path"|"auto"}

Sets the default working directory for new sessions. Use "auto" to let octo detect the project directory automatically. Only absolute paths are accepted (no ~ — expand it to the full path first).

Read Current Defaults
GET /api/config

Returns the full current config including all defaults. Use this to show the user their current settings before making changes.


Endpoints & Models

An "endpoint" groups a provider with its API key, then lists the models available through it. The two-level structure:

Endpoint "anthropic"                  Endpoint "relay-a"
  provider: anthropic                   provider: custom
  api_key: sk-ant-…                     api_key: sk-…
  models:                               models:
    - claude-sonnet-5                     - gpt-4o
    - claude-haiku-4-5                    - deepseek-flash

Two top-level composite ids pick across endpoints: default (e.g. anthropic::claude-sonnet-5) is what the agent uses for normal turns, and lite (e.g. anthropic::claude-haiku-4-5) is used for lightweight tasks (title generation, compaction summaries). An empty lite means those run on the primary model — nothing cheaper is inferred.

List Endpoints
GET /api/config/endpoints

Returns all configured endpoints with their models, including which is default/lite.

List Available Providers
GET /api/providers

Returns the built-in provider registry — each entry has a name, base_url, and models (suggested model names). Use this to help the user pick a provider.

Create an Endpoint
POST /api/config/endpoints
{
  "id": "my-relay",
  "name": "My Relay",
  "provider": "custom",
  "api_key": "sk-…",
  "base_url": "https://api.example.com",
  "protocol": "openai",
  "models": [{"model": "gpt-4o", "vision": false}]
}
FieldRequiredNotes
idyesUnique slug, [a-zA-Z0-9_-]+, e.g. anthropic, my-openai
namenoDisplay name
provideryesMust match a known provider id from GET /api/providers, or "custom"
api_keynoThe API key (never echo it back to the user after saving)
base_urlnoOverride for API base URL; only for "custom" provider — named providers use their registry URL
protocolno"anthropic" or "openai" — only needed for "custom" provider
modelsnoInitial models to register — array of {"model": "...", "vision": bool}, not plain strings
Update an Endpoint
PATCH /api/config/endpoints/{id}
{
  "new_id": "new-name",     // rename (optional)
  "name": "New display",    // new display name (optional)
  "provider": "openai",     // change provider (optional)
  "api_key": "sk-…",        // update key (optional)
  "base_url": "https://…",  // change URL (optional)
  "protocol": "openai"      // change protocol (optional)
}

All fields are optional — only include what's changing. To rename, set new_id.

Delete an Endpoint
DELETE /api/config/endpoints/{id}

Returns 204. Destructive — deletes the endpoint and all its models. Confirm with the user before calling.

Add a Model to an Endpoint
POST /api/config/endpoints/{id}/models
{"model": "gpt-4o", "vision": true}

vision (optional, default false): whether this model supports image input.

Delete a Model from an Endpoint
DELETE /api/config/endpoints/{id}/models/{model}

The model name must be URL-encoded when it contains special characters — this matters for slash-style names like deepseek/deepseek-chat, which becomes deepseek%2Fdeepseek-chat in the path.

Set Default / Lite Model
POST /api/config/endpoints/{id}/default?model=gpt-4o
POST /api/config/endpoints/{id}/lite?model=claude-haiku
DELETE /api/config/endpoints/{id}/lite   // clear lite designation

The model is passed as a query parameter (?model=…), not in the request body. Omit ?model to use the endpoint's first model as a fallback.

Important: This changes the server-wide default that seeds new sessions. It does not switch the model of any session that is already running or already bound to a specific model. For those, see Switching the Current Session's Model.

Switching the Current Session's Model

A session is bound to the global default model only at creation time. Once it has a turn, it keeps that model until you explicitly switch it. This applies to Web, TUI, CLI one-shot, and IM sessions.

  • Web UI: Click the model chip in the Composer status bar (the row showing the current model name, e.g. K3), then pick the desired model from the dropdown.
  • IM (Weixin/Feishu/DingTalk/WeCom/Discord/Telegram): Send /model to list configured models and see the current one, then /model <endpoint>::<model> to bind the session to that endpoint's model, or /model default to make it follow the server-wide default again. You cannot switch while a turn is running.
  • REST API:
PATCH /api/sessions/{id}/model
{"model_id": "Kimi::k3-256k"}

Use default as the model_id to unbind the session from a specific endpoint and make it follow the global default on subsequent turns. Unknown or bare model strings are treated as raw model names on the default sender.

Restart behavior: You do not need to restart octo serve after changing the global default or a session's model. Both take effect on the next turn. The only exception is a session that was already bound to a model before the change — it will not switch unless you use one of the methods above.


Show full SKILL.md (506 more words)Show less

Workflow

Configuring Agent Defaults
  1. Read current state via GET /api/config.
  2. Ask what they want to change. Show current values and let the user pick.
  3. Call the PUT endpoint for the changed setting.
  4. Confirm the change — re-read the setting and report back.

Keep it brief: one question at a time, one change per response.

Adding a new endpoint
  1. Understand the goal. "I want to use GPT-4o" → OpenAI provider. "I have a relay at company.com" → custom provider. If the user names a specific provider, skip to step 3.

  2. Check existing endpoints via GET /api/config/endpoints. If an endpoint for this provider already exists, ask if they want to add models to it instead.

  3. Collect the API key. Ask for it once, never echo it back. If the user doesn't have one, point them to the provider's website (use the website_url from GET /api/providers).

  4. Pick models. Named providers have a suggested model list (from GET /api/providers). For custom providers, ask what model names the relay accepts. Suggest sensible defaults — one powerful model for main turns, one fast/cheap model for lite tasks.

  5. Confirm and create via POST /api/config/endpoints. Show a summary (provider, models, which is default/lite) before calling.

  6. Verify via GET /api/config/endpoints — confirm the new endpoint appears with the right models.

  7. Tell the user the endpoint is ready. New sessions will use it immediately. Existing sessions keep their current model binding unless manually switched.

Editing an existing endpoint
  1. Fetch current state via GET /api/config/endpoints.
  2. Show the user the endpoint's current config.
  3. Apply the smallest change via PATCH /api/config/endpoints/{id}.
  4. Verify the change took effect.
  5. Point out that updating an endpoint (key, URL, provider, protocol) does not automatically switch any bound session to a different model; it only changes how the already-bound model is reached. If the user wants a running session to use a different model, use the per-session switch.
Setting default / lite model
  1. List endpoints to show the user what's available.
  2. Confirm which model should be default (normal turns) and which lite (lightweight tasks).
  3. Call POST /api/config/endpoints/{id}/default etc.
  4. Confirm the assignment.
  5. Clarify the scope: this only affects new sessions and any session that is currently unbound. Sessions already in progress or already switched to a specific model continue on that model. Tell the user how to switch the current session if they expected it to change immediately (Web UI model chip, IM /model, or PATCH /api/sessions/{id}/model).

Rules

  • Never echo API keys back to the user after they're saved.
  • Always confirm before destructive operations (delete endpoint, delete model).
  • Show current state before modifying — never guess the user's setup.
  • One change at a time — don't batch unrelated config changes.
  • Provider names must match the registry from GET /api/providers. An invalid provider returns 400; list the available ones for the user.
  • Model names are free-form for custom endpoints — don't validate them, just pass through what the user gives you.
  • workspace_dir must be absolute — expand ~ to the full home path before calling the API.

© open-octo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in internal/skills/defaults/config-setup of open-octo/octo-agent.

Open the folder on GitHubat commit fc1385f

Compare with similar skills

Config Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Config Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Config Setup this skillopen-octo/octo-agent125—~3.3kAutomated safety check: PassMIT
Configuring Windows Defender Advanced Settingsmukul975/Anthropic-Cybersecurity-Skills34k—~3.1kAutomated safety check: PassApache-2.0
Google Cloud Global Frontend Configurationgoogle/skills21k—~2.6kAutomated safety check: PassApache-2.0
Configure Channelopenclaw/openclaw392k—~946Automated safety check: PassMIT
Manage Settingsasgeirtj/system_prompts_leaks69k—~3.1kAutomated safety check: PassCC0-1.0
Modeling Conversion MetricsPostHog/posthog40k—~1.4kAutomated safety check: PassCustom licence

Similar skills

  • Configuring Windows Defender Advanced Settings

    mukul975/Anthropic-Cybersecurity-Skills

    Configures Microsoft Defender for Endpoint (MDE) advanced protection settings including attack surface reduction rules, controlled folder access, network protection, and exploit protection.

    34k GitHub stars~3.1k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Guides agents through a 6-step discovery process to design and deploy Google Cloud global external Application Load Balancers with Cloud CDN, Cloud Armor, and Service Extensions, mapping workload…

    21k GitHub stars~2.6k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Configure Channel

    openclaw/openclaw

    Configure and prove a chat channel with non-interactive one-liners; secrets only as SecretRefs.

    392k GitHub stars~946 tokensUpdated today
    Auto-check passed
  • Manage Settings

    asgeirtj/system_prompts_leaks

    Any explicit Muse Code setting question or change (model, reasoning effort, /settings) requires a silent readskill call for bundled:manage-settings as FIRST ACTION—no assistant text or other tool…

    69k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Official

    Build reusable conversion models — funnel/step conversion rates, drop-off, and time-to-convert — on either PostHog data-warehouse views (HogQL) or an external dbt project.

    40k GitHub stars~1.4k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Python Configuration

    wshobson/agents

    Python configuration management via environment variables and typed settings.

    40k GitHub stars~1.6k tokensUpdated 3 days ago
    DevOps & CloudAuto-check: notes

More from open-octo/octo-agent

All 40 skills in this repo
  • Image Gen

    open-octo/octo-agent

    Acquire images as files — generate them with an AI image model (14 providers: OpenAI/gpt-image, Gemini, Qwen, Zhipu, Volcengine, Stability, FLUX, Ideogram, MiniMax, and more), search openly-licensed…

    125 GitHub stars~3.1k tokensUpdated today
    Auto-check: notes
  • Office XLSX

    open-octo/octo-agent

    Create, read, and edit Excel (.xlsx) spreadsheets programmatically with openpyxl — cell values, formulas, styling (fonts/fills/borders/alignment/number formats), merged cells, multiple sheets…

    125 GitHub stars~1.8k tokensUpdated today
    Auto-check: notes
  • Artifact Design

    open-octo/octo-agent

    Design guidance for any HTML/Markdown file shown in octo's Artifacts panel — reports, dashboards, architecture/system diagrams, generated UIs, slide-style pages, 3D scenes.

    125 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Code Review

    open-octo/octo-agent

    Review local code changes. An agent skill from open-octo/octo-agent.

    125 GitHub stars~942 tokensUpdated today
    Auto-check passed
  • Ppt Master

    open-octo/octo-agent

    AI-driven multi-format SVG content generation system. An agent skill from open-octo/octo-agent.

    125 GitHub stars~23k tokensUpdated today
    Auto-check: warnings
  • Contract Review

    open-octo/octo-agent

    审阅合同条款、识别风险点、给出修改建议。Use when 用户贴出或上传合同文本要求审查, 或提到"合同审查""帮我看看这份合同""这条款有没有问题""重大不利条款""合同风险" "review this contract"等。覆盖服务协议、劳动合同、保密协议(NDA)、采购合同、 租赁合同等常见合同类型,风险条款库为中英双语。仅做通俗的条款风险提示,…

    125 GitHub stars~666 tokensUpdated today
    Auto-check passed

Questions about Config Setup

What does Config Setup do?

Configure octo's global settings through guided conversation — set up AI model endpoints (providers, API keys, models), adjust agent defaults (reasoning effort, permission mode, coauthor, workspace…. Config Setup is an agent skill from open-octo/octo-agent. Configure octo's global settings through guided conversation — set up AI model endpoints (providers, API keys, models), adjust agent defaults (reasoning effort, permission mode, coauthor, workspace directory), and manage the default/lite model assignments.

When should I use Config Setup?

Config Setup fits situations like: : configure model; change default model; change permission mode.

How do I install Config Setup in Claude Code?

Run `npx skills add open-octo/octo-agent --skill config-setup -a claude-code`. Or copy the skill folder (internal/skills/defaults/config-setup in open-octo/octo-agent) into .claude/skills/config-setup in your project. Claude Code loads it when a task matches its description.

How do I install Config Setup in Codex?

Run `npx skills add open-octo/octo-agent --skill config-setup -a codex`. Or copy the skill folder (internal/skills/defaults/config-setup in open-octo/octo-agent) into .agents/skills/config-setup in your project. Codex loads it when a task matches its description.

Can I use Config Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add open-octo/octo-agent --skill config-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/config-setup, .gemini/skills/config-setup, .github/skills/config-setup and .opencode/skills/config-setup in your project.

What does Config Setup need to run?

Going by SKILL.md and its folder, Config Setup needs the command-line tools its instructions call (curl).

Does Config Setup access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Config Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Config Setup use?

Config Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Config Setup use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Config Setup?

Skills that share tags, products or a category with Config Setup: Configuring Windows Defender Advanced Settings (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Google Cloud Global Frontend Configuration (google/skills, 21k stars), Configure Channel (openclaw/openclaw, 392k stars) and Manage Settings (asgeirtj/system_prompts_leaks, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Config Setup?

open-octo (a GitHub organization) maintains it in open-octo/octo-agent, which has 125 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on October 8, 2026.

Source: open-octo/octo-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.