环境配置决策

环境配置决策 is a skill for Claude Code, Codex from jianchen08/Agent-os-open. It costs 48 tokens per session (1,664 once invoked), scanned C, original, Apache-2.0.

A decision guide for installing and configuring development dependencies. It explains when a tool belongs in a shared container image and when it belongs only in a project's workspace, including whether Docker access is available.

In plain words
What is it for?
Use it when setting up runtimes, system tools, Python packages, browsers, project dependencies, configuration files, or project-specific virtual environments.
Why use it?
It reduces confusion about where dependencies should be installed and prevents using Docker operations in an environment that cannot access Docker. It bases the choice on project facts rather than a fixed checklist.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when setting up runtimes, system tools, Python packages, browsers, project dependencies, configuration files, or project-specific virtual environments.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jianchen08/agent-os-open/skill-env-config-decision
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jianchen08/Agent-os-open --skill skill-env-config-decision
Clone the repo
git clone --depth 1 https://github.com/jianchen08/Agent-os-open

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for 环境配置决策

README.md
[![agentmods](https://agentmods.dev/badge/skills/jianchen08/agent-os-open/skill-env-config-decision/github.svg)](https://agentmods.dev/skills/jianchen08/agent-os-open/skill-env-config-decision)
Your own site
<a href="https://agentmods.dev/skills/jianchen08/agent-os-open/skill-env-config-decision"><img src="https://agentmods.dev/badge/skills/jianchen08/agent-os-open/skill-env-config-decision/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for 环境配置决策

Your own site · 80×15
<a href="https://agentmods.dev/skills/jianchen08/agent-os-open/skill-env-config-decision"><img src="https://agentmods.dev/badge/skills/jianchen08/agent-os-open/skill-env-config-decision.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 48 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,664 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00048 $0.01664
Opus 5 $0.00024 $0.00832
Sonnet 5 $0.00010 $0.00333
Haiku 4.5 $0.00005 $0.00166

Measured 4d ago against content hash 6e688b47d5d6, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade C, and why

环境配置决策 scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

docker exec <容器名> sh -c "rm -rf /tmp/* /var/cache/* /root/.cache/*"

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| 系统工具 | git、curl、wget、build-essential |
skills/skill-env-config-decision/SKILL.md · 151 lines

How it starts

The opening of the file, as written. The whole thing — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.

环境配置决策

本技能是流程指引,不是逐条打勾清单:按场景判断使用,遇不适用情况保持裁量,不机械执行。

适用场景

environment_setup_agent 接到环境安装/配置任务时加载本 skill,据此判断每个依赖该装到哪里、用什么隔离模式、用什么方法安装。

隔离模式基础(来自代码事实)

系统有两种隔离级别(src/isolation/types.py):

隔离级别 枚举值 执行环境 能否操作 docker
CONTAINER isolated Docker 容器内,无 docker daemon ❌ 不能
HOST non_isolated 宿主机直接执行,可访问 docker daemon ✅ 能

关键:docker commit / docker build 只在 HOST(non_isolated)模式下可用,因为容器内没有 docker daemon。

核心决策模型

收到每个环境依赖,先判断属于哪个层级:

一、系统级工具链 → 固化进 agentos 镜像

判定标准:多项目共享、版本稳定、不含项目特定配置。

类型 示例
运行时环境 Python、Node.js、Go、Java、Rust
系统工具 git、curl、wget、build-essential
全局 Python 包 pyyaml、pytest、ruff、playwright 等预装包
浏览器/驱动 chromium、chrome-headless-shell

安装方式

  • 隔离模式:必须 non_isolated(HOST 模式),因为需要操作 docker daemon 做镜像固化
  • 固化进镜像有两种方法(详见下文"三种安装方法")
  • 镜像保存由 L1 统一决策:L1 根据编排报告中的环境变更信息决定是否将当前环境保存为 agentos 镜像。镜像的创建/更新/清理由 L1 执行,因为镜像是跨容器共享资源

二、项目级依赖 → 装到 workspace

判定标准:仅当前项目使用、含项目特定版本/配置。

类型 示例
项目依赖包 package.json 中的依赖、requirements.txt 中的包
项目配置文件 .env、config.yaml、tsconfig.json
项目级虚拟环境 某项目专用的 Python venv

安装方式

  • 隔离模式isolated(容器模式)即可,在隔离副本中装到 workspace
  • workspace 通过 bind mount 挂载到容器内 /workspace,容器内安装的依赖写入挂载目录,容器销毁后仍保留,新容器立即可用
  • workspace 必须指向项目根目录,不能指向子目录或临时路径

三种安装方法决策树

确定了依赖层级后,选择具体安装方法:

该依赖属于哪个层级?
│
├─ 系统级(要进镜像)
│  → non_isolated 模式执行
│  ├─ 是否可版本化、可审查的批量变更?
│  │  ├─ 是 → 方法二:Dockerfile 构建(推荐,可追溯)
│  │  └─ 否 → 方法三:docker commit(快速但不可回滚)
│  → 安装后在报告中标注"已固化/建议固化为镜像"
│
└─ 项目级(装 workspace)
   → isolated 模式即可
   → 方法一:工作区持久化(推荐,最常用)

方法一:工作区持久化(推荐,项目级依赖首选)

在 workspace 目录内安装依赖,因为该目录 bind mount 到容器 /workspace,容器内立即可用:

# Python 依赖 — 装进虚拟环境(推荐)
python -m venv {workspace}/.venv
{workspace}/.venv/bin/pip install <package>

# Node 依赖 — 装到 workspace 内
cd {workspace} && npm install <package>

优点:轻量、不影响其它任务、容器重建后依赖仍在(写在挂载目录里)。

方法二:Dockerfile 构建(系统级依赖,可追溯)

Read the full file on GitHub · 151 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 151 lines · 48 tokens per session scan C 6e688b47d5d6

Subscribe to this mod's changes

环境配置决策 is a skill published in the GitHub repository jianchen08/Agent-os-open (5 stars, last pushed 5d ago), licensed Apache-2.0. It adds 48 tokens to every session and 1,664 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.

Related

Other skills, from other repositories

docker-expert

Docker containerization, multi-stage builds, and optimization.

nusabyte-my/jebat-core · 14 tokens

harbor

CLI toolkit for managing containerized LLM services. Use when the user wants to start, stop, configure, or manage AI/LLM services like Ollama, Open WebUI, llama.cpp, vLLM, LiteLLM, ComfyUI, and 250+ others. Triggers on requests to "run a model", "start ollama", "set up an LLM", "configure harbor", "manage services"…

av/harbor · 114 tokens

background-task

Add or modify work that runs outside the request/response cycle — emails, document ingestion, webhooks, cleanups, scheduled jobs. Use when something is slow or fire-and-forget, or when adding a periodic/cron task. This project's queue is {{ cookiecutter.backgroundtasks }}.

vstorm-co/full-stack-ai-agent-template · 62 tokens

agent-tool

Add a new tool/function the AI agent can call (e.g. look something up, hit an external API, perform an action). Use when extending the assistant's capabilities, wiring a new function into the agent, or when the model needs a new action. This project uses {{ cookiecutter.aiframework }}.

vstorm-co/full-stack-ai-agent-template · 66 tokens

frontend-feature

Build a new page, view, or data-driven feature in the Next.js frontend. Use when adding a route under the dashboard/marketing area, wiring UI to a backend endpoint, adding client state, or creating a localized page. Covers App Router, data fetching, Zustand stores, and i18n.

vstorm-co/full-stack-ai-agent-template · 64 tokens

pytest-suite

Write or extend the backend test suite following this project's conventions. Use when adding tests for a new service/route/repository, when coverage is missing, or when asked to test a feature. Knows the mocked-session + httpx AsyncClient setup so tests run with no database.

vstorm-co/full-stack-ai-agent-template · 59 tokens