Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add thettwe/nyann --skill gen-devcontainergit clone --depth 1 https://github.com/thettwe/nyannWrote 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/thettwe/nyann/gen-devcontainer)<a href="https://agentmods.dev/skills/thettwe/nyann/gen-devcontainer"><img src="https://agentmods.dev/badge/skills/thettwe/nyann/gen-devcontainer/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/thettwe/nyann/gen-devcontainer"><img src="https://agentmods.dev/badge/skills/thettwe/nyann/gen-devcontainer.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.00246 | $0.01868 |
| Opus 5 | $0.00123 | $0.00934 |
| Sonnet 5 | $0.00049 | $0.00374 |
| Haiku 4.5 | $0.00025 | $0.00187 |
Grade A, and why
gen-devcontainer 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 7d 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 — 173 lines — stays where its author put it; the contents beside it link to each section on GitHub.
gen-devcontainer
Wraps bin/gen-devcontainer.sh. Emits a devcontainer.json; preview-
by-default; idempotent on apply.
When to trigger
- User wants a Codespaces-ready repo and there's no
.devcontainer/directory yet. - User wants to refresh an existing devcontainer.json after upgrading
nyann (base image tags + extension lists shift with the
snapshot_versioncomment in the file). - User wants to add forwarded ports / cpus / memory to an existing
devcontainer (use
--port 3000 --cpus 4 --memory 8gb).
When NOT to trigger
- User wants a production Dockerfile — that's an entirely different concern; devcontainer.json is dev-environment only.
- User wants to debug a broken devcontainer build — open the existing file with them; this skill generates fresh, not diagnoses.
- User is on a non-Codespaces, non-VS Code editor — the file still
works under JetBrains' Dev Containers plugin and
devcontainer open(CLI), but flag the broader VS Code-first defaults.
Picking the language
Read StackDescriptor.primary_language from bin/detect-stack.sh:
| StackDescriptor.primary_language | --language |
|---|---|
typescript / javascript |
node |
python |
python |
go |
go |
rust |
rust |
dart |
dart |
java / kotlin |
java |
csharp / dotnet |
dotnet |
php |
php |
ruby |
ruby |
swift |
swift |
elixir |
elixir |
cpp / c |
cpp |
For polyglot monorepos (workspaces[] present), pick the language of
the most-important workspace OR ask the user — running multiple
devcontainers from a single repo is uncommon and confusing.
Preview, then apply
Always preview first. Show the rendered JSON; wait for confirmation:
bin/gen-devcontainer.sh --language python --name my-app
Then on confirmation:
bin/gen-devcontainer.sh --language python --name my-app \
--target . --apply
If the destination already matches: log "unchanged" and exit. If it
differs: print the unified diff to stderr, exit 3, prompt the user
before re-running with --force-overwrite.
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.
- 7d ago First seen · 173 lines · 246 tokens per session scan A 7c3e0a4b08e3
gen-devcontainer is a skill published in the GitHub repository thettwe/nyann (6 stars, last pushed 12d ago), licensed MIT. It adds 246 tokens to every session and 1,868 once invoked, about $0.0012 per session on Opus 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-09-03.
Other skills, from other repositories
deploy
Elixir/Phoenix deployment patterns — Dockerfile, fly.toml, runtime.exs, mix release, rel/ overlays. Use when configuring Fly.io, Docker, CI/CD, health checks, or production migrations.
daily-working
End-to-end pipeline: pull a task from the project's task tracker by ID (Redmine or GitHub Issues today, more addable via a new adapter), sanity-check and impact-assess it against the codebase before touching anything, implement it with the Claude CLI, verify the result in a real browser via the Claude Chrome extension…
companion-clis
Companion CLIs for Runpod workflows — HuggingFace, GitHub, Docker, and AWS.
strut
Operate and manage Docker Compose stacks on VPS infrastructure with the strut CLI. Use for any strut task — deploying and releasing services, database backup and restore, debugging production issues, detecting config drift, rotating secrets and keys, setting up monitoring, configuring domains and SSL, validating…
dockerized-service-release-deployment-workflow
Create a Dockerized-service release contract with clean GitHub Actions builds, main-anchored tags, immutable digest manifests, published-release deployments, production approval, health checks, and exact-digest rollback.
linux-development-vm-workflow
Prepare and reset persistent Linux development guests on macOS. Use when comparing container machine, Lima or Colima, and full VMs for distros, init systems, services, custom boot, disks, Rosetta, or nested virtualization.