Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add joshidikshant/devsquad/plugin install devsquadWrote 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.
[](https://agentmods.dev/skills/joshidikshant/devsquad/environment-detection)<a href="https://agentmods.dev/skills/joshidikshant/devsquad/environment-detection"><img src="https://agentmods.dev/badge/skills/joshidikshant/devsquad/environment-detection/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.
<a href="https://agentmods.dev/skills/joshidikshant/devsquad/environment-detection"><img src="https://agentmods.dev/badge/skills/joshidikshant/devsquad/environment-detection.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.02607 |
| Opus 5.5 | $0.00025 | $0.01043 |
| Sonnet 5.5 | $0.00012 | $0.00521 |
| Haiku 4.5 | $0.00006 | $0.00261 |
Grade A, and why
environment-detection scanned grade A with 0 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Environment Detection Skill
Detect the developer's AI tooling landscape to determine which CLIs are installed, which plugins are active, and what degradation strategies are needed. This skill forms the foundation of DevSquad's onboarding flow and is invoked automatically during setup or on demand when the user wants to understand their current tooling.
Overview
DevSquad relies on external AI CLIs (Gemini, Codex) for delegation. Not every developer has all tools installed. This skill scans the environment to discover what is available, maps installed Claude Code plugins to avoid conflicts, and produces structured JSON reports that other skills and commands consume.
The detection covers three areas:
- CLI availability -- Which of the three AI CLIs (gemini, codex, claude) are installed, where they are located, and what versions they report.
- Dependency checking -- Whether critical utilities like jq are present for full functionality.
- Plugin discovery -- Which Claude Code plugins are installed, their command namespaces, and whether they conflict with DevSquad.
The output of this skill drives the delegation engine. If Gemini is missing, research tasks cannot be delegated to it. If Codex is missing, boilerplate generation stays with Claude. The skill quantifies exactly what the developer can and cannot do.
Detection Process
To run environment detection, execute the following scripts via the Bash tool. Both scripts output JSON to stdout and warnings to stderr.
Step 1: Detect AI CLIs
Execute the environment detection script:
bash "${CLAUDE_PLUGIN_ROOT}/skills/environment-detection/scripts/detect-environment.sh"
If CLAUDE_PLUGIN_ROOT is not set, the script resolves the plugin root from its own location automatically.
The script performs the following operations:
- Sources
lib/cli-detect.shfrom the plugin root to get base detection functions. - Checks availability of gemini, codex, and claude using
command -v(POSIX portable, no reliance onwhich). - Records the full path to each CLI binary.
- Attempts version detection with a 5-second timeout per CLI. Uses
gtimeouton macOS if available, falls back totimeouton Linux, and skips version detection gracefully if neither exists. - Checks for jq availability as a dependency.
- Computes a summary: which agents are available, which are missing, whether delegation is possible, and whether the environment is degraded.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 1mo ago First seen · 237 lines · 62 tokens per session scan A a74ac7c0ab38
environment-detection is a skill published in the GitHub repository joshidikshant/devsquad (7 stars, last pushed 17d ago), licensed MIT. It adds 62 tokens to every session and 2,607 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
caliber-testing
Writes Vitest tests following project patterns: tests/ directories, vi.mock() for module mocking with vi.hoisted() for test-time factories, global LLM mock from src/test/setup.ts, environment variable save/restore in beforeEach/afterEach, vi.clearAllMocks() lifecycle, and test file organization. Use when user says…
save-learning
Saves user instructions as persistent learnings for future sessions. Use when the user says 'remember this', 'always do X', 'from now on', 'never do Y', or gives any instruction they want persisted across sessions. Proactively suggest when the user states a preference, convention, or rule they clearly want followed in…
loongsuite-pilot-insight
A reporting workflow for turning LoongSuite Pilot and AI coding-agent logs into structured reports about events, teams, data quality, development efficiency, and AI use. It defines the meaning of the log fields and the measurements used in dashboards.
web-access
A method for handling difficult web tasks across search, page fetching, and a real browser. It covers sites that need login sessions, dynamic pages, anti-bot handling, or exploration before their structure is understood.
skill-creator
A skill for creating or improving reusable instructions for an agent. It covers capturing the intended workflow, writing a draft, testing it, and refining its trigger description.
packing-list
A travel-packing aid that builds a checklist from the destination's climate, trip type, length, transport, accommodation, and travelling group. It treats a city break, hike, business trip, and family holiday as different packing problems.