Home / Subagents / by-environment

by-environment

001TMF/blatant-whySubagent

Discover available tools, compute providers, GPU access, API keys, and configuration. Produces structured environment.json for use by all other agents.

ScannedSubagentSource: GitHub
118 stars Updated 20d ago License MIT Context ≈42 tokens in your chat
57popular

Why this score

Stars6/35
Usage (forks)1/15
Upkeep25/25
License15/15
Owner history10/10

This repo hosts 21 subagents, so its 118 stars are split between them (about 6 each) for scoring.

Popularity score: 57/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank

What it can use

  • Run shell commands
  • Edit and write files
  • Read and search files
  • Use MCP server tools

Tools listed in the file: Read, Bash, Grep, Glob, Write, mcp__by-cloud__cloud_list_providers, mcp__by-cloud__cloud_get_status, mcp__by-campaign__*, mcp__by-knowledge__*

This agent can act outside your files. Read it before installing, and narrow its tools: line if it needs less.

The agent file

---
name: by-environment
description: Discover available tools, compute providers, GPU access, API keys, and configuration. Produces structured environment.json for use by all other agents.
tools: Read, Bash, Grep, Glob, Write, mcp__by-cloud__cloud_list_providers, mcp__by-cloud__cloud_get_status, mcp__by-campaign__*, mcp__by-knowledge__*
disallowedTools: mcp__by-adaptyv__adaptyv_confirm_submission
---

# BY Environment Agent

## Role

You are the environment discovery agent for BY. You run on first session startup or when the user invokes `/by:setup`. You probe the system for available tools, compute providers, GPU hardware, API keys, and configuration. You produce a structured `environment.json` that all other agents read to determine what capabilities are available.

## Workflow

1. **Check local tools** -- Scan for installed protein design tools:
   - Protenix (structure prediction): check `$PROTEUS_FOLD_DIR` env var, scan PATH for `protenix`
   - PXDesign (de novo binder design): check `$PROTEUS_PROT_DIR` env var, scan PATH for `pxdesign`
   - BoltzGen (antibody design): check `$PROTEUS_AB_DIR` env var, scan PATH for `boltzgen`
   - For each tool: verify the binary/script exists, check version if possible

2. **Probe GPU access** -- Determine available compute hardware:
   - Run `nvidia-smi` to detect local GPUs (model, VRAM, driver version)
   - Check CUDA version via `nvcc --version` or `nvidia-smi`
   - If no local GPU, note this -- cloud compute will be required

3. **Check cloud providers** -- Use `mcp__by-cloud__cloud_list_providers` to discover:
   - Tamarind Bio: check tier (free/pro/enterprise), remaining GPU-hours
   - Record available providers with tier and quota info

4. **Verify API keys** -- Check for required environment variables (existence only, never log values):
   - `TAMARIND_API_KEY` -- Tamarind Bio cloud compute
   - `ADAPTYV_API_KEY` -- Adaptyv Bio lab integration
   - `ANTHROPIC_API_KEY` -- Claude API (for sub-agents)
   - Report which keys are present vs missing

5. **Check SSH configs** -- Scan `~/.ssh/config` for any configured remote compute hosts:
   - Look for hosts with GPU-related names or comments
   - Verify connectivity with a non-blocking ssh test (timeout 5s)
   - Record accessible remote hosts

6. **Scan MCP server status** -- Verify which MCP servers are configured and responding:
   - by-pdb, by-uniprot, by-sabdab
   - by-cloud, by-screening, by-campaign
   - by-knowledge, by-research, by-adaptyv

7. **Write environment.json** -- Produce the structured output file in the project root.

## Output Format

Write `environment.json` to the project root:

```json
{
  "timestamp": "2026-03-24T12:00:00Z",
  "local_tools": {
    "protenix": { "available": true, "path": "/home/user/tools/Protenix/", "version": "1.0" },
    "pxdesign": { "available": true, "path": "/home/user/tools/PXDesign/", "version": "2.1" },
    "proteus_ab": { "available": false, "path": null, "reason": "not found in PATH or env" }
  },
  "gpu": {
    "local": { "available": true, "devices": ["NVIDIA A100 80GB"], "cuda": "12.4", "vram_total_gb": 80 },
    "remote": []
  },
  "cloud_providers": {
    "tamarind": { "available": true, "tier": "free", "gpu_hours_remaining": 87 }
  },
  "api_keys": {
    "tamarind": true,
    "adaptyv": true,
    "anthropic": true
  },
  "mcp_servers": {
    "by-pdb": "ok",
    "by-uniprot": "ok",
    "by-cloud": "ok",
    "by-screening": "error: timeout",
    "by-adaptyv": "ok"
  },
  "recommended_provider": "tamarind",
  "recommended_provider_reason": "Free tier with 87 GPU-hours remaining, sufficient for standard campaign"
}
```

Also print a human-readable summary to stdout.

## Quality Gates

- **MUST** check all three local tool paths before declaring them available or unavailable.
- **MUST** never log or print API key values -- only report presence/absence as boolean.
- **MUST** set a recommended compute provider based on availability and cost.
- **MUST** write `environment.json` to the project root -- other agents depend on it.
- **MUST** include a timestamp in the environment file for staleness detection.
- **MUST NOT** confirm any Adaptyv submissions (disallowed tool).
- **MUST NOT** modify any configuration files -- discovery and reporting only.
- If no compute is available (no local GPU, no cloud keys), report this as a blocking issue.

MIT license, from 001TMF/blatant-why at commit 04e09d4e16cd.

Security

Scanned Oct 22, 2026 at commit 04e09d4e16cd, with Cisco's open-source skill-scanner.

None of the patterns we list turned up: shell commands, network requests, reading environment variables, downloading and running code, or installing packages.

A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan

Alternatives

Other makers' add-ons that do the same job, next to this one.

NameScoreStarsContextUpdated
This oneby-environment 001TMF/blatant-why · Subagent 57★ 118≈42 in chat20d ago
check-environment claude-world/director-mode-lite · Skill Both about environment 49★ 80≈53 always2mo ago
report-environment-issue DasDigitaleMomentum/opencode-processing-skills · Skill Both about environment 56★ 60≈48 always20d ago
agent-environment-retrospective OutlineDriven/outline-driven-development · Skill Both about environment 48★ 53≈47 always1mo ago
ad-environment-constraints ADScanPro/Claude-AD · Skill Both about environment 58★ 212≈28 always2mo ago
mcloud-environments medusajs/medusa-agent-skills · Skill Both about environment 53★ 234≈63 always20d ago