AI Server
Opentrons/opentrons
Conventions for the opentrons-ai-server FastAPI service — project structure, uv dependency management, settings, testing, Docker, and deployment.
A skill your agent uses when deploying or managing applications on an Infinite OS instance — maps the dashboard, CLI, and REST API, and gives the core deployment workflows.
$ npx skills add goinfinite/os --skill os-usage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install goinfinite/os os-usage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "os-usage" agent skill from https://github.com/goinfinite/os/tree/main into .claude/skills/os-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-usage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goinfinite/os --skill os-usage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install goinfinite/os os-usage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "os-usage" agent skill from https://github.com/goinfinite/os/tree/main into .agents/skills/os-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-usage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goinfinite/os --skill os-usage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install goinfinite/os os-usage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "os-usage" agent skill from https://github.com/goinfinite/os/tree/main into .cursor/skills/os-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-usage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goinfinite/os --skill os-usage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install goinfinite/os os-usage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "os-usage" agent skill from https://github.com/goinfinite/os/tree/main into .gemini/skills/os-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-usage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install goinfinite/os os-usageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add goinfinite/os --skill os-usage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "os-usage" agent skill from https://github.com/goinfinite/os/tree/main into .github/skills/os-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-usage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goinfinite/os --skill os-usage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install goinfinite/os os-usage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "os-usage" agent skill from https://github.com/goinfinite/os/tree/main into .opencode/skills/os-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-usage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
os-usageA skill your agent uses when deploying or managing applications on an Infinite OS instance — maps the dashboard, CLI, and REST API, and gives the core deployment workflows.
Os Usage is an agent skill from goinfinite/os. Use when deploying or managing applications on an Infinite OS instance — maps the dashboard, CLI, and REST API, and gives the core deployment workflows.
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 812 other files (for example `.context.md`, `AGENTS.md` and `AGENTS.override.md`).
It sits in DevOps & Cloud, covering Containers, REST APIs and Deployment. It works with Docker. The repository describes itself as: Host-in-a-box. Goodbye Dockerfile. World's first wildcard container. The licence is GPL-2.0.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d663615. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dockermisecurlphppythonnpmcomposerpodmanbundlenodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
getcomposer.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DB_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Os Usage loads about 4.8k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 2,106 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
ash -c 'cd /app/myapp && cp .env.example .env && php artisan key:generate'E`, `DB_USERNAME`, and `DB_PASSWORD` in `.env` to match the database, then run the migrations: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.
The full file from goinfinite/os at commit d663615, republished under its GPL-2.0 licence (© goinfinite). 2,106 words, ~4,821 tokens.
.claude/skills/os-usage/SKILL.md (or your agent's skills folder). This skill also uses 808 other files; get the full folder from GitHub.Infinite OS is a wildcard container image. It gives you a host-in-a-box experience: applications, the services they need, databases, a web server, and a scheduler, all managed from one dashboard, CLI, and REST API. The container becomes the host you need after you run it.
Use this skill to deploy an instance, deploy WordPress or a custom application, install services, map hostnames, issue TLS certificates, create databases, and schedule jobs.
Before you deploy anything, find out where you are and what is available:
os version. If it answers, you are inside an Infinite OS container. Skip to step 3.command -v docker and command -v podman. If neither answers, stop and ask the user to install Docker or Podman, or to run you inside an Infinite OS container. Do not install a container runtime on your own.docker ps or podman ps. If an Infinite OS container already runs, note its name (every command below will use it as the docker exec <container> prefix) and skip to step 3.docker run -d --name 'myapp.net' \
--env 'PRIMARY_VHOST=myapp.net' \
-p 8080:80 -p 8443:443 -p 1618:1618 \
docker.io/goinfinite/os:latestPRIMARY_VHOST sets the domain the instance serves. The container auto-detects it from the hostname if unset.1618 serves the dashboard and the API. It is the only required port.80 and 443 serve the deployed applications directly. Publish them when you do not use a reverse proxy. Map them to 8080 and 8443 on the host when the host ports are taken..zip to move it to another instance.-d with -it to run an attached session.Open https://localhost:1618/. The first login runs a setup wizard that creates the admin account. The instance uses a self-signed certificate, so the browser warns once.
The CLI is the recommended path for an agent. It needs no authentication. It runs as root, and os refuses to run as any other user.
Outside the container, prefix every command with the container name. Run
docker exec <container> os <command>instead ofos <command>, for exampledocker exec myapp.net os services get. Copy files withdocker cp. Inside the container, run the commands as written.
os <command> --help lists the flags and marks the required ones.os mktplace list-catalog lists deployable applications with their slug, id, and data fields. The list paginates at 50 items per page; filter with -s <slug> or raise --items-per-page.os services get-installables lists installable services: runtimes, databases, and web servers. The list paginates at 10 items per page; raise --items-per-page to see them all.Use the API only when the container shell is out of reach. Use the dashboard for a human.
os mktplace install -s wp -n myapp.net \
-f 'adminUsername:admin' -f 'adminPassword:...' \
-f 'adminMailAddress:user@example.com'-s is the catalog slug, for example wp for WordPress, and -i the catalog id. Use one of them. List both with os mktplace list-catalog.-n sets the hostname. Omit it to use the primary virtual host.-d sets the URL path. Omit it to serve at the hostname root.-f key:value passes one installation data field. Repeat it. The catalog lists each item's dataFields, with name, isRequired, defaultValue, and options.The install pulls the dependencies, creates the service, starts it, and creates the mapping. Check os mktplace list and os services get. Remove an installation with os mktplace delete -i <installedId>.
Clone or copy the project into the container. The container ships git, so clone directly:
docker exec <container> git clone <repoUrl> /app/myappEvery hostname other than the primary virtual host must exist before a mapping or a service -H references it. Create it with os vhost create -n <hostname> -t top-level.
Install the php-webserver runtime, map the hostname to it, and pick the PHP version. The mapping creates the PHP virtual host, which serves the vhost root. Keep the project in /app/myapp and replace the vhost directory with a symlink to its public directory:
os vhost create -n blog.myapp.net -t top-level
docker exec <container> rmdir /app/html/blog.myapp.net
docker exec <container> ln -s /app/myapp/public /app/html/blog.myapp.net
os services create-installable -n php-webserver -v 8.3
os vhost mapping create -n blog.myapp.net -p / -t service -v php-webserver
os runtime php update -n blog.myapp.net -v 8.3A flat PHP app can live directly in /app/html/<hostname>/ instead. For a Composer project, install Composer after php-webserver:
docker exec <container> php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');"
docker exec <container> php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
docker exec <container> rm /tmp/composer-setup.php
docker exec <container> bash -c 'cd /app/myapp && composer install'Create the database with os db create and os db create-user, then prepare the app and make its writable directories writable by the web server (nobody:nogroup):
docker exec <container> bash -c 'cd /app/myapp && cp .env.example .env && php artisan key:generate'
docker exec <container> chown -R nobody:nogroup /app/myapp/storage /app/myapp/bootstrap/cacheSet DB_HOST=127.0.0.1, DB_PORT=3306, DB_DATABASE, DB_USERNAME, and DB_PASSWORD in .env to match the database, then run the migrations:
docker exec <container> bash -c 'cd /app/myapp && php artisan migrate --force'Enable any PHP module the app needs with os runtime php update-modules.
The service runs a startup file on a fixed port. Create the virtual host, then install the runtime, point it at the project entry file, and set the working directory:
os vhost create -n blog.myapp.net -t top-level
os services create-installable -n node -v lts -f /app/myapp/server.js -w /app/myapp -e PORT=3000 -H blog.myapp.netThe app must listen on the runtime port: 3000 for Node, Bun, and Ruby, 8000 for Python, 8080 for Java. lts in -v is an alias for the current LTS release; os services get-installables lists concrete versions too. A service -p is the internal port nginx proxies to, not a host-published port.
Pass the port and other environment variables with -e name=value, for example -e PORT=3000. For a WebSocket app, register the port as ws, for example -p '3000/ws', so nginx forwards the upgrade headers. When the app needs its own server command, override the start command with -c, for example FastAPI:
os services create-installable -n python -v 3.12 -f /app/myapp/main.py \
-c '/app/myapp/.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000' \
-w /app/myapp -H blog.myapp.netInstall the app dependencies after the runtime, then restart the service (find its name with os services get). Node uses npm install and Ruby bundle install:
docker exec <container> bash -c 'cd /app/myapp && mise x node@lts -- npm install'
os services update -n <serviceName> -s restartPython uses uv. It is not part of the runtime, so install it with mise, create a project virtual environment, and install the dependencies into it:
docker exec <container> bash -c 'cd /app/myapp && mise install uv && mise x python@3.12 uv -- uv venv && mise x uv -- uv pip install -r requirements.txt'Start the app from the virtual environment, for example -c '/app/myapp/.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000'.
For Rails, run the migrations with the Ruby toolchain and point config/database.yml at 127.0.0.1:5432:
docker exec <container> bash -c 'cd /app/myapp && mise x ruby@3.4 -- bin/rails db:migrate'Run it with gunicorn on the runtime port. Add gunicorn to requirements.txt, then override the start command and install the dependencies:
os vhost create -n blog.myapp.net -t top-level
docker exec <container> bash -c 'cd /app/myapp && mise install uv && mise x python@3.12 uv -- uv venv && mise x uv -- uv pip install -r requirements.txt'
os services create-installable -n python -v 3.12 \
-c '/app/myapp/.venv/bin/gunicorn myproject.wsgi:application --bind 0.0.0.0:8000' \
-w /app/myapp -H blog.myapp.net
docker exec <container> bash -c 'cd /app/myapp && /app/myapp/.venv/bin/python manage.py migrate'Add the hostname to ALLOWED_HOSTS and point the database settings at 127.0.0.1:5432. Set STATIC_ROOT to staticfiles, collect the static files, and serve them through a static mapping:
docker exec <container> bash -c 'cd /app/myapp && /app/myapp/.venv/bin/python manage.py collectstatic --noinput'
docker exec <container> ln -s /app/myapp/staticfiles /app/html/blog.myapp.net/static
os vhost mapping create -n blog.myapp.net -p /static -t static-filesGunicorn is the production default for synchronous Django. Async/ASGI Django uses Uvicorn (often as Gunicorn workers) or Daphne. Granian is the newer Rust-based server that supports both interfaces.
Create the virtual host and put the files in its public directory. The mapping falls back to index.html for unknown paths, so client-side routing works:
os vhost create -n blog.myapp.net -t top-level
docker exec <container> git clone <repoUrl> /app/html/blog.myapp.net
os vhost mapping create -n blog.myapp.net -p / -t static-filesFor a site that needs a build, clone it outside the vhost root, build it, and copy the output in:
docker exec <container> git clone <repoUrl> /app/myapp
docker exec <container> bash -c 'cd /app/myapp && mise x node@lts -- npm install && mise x node@lts -- npm run build'
docker exec <container> bash -c 'cp -r /app/myapp/dist/. /app/html/blog.myapp.net/'This covers React, Vue, Svelte, Quasar, and every other frontend that builds to static files. The output directory varies: dist/ for Vite-based builds, dist/spa/ for Quasar, build/ for Create React App, out/ for a Next.js static export.
Next.js and Nuxt render on the server by default, so they run as Node services instead. Create the service with the framework start command, install the dependencies, build, and restart:
os services create-installable -n node -v lts -c 'mise x node@lts -- npm start' -w /app/myapp -e PORT=3000 -H blog.myapp.net
docker exec <container> bash -c 'cd /app/myapp && mise x node@lts -- npm install && mise x node@lts -- npm run build'
os services update -n <serviceName> -s restartFor Next.js, npm start runs next start. For Nuxt, start node .output/server/index.mjs after the build, and set the cache URL with -e REDIS_URL=redis://127.0.0.1:6379.
This path uses nginx and ignores .htaccess. If the site needs .htaccess, use the php-webserver runtime instead. It serves static files and honors .htaccess rewrites:
os services create-installable -n php-webserver -v 8.3
os vhost mapping create -n blog.myapp.net -p / -t service -v php-webserverBuild the artifact first. Install a catalog runtime with os services create-installable and use its toolchain; mise install is only for a toolchain the catalog lacks, such as Go or Rust. You can also build on the host and copy the result in:
docker exec <container> bash -c 'cd /app/myapp && mise install go@1.27.1 && mise x go@1.27.1 -- go build -o app .'
docker exec <container> bash -c 'cd /app/myapp && mise install rust@latest && mise x rust@latest -- cargo build --release'The Go command builds the main package at the repo root; adjust the path for layouts like ./cmd/app. The Rust binary lands at target/release/<binary>. A Java JAR needs the Java runtime, then runs with mise x java@21 -- java -jar /app/myapp/app.jar:
os services create-installable -n java -v 21Then create the virtual host and a custom service that runs the binary:
os vhost create -n blog.myapp.net -t top-level
os services create-custom -n myapp -t other -c '/app/myapp/app' \
-w /app/myapp -p '8080/http' -a true -H blog.myapp.net-t is the service type: database, runtime, webserver, or other.-c is the start command and -w the working directory.-p port/protocol registers the port the service listens on.-e name=value sets an environment variable. Repeat it.-a true creates the mapping; -H sets its hostname and defaults to the primary virtual host at /.-c 'mise x node@lts -- npm start'.For a background worker with no web interface, pass -a false and no -p or -H. The service still starts and restarts on failure, and writes its log to /app/logs/<serviceName>/<serviceName>.log.
Check the service status with os services get and the mapping with os vhost mapping get. Then request the hostname to confirm the app answers, for example curl -k https://blog.myapp.net/health.
The marketplace install and the runtime install already create the mapping. create-custom does too when -a true. Create a mapping by hand only for extra paths:
os vhost mapping create -n myapp.net -p /blog -t service -v <serviceName>-t is the target type: url, service, response-code, inline-html, or static-files.-v is the target value, for example the service name or a URL.-m sets the match pattern: begins-with, contains, equals, or ends-with.List mappings with os vhost mapping get. Issue a publicly trusted certificate with:
os ssl create-trusted -n myapp.netThe hostname must resolve to the host and be reachable on port 80. For a certificate pair you already have, use os ssl create -v myapp.net -c <certPath> -k <keyPath>. List certificates with os ssl get.
os db create -t mariadb -n appdb
os db create-user -t mariadb -n appdb -u appuser -p '...' -r 'ALL'
os cron create -s '0 3 * * *' -c '<command>' -d 'nightly backup'-t accepts mariadb (alias mysql) and postgresql (alias postgres). Install MongoDB, Redis, and OpenSearch as services with os services create-installable, for example os services create-installable -n redis -v 7.2. Apps connect to 127.0.0.1 on the engine port: 3306 MariaDB, 5432 PostgreSQL, 27017 MongoDB, 6379 Redis. The cron -s field uses the standard five-field syntax. List databases with os db get and jobs with os cron get.
Cron runs the command as root with a minimal environment and no retry. Use absolute paths and redirect the output, for example -c '/app/myapp/.venv/bin/python /app/myapp/pipeline.py >> /app/logs/cron/pipeline.log 2>&1'.
os runtime php update -n myapp.net -v 8.3
os runtime php update-setting -n myapp.net -v 8.3 -N memory_limit -V 512M
os runtime php update-modules -n myapp.net -v 8.3 -m '<module>:true'Read the current configuration with os runtime php get -n <hostname>.
The application files live on the container filesystem. Use docker cp or a shell. The dashboard at /file-manager/ and the API at /api/v1/files/ offer the same operations without shell access: GET / reads, POST / creates, PUT / updates, POST /upload/, GET /download/, POST /compress/, PUT /extract/, PUT /delete/.
Accounts and SSH access keys use os account get|create|update|delete|create-public-key|delete-key.
https://<host>:1618/. Pages: /marketplace/, /runtimes/, /databases/, /mappings/, /ssls/, /crons/, /file-manager/, /accounts/, /overview/.https://<host>:1618/api/v1/....Get a token:
curl -k -X POST 'https://<host>:1618/api/v1/auth/login/' \
-H 'Content-Type: application/json' \
-d '{"username":"admin","password":"..."}'The token is in the response body at body.tokenStr. Send it on every later call:
curl -k 'https://<host>:1618/api/v1/...' -H "Authorization: Bearer $TOKEN"The instance uses a self-signed certificate by default, so pass -k. Every controller response has the same envelope: status, body, readableMessage. The status is the HTTP code, so a 2xx status means the call worked. Middleware and parse errors can use a different shape. The Swagger UI at https://<host>:1618/api/swagger/index.html documents every route and body.
os mktplace install / POST /api/v1/marketplace/catalog/os services create-installable / POST /api/v1/services/installables/os services create-custom / POST /api/v1/services/custom/os vhost mapping create / POST /api/v1/vhost/mapping/os ssl create-trusted / POST /api/v1/ssl/trusted/os db create / POST /api/v1/database/:dbType/os cron create / POST /api/v1/cron/os runtime php update / PUT /api/v1/runtime/php/:hostname/docker cp / /api/v1/files/os account / /api/v1/account/docker exec when outside. Use the API only when the container shell is out of reach.mktplace delete, services delete, db delete, db delete-user, account delete, ssl delete, cron delete. Deletion destroys data and cannot be undone.unauthorized.© goinfinite, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 808 other files in the repository root of goinfinite/os.
Open the folder on GitHubat commit d663615
Os Usage 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Os Usage this skillgoinfinite/os | 361 | — | ~4.8k | Automated safety check: Notes | GPL-2.0 | |
| AI ServerOpentrons/opentrons | 521 | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Monstermq Broker Configvogler75/monster-mq | 143 | — | ~2.2k | Automated safety check: Pass | GPL-3.0 | |
| Deployambient-code/platform | 131 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Frontmcp Deploymentagentfront/frontmcp | 146 | — | ~9.2k | Automated safety check: Notes | Apache-2.0 | |
| Deployserithemage/serverless-openclaw | 196 | — | ~898 | Automated safety check: Notes | None |
Opentrons/opentrons
Conventions for the opentrons-ai-server FastAPI service — project structure, uv dependency management, settings, testing, Docker, and deployment.
vogler75/monster-mq
Guide for configuring, deploying, and operating the MonsterMQ broker.
ambient-code/platform
Deploy, update manifests, and troubleshoot the ambient-ui component.
agentfront/frontmcp
A skill your agent uses when deploying, building for production, packaging, or shipping a FrontMCP server.
serithemage/serverless-openclaw
Deploys Serverless OpenClaw CDK stacks to AWS. An agent skill from serithemage/serverless-openclaw.
HoangNguyen0403/agent-skills-standard
Containerize NestJS apps with multi-stage Docker builds, tune Node.js memory, and implement graceful shutdown hooks.
Works with
Categories
A skill your agent uses when deploying or managing applications on an Infinite OS instance — maps the dashboard, CLI, and REST API, and gives the core deployment workflows. Os Usage is an agent skill from goinfinite/os. Use when deploying or managing applications on an Infinite OS instance — maps the dashboard, CLI, and REST API, and gives the core deployment workflows.
Os Usage fits situations like: managing applications on an Infinite OS instance — maps the dashboard; gives the core deployment workflows.
Run `npx skills add goinfinite/os --skill os-usage -a claude-code`. Or copy the skill folder (the goinfinite/os repository) into .claude/skills/os-usage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add goinfinite/os --skill os-usage -a codex`. Or copy the skill folder (the goinfinite/os repository) into .agents/skills/os-usage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add goinfinite/os --skill os-usage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/os-usage, .gemini/skills/os-usage, .github/skills/os-usage and .opencode/skills/os-usage in your project.
Going by SKILL.md and its folder, Os Usage needs the command-line tools its instructions call (docker, mise, curl, php, python and npm) and credentials named DB_PASSWORD. Our summary lists: Python 3; Node.js; Docker.
SKILL.md names 1 domain. In commands or code: getcomposer.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Os Usage is published under the GPL-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Os Usage: AI Server (Opentrons/opentrons, 521 stars), Monstermq Broker Config (vogler75/monster-mq, 143 stars), Deploy (ambient-code/platform, 131 stars) and Frontmcp Deployment (agentfront/frontmcp, 146 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
goinfinite (a GitHub organization) maintains it in goinfinite/os, which has 361 GitHub stars. The repository was last updated on October 6, 2026.
Source: goinfinite/os on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.