Skip to content
Back to skills

R Env

ASecurity

Use to assess the environment against an optimal Claude Code + RDF setup: code intelligence plugins and language servers, tools, limits, sandbox, Claude Code currency, .claude files and the price table, with exact fix commands.

  • 20 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
developmentgoshellbash

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add rfxn/rdf --skill r-env --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of R Env?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for R Env
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rfxn-r-env/badge)](https://www.skillsdirectory.com/skills/rfxn-r-env)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: r-env
description: >
  Use to assess the environment against an optimal Claude Code + RDF setup: code intelligence plugins and language servers, tools, limits, sandbox, Claude Code currency, .claude files and the price table, with exact fix commands.
---

# /rdf:r-env — Environment Assessment

Assess this host against an optimal Claude Code + RDF setup for the current
project: code intelligence plugins and their language servers, the tools RDF
relies on, fd and process limits, sandbox dependencies, Claude Code and Codex
currency, `.claude` settings and memory files, and the age of the `rdf tokens`
price table. Read-only: it reports exact fixes and offers to apply them.

`/rdf:r-start` shows a one-line brief of the same assessment; `rdf doctor` runs it
offline as its `env` scope. This command is the full report.

## Arguments

`$ARGUMENTS` (optional, any order):
- `--pricing`: also compare the `rdf tokens` price table with the vendors'
  live pricing pages (automatic when the table is over 45 days old or a
  pricing finding fires)
- `--offline`: no network: skip the latest-version lookups, `claude doctor`
  and the pricing comparison
- a project path (default: the current directory)

## Protocol

### 1. Run the assessment

Resolve `rdf-env.sh` (first path that exists):
1. `~/.rdf/state/rdf-env.sh`
2. `<rdf-checkout>/state/rdf-env.sh` (dev installs only)

If neither exists, say the helpers are not delivered yet (plugin: restart the
session; checkout: `rdf deploy claude-code`) and stop.

Run it once and parse the JSON. Do NOT re-run individual checks yourself:

```bash
bash ~/.rdf/state/rdf-env.sh --json [--offline] <project>
```

Without `--offline` the helper asks registry.npmjs.org for the current
`@anthropic-ai/claude-code` and `@openai/codex` dist-tags (no identifiers are
sent) and runs `claude doctor`, which can fetch managed settings. The JSON
carries settings knob values, env variable names (never their values) and MCP
server counts only.

### 2. Compare prices (only with `--pricing`, an age over 45 days, or a pricing finding)

1. `bash ~/.rdf/state/rdf-tokens.sh --pricing --json` gives the table, its
   `as_of`, `expires` and `sources`.
2. Fetch the markdown variant of each source page (append `.md`; plain tables,
   about 50 KB and 22 KB): `curl -fsSL "<sources.anthropic>.md"` and
   `curl -fsSL "<sources.openai>.md"`.
3. For every model in both, compare input, output, cache writes (5m and 1h
   for Anthropic, 30m for OpenAI), cache reads, the long-context and fast
   tiers, and promotional end dates. Report each difference as a row: model,
   field, table value, page value. List page models missing from the table
   that this host uses (check `rdf tokens --claude --json` and `--codex --json`
   `unpriced_models`).
4. Never edit the table here. The fix is a change to `_tok_prices` in
   `state/rdf-tokens.sh` with a new `as_of`; offer to make it.

### 3. Render the report

ONE block, under about 60 lines:

```
## Environment — {project} · {tool} · gap {N} · warn {N} · info {N}

| Area | Status | Detail |
|------|--------|--------|
| Code intelligence | {✔ or ✘} | {languages: server + plugin state} |
| Tools | ... | ... |
| Limits | ... | nofile {soft}/{hard} |
| Sandbox | ... | ... |
| Claude Code | ... | {version} ({channel} {latest}) |
| Config & memory | ... | ... |
| Pricing | ... | as of {as_of}{, promo ends {expires}} |
```

Then the findings, gaps first, then warnings, then info. Give each its title,
one line of why, and its fix commands in a `bash` block ready to paste. When
several fixes use this host's package manager, also give one combined command
(for example `sudo dnf install ShellCheck bats`). Mark commands that need
`sudo`.

Then **Optimal setup for this project**, a checklist from the facts: each
primary language with its language server and plugin, the project's tools,
limits, sandbox readiness, Claude Code currency, and accounts that lack a
plugin. Checked means present.

Footer: OS, package manager, Codex version, RAM and free disk, the count of
ignored findings and where the ignore files live (`~/.rdf/env-ignore` for every
project, `<project>/.rdf/env-ignore` for this one; one finding id per line).

When `tool` is not `claude` (Codex, Gemini CLI), code intelligence findings are
skipped by design; say so in the table.

### 4. Offer, never apply

Close by offering the fixes the user picks. Rules:
- Never run `sudo`, a package install or `claude plugin install` without the
  user's explicit go-ahead for that command
- Plugin installs are per account: use the `CLAUDE_CONFIG_DIR=` form the
  finding gives
- Never edit settings files unless asked
- To silence a finding, add its id to an ignore file (offer this; do not do it
  unasked)

## Rules
- One helper call; no extra probes unless the user asks about a specific item
- Never paste raw settings or `.claude.json` content into the report
- Do NOT run tests, builds or installs as part of the assessment

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.