plugins/agent-agentic-os/skills/os-environment-probe/SKILL.md
Discovers and persists the user's available AI environments (Claude, Copilot CLI, Agy CLI, Cursor, etc.) to context/memory/environment.md. Run once after OS setup or whenever the environment changes. os-architect and os-evolution-planner read this file to select the right delegation backend and cheapest brainstorm model automatically. Invoked by os-architect on first run if environment.md is absent.
npx skillsauth add richfrem/agent-plugins-skills os-environment-probeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
os-environment-probe asks the user which AI environments they have access to, then
verifies each claimed environment by running a lightweight probe command. Results are
written to context/memory/environment.md — a single source of truth that downstream
skills read to make delegation decisions without asking the user again.
Ask the user these questions (one prompt, multiple-choice, keep it brief):
Which of these AI tools do you currently have active on this machine? (Select all that apply)
A. Claude Code only B. Claude Code + GitHub Copilot CLI (Pro or Business plan) C. Claude Code + Agy CLI (Antigravity — gemini-3.5-flash backend) D. Cursor (Claude or GPT backend) E. Other (describe)
Wait for their answer before probing.
For each claimed environment, verify it is actually callable:
| Environment | Probe command | Pass condition |
|-------------|---------------|----------------|
| Copilot CLI | gh copilot explain "test" 2>&1 \| head -3 | No "not authenticated" or "command not found" |
| Agy CLI | agy --version 2>&1 \| head -1 | Outputs a version string |
| Cursor | cursor --version 2>&1 \| head -1 | Outputs a version string |
| Claude Code | always present | — |
Report each probe result to the user:
Only write environments that pass to the profile.
Write context/memory/environment.md:
# AI Environment Profile
_Last updated: YYYY-MM-DD_
## Available Environments
| Environment | Status | Cheapest model | Premium model |
|-------------|--------|----------------|---------------|
| Claude Code | active | claude-haiku-4-5 | claude-sonnet-4-6 |
| Copilot CLI | active | gpt-5-mini | claude-sonnet-4.6 (via --model) |
| Agy CLI | active | gemini-3.5-flash | — |
> Consult `references/cheapest_models.md` for current model names and costs — do not hardcode here.
## Delegation Strategy
**Cheapest brainstorm model**: <first available in priority order below>
1. Copilot CLI — gpt-5-mini (per-token, low cost)
2. Agy CLI — gemini-3.5-flash (per-token, low cost)
3. Claude Haiku subagent — low cost, in-session
**Primary dispatch model**: claude-sonnet-4-6 (via Copilot CLI if available, else Claude subagent)
## Capability Matrix
| Task | Best tool | Fallback |
|------|-----------|---------|
| Brainstorm options (cheap) | <cheapest model> | claude-haiku-4-5-20251001 |
| Single-file delegation | Copilot CLI | Claude subagent |
| Multi-workstream delegation | Copilot CLI claude-sonnet-4-6 | Claude subagent (sonnet) |
| Overnight unattended loop | os-improvement-loop | — |
os-evolution-planner reads environment.md at the start of every run:
run_agent.py --cli copilot (gpt-5-mini, low cost)run_agent.py --cli agy (gemini-3.5-flash, low cost)os-architect reads environment.md to choose the dispatch backend for Path B/C executions.
If environment.md is missing, both skills default to Claude-only mode and offer to run
os-environment-probe before proceeding.
If the user adds a new environment later, they can run this skill again. It overwrites
context/memory/environment.md with fresh probe results.
context/memory/environment.md exists and contains a
populated ## Delegation Strategy section with at least one "Cheapest brainstorm model" line.--version, explain "test", or
similar read-only flags — never trigger billing or start sessions.gh extension install github/gh-copilot. Confirm CLI specifically, not just Copilot.llama (Gemma 4) is free. See references/cheapest_models.md for current costs.This skill now includes two convenience support files to make repro and re-probing easier. Inspect or run them from the skill directory (the agent may invoke them when safe):
scripts/probe_environments.sh — a small, non-interactive shell probe that runs the same read-only commands listed above (agy --version, cursor --version, gh copilot explain "test") and prints a short summary. It is safe (non-billing) and tolerant of missing commands.
references/gemini-detection-example.md — a short session-specific note showing an observed gemini probe result (example output captured during an interactive session). Use this as an example snippet when building or testing environment.md content.
Write any additional probe outputs to the references/ directory so downstream skills (os-architect, os-evolution-planner) can read concrete examples when deciding delegation.
testing
Skill for creating and managing isolated git worktrees (`.worktrees/issue-NNN`) for issue execution branches. USE ONLY when setting up or cleaning up isolated git worktrees for specific issue execution. DO NOT USE for managing local task files (use `task-agent`) or escalating tasks to issues (use `github-issue-backlog-agent`).
data-ai
Skill for orchestrating the end-to-end GitHub issue lifecycle flow: Issue -> Worktree -> Implementation -> PR Creation -> Resolution Closure. USE ONLY when running or dry-running full lifecycle orchestration for resolving an issue with a PR. DO NOT USE for isolated worktree management only (use `issue-worktree-agent`) or logging issues (use `github-issue-agent`).
tools
Automatically ranks GitHub issues (P0-P3) based on friction tier, frequency, and blockages, synchronizing priority labels and GitHub Projects v2 custom fields.
testing
Bridge skill for escalating ephemeral local task scratchpad items (`tasks/*.md`) into durable, taxonomy-validated, evidence-rich GitHub Issues. USE ONLY when promoting a single-session local task into durable repository backlog. DO NOT USE for managing local kanban boards (use `task-agent` instead) or directly querying/commenting on issues (use `github-issue-agent` instead).