SuperAPI AI Directory

soia-env-environment-setup

Deployment & operations

View repository

Updated 10-16 08:39

About this skill

soia-env-environment-setup

Break "the computer isn't ready yet" into verifiable small steps. This orchestration skill is only responsible for determining the order, coordinating specialized skills, and delivering a readiness summary; the specific installation details are executed by the corresponding skills.

Customer-readable description

What this skill can do

The customer wants The skill will do The customer can see
Configure a development environment from scratch Check the system, network, and runtimes, then install in dependency order The plan for each step, permission requests, and verification results
Prepare for knowledge base or PKM work First confirm Node/Python, network, and login status A readiness summary that can be handed off to other SOIA skill libraries
Not knowing what is missing Read-only inventory of commands, versions, and common blockers What is missing, why it is missing, and how to fill the gap next

How the customer uses it

Other recognizable phrasings include "configure a development environment", "install tools from scratch", "environment setup", and "help me prepare an AI CLI"; when installing only a single runtime or CLI, hand it off to the corresponding installation skill.

  1. State the goal in natural language, for example "help me get this computer ready to use Codex", along with the system type.
  2. The agent first reads the current system and tool status, rather than making the customer guess commands first.
  3. The agent generates an installation plan; before installation, PATH/profile changes, administrator privileges, or network setting changes, it shows the impact and confirms.
  4. The customer completes login, CAPTCHA, system security prompts, and product authorization only in the official graphical interface; the customer is not asked to operate a terminal.
  5. Each step is independently verified before moving to the next; on failure, stop at the current step and do not present something unfinished as complete.

Lifecycle of installed tools

  • First inventory versions, installation sources, configuration directories/files, and project constraints, then decide whether to missing、needs_configuration、ready、update_available or blocked。
  • ready All of the following must be satisfied at the same time: the command/application exists, version verification passes, first login or API configuration is complete, and side-effect-free startup/authentication verification passes; "installed" does not equal "ready".
  • needs_configuration means the tool is already installed but first login, API key, provider, or project configuration has not yet been completed, and it cannot be handed off to a downstream skill as a usable environment.
  • update_available only means a new version has been discovered; whether to update still must follow the source and confirmation process of the corresponding specialized skill.
  • By default, only check and report the current version and available versions, without automatically updating. When the customer only says "update", first show both versions and ask whether to "update to the latest version"; without this explicit choice, do not call the updater.
  • Only equally explicit instructions such as "update to the latest version" or "upgrade to the latest version" authorize updating an existing tool. When the customer asks to install a tool that is not yet installed, the recommended stable version may be installed, but this must not be used to update other tools already present on the machine.
  • Before updating, record the old version and source; after updating, re-verify the version, help command, login/signature, and project usability; on failure, keep the old installation and do not automatically uninstall or switch sources.
  • Desktop applications are managed separately from CLIs, and Node/Python runtimes are managed separately from pip/npm packages; the version of one component must not be used to infer that another component has been updated.

Intermediate states of installation and updates

  • After installation or update actually begins, phase states must be continuously appended in the conversation: checking, planning/awaiting confirmation, installing or updating, verifying, completed/failed/blocked; do not provide only the final table.
  • Each specialized installation skill uses its own scripts/record_install_progress.py to write private state. The orchestration skill only aggregates the phases and run_idof the sub-skills, and does not store a second complete log.
  • A read-only environment inventory does not create an intermediate state file. If a new version is found but the customer has not explicitly requested the latest version, write the result as "updatable, not executed" or "awaiting confirmation whether to update to the latest".

Dependencies and installation

Dependency Type Handling method
soia-env-network-diagnose Prerequisite skill First check DNS/HTTPS/download source; if missing, perform a minimal network check
soia-env-node-install Enable as needed per target Call when required by a Codex or Node project
soia-env-python-install Enable as needed per target Call when required by a Python project or script
soia-env-codex-install Enable as needed per target Call when the customer explicitly wants to use Codex
soia-env-claude-cli-install Enable as needed per target Call when the customer explicitly wants to use Claude Code CLI
soia-env-qoder-cli-install Enable as needed per target Call when the customer explicitly wants to use Qoder CLI
soia-env-antigravity-cli-install Enable as needed per target Call when the customer wants to install agy or migrate from Gemini CLI
soia-env-opencode-cli-install Enable as needed per target Call when the customer explicitly wants to use OpenCode CLI
soia-env-kimi-cli-install Enable as needed per target Call when the customer explicitly wants to use Kimi Code CLI
soia-env-deepcode-cli-install Enable as needed per target Call when the customer confirms the target is lessweb/deepcode-cli ; first prepare Node.js 22+
soia-env-codex-setup-support Enable as needed per target Call when desktop version, CLI, or Codex troubleshooting is also involved
soia-env-workbuddy-install Enable as needed per target Call when the customer explicitly wants to use WorkBuddy
soia-env-storage-cleanup Enable as needed per target Call when the customer requests statistics on or cleanup of SOIA-managed space; deletion must first show a plan and obtain explicit authorization again
soia-env-open-skills-install Enable as needed per target Call when the customer wants to install the SOIA skill ecosystem after the environment is ready; it takes over plugin marketplace access and domain plugin installation, which is not performed by this skill
soia-open-skills Method neighbor After completing the environment summary, then connect to PKM/cloud drive skills, without copying their files
soia-private-skills Private method neighbor Prompt only when already installed and the task requires it; do not install automatically

For the official sources and version facts of each specialized skill, see its references/. This skill does not read private credential files.

Execution flow

  1. Identify OS, version, architecture, shell, current user permissions, and project directory; missing information is detected read-only by the Agent.
  2. Break the target into network → runtime → package manager → AI tool → downstream handoff。
  3. Use the read-only flow of soia-env-network-diagnose to check official sites. If proxy, certificate, DNS, or timeout issues occur, output diagnostics first and do not automatically change network configuration. soia-env-network-diagnose read-only process inspection official site. When proxy, certificate, DNS, or timeout issues occur, output diagnostics first; do not automatically change network configuration.
  4. Execute in dependency order: for the Agent CLI selecting the npm channel, satisfy the corresponding Node.js requirement first; Deep Code strictly requires Node.js 22+; Claude Code, Qoder, OpenCode, and Kimi Code with independent installers are not blocked by a missing Node.js; Antigravity uses Google's independent installer; Python workflows prepare Python/venv first; WorkBuddy uses the official desktop installer package.
  5. For installed tools, by default only compare versions; when there is no explicit "update to latest," do not enter the update execution phase of the specialized skill.
  6. Installation or explicitly authorized updates are executed by the specialized skill while displaying phase status and recording private progress; after each step is completed, verify the command, version, path, and one side-effect-free --help/version invocation. For CLIs that require login or an API key, first-time configuration and real authentication verification must also be completed; otherwise mark as needs_configuration。
  7. When the customer requests space cleanup, invoke soia-env-storage-cleanup: this orchestration can only advance scanning and planning; deletion must wait until the customer has reviewed the risk list and explicitly authorized it.

Customer status list (mandatory)

First output the goals explicitly requested by the customer, one goal per line, with fixed column names and order:

Skill Current Status Current Version Latest Version Running Status Update Time Handling Result
<Node.js/Python/Codex CLI/Claude Code CLI/Qoder CLI/Antigravity CLI/OpenCode CLI/Kimi Code CLI/Deep Code CLI/WorkBuddy/Network Diagnostics/Storage Cleanup> <Status> <Version/Not Applicable/Not Obtained> <Version/Not Applicable/Not Obtained> <Normal/Degraded/Abnormal/Unverified> <Handling Result>
  • List only the goals requested by the customer and their necessary prerequisites; do not expand all installed tools.
  • 更新时间 is the time when this row completes final verification, not the modification time of the skill file.
  • For network diagnostics, write "Not Applicable" in the version column; when the latest software version cannot be obtained, write "Not Obtained."
  • When the internal dependency check is normal, do not make it a separate row; add a prerequisite row only when it blocks the goal.
  • The machine-readable YAML/JSON summary is provided after the customer list and maintains the fixed structure below.

Cross-Repository Summary

Output a secret-free YAML or JSON summary with fixed fields:

schema_version: 2
checked_at: <RFC3339-with-timezone>
os: <macos|windows|linux|unknown>
arch: <architecture>
shell: <shell-or-unknown>
tools:
  node: {status: <ready|missing|update_available|blocked>, version: <version-or-null>}
  python: {status: <ready|missing|update_available|blocked>, version: <version-or-null>}
  codex: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  workbuddy: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  claude: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  qoder: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  antigravity: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  opencode: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  kimi: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
  deepcode: {status: <ready|needs_configuration|missing|update_available|blocked>, version: <version-or-null>}
network: {status: <ready|degraded|blocked>, checked_sources: <count>}
blockers: []
next_handoff: <none|soia-env-open-skills-install|soia-open-skills|soia-private-skills>

node、python、codex and workbuddy remain compatibility fields; new Agent CLIs are added only when requested or actually checked this time. Pass only status, version, and blocking category; do not pass usernames, paths, tokens, cookies, command history, or configuration content.

Permissions and Rollback

  • Default is read-only inspection; installation is considered goal authorization when explicitly proposed by the customer, but each addition of administrator privileges, system-wide installation, and PATH/profile modification still requires separate confirmation.
  • Do not use sudo, administrator terminal, registry, proxy, DNS, or certificate changes as a "convenient fix."
  • If installation fails, retain the installed state and record the specific package/version and rollback method; do not automatically uninstall or overwrite existing versions.
  • Remote login and service authorization are completed by the customer in the official interface; the Agent does not fill in passwords or verification codes on their behalf.

Private Information and Intermediate Data

  • provider login credentials use only the official login state or the system credential store; the configuration file stores only non-secret preferences and paths.
  • Read-only inventory does not write files by default; when changing the machine, if traceability is needed, only the redacted actions, versions, results, and checked_at are written to the user state directory.
  • Rebuildable metadata goes in cache; downloaded, extracted, and probed files go in a system temporary directory unique to each run, and are cleaned up after success or failure.
  • Do not use the repository directory as runtime storage, and do not print tokens, account names, response bodies, or customer private absolute paths in logs.

Logging and completion receipt

| 技能 | 当前状态 | 当前版本 | 最新版本 | 运行状态 | 更新时间 | 处理结果 |
|---|---|---|---|---|---|---|
| <客户要求的目标> | <状态> | <当前版本> | <最新版本> | <运行状态> | <RFC3339-with-timezone> | <处理结果> |

Forward acceptance

Use fixtures to simulate the three states "Node missing, Python present, network blocked", confirm that the orchestration result only advances the available steps, and write the blockers to blockers; the real installation must additionally verify the official binary version and the customer's usable GUI login state.

Install the entire domain (Claude Code and Codex share the same domain plugin):

claude plugin marketplace add soia-team/soia-open-skills
claude plugin install soia-env@soia

Install only this one skill:

npx skills add soia-team/soia-open-env-skills -g -a '*' -s soia-env-environment-setup -y