ov-coder/skills/dev-tools/SKILL.md
Developer tools including bat, ripgrep, neovim, gh, direnv, fd-find, htop, podman-compose, and many more CLI utilities. Use when working with developer tooling, CLI utilities, or container dev environments.
npx skillsauth add overthinkos/overthink-plugins dev-toolsInstall 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.
| Property | Value |
|----------|-------|
| Install files | layer.yml, tasks: |
RPM (with --setopt=tsflags=noscripts): android-tools, apptainer, apptainer-suid, arch-install-scripts, asciinema, bat, bcc, bpftop, bpftrace, bridge-utils, debootstrap, direnv, dislocker, ecryptfs-utils, fastfetch, fd-find, fdupes, fuse-devel, fuse-dislocker, fuse3-devel, html2text, htop, jdupes, mosh, neovim, podman-compose, podman-machine, podman-remote, podman-tui, qemu-kvm, qemu-user-binfmt, qemu-user-static, rclone, restic, ripgrep, ShellCheck, squashfuse, strace, sysstat, thefuck, yamllint, yq, zoxide
rpm: (Fedora), pac: (Arch), deb: (Debian + generic Ubuntu), with a ubuntu:24.04: tag-section override. Not every package is available everywhere; per-distro drops are documented inline in layer.yml.
Packages dropped per distro (non-exhaustive):
apptainer-suid, dislocker, ecryptfs-utils, fuse-dislocker, podman-machine, podman-remote, podman-tui — not packaged.arch-install-scripts (obviously) and apptainer itself (only in bookworm-backports, skipped on trixie).fastfetch — package not in noble main. Handled by a ubuntu:24.04: tag section that re-lists the deb packages minus fastfetch.Both Debian and Ubuntu rename bat → batcat in their archives to avoid a namespace collision with a legacy bacula utility. The bat package installs only /usr/bin/batcat; nothing lives at /usr/bin/bat. To keep downstream scripts, docs, and declarative tests portable, the layer ships a distro-tolerant symlink task:
tasks:
- cmd: |
if [ -f /usr/bin/batcat ] && [ ! -e /usr/bin/bat ]; then
ln -sf /usr/bin/batcat /usr/bin/bat
fi
user: root
No-op on Fedora/Arch (where /usr/bin/bat already exists from the distro package) — the guard short-circuits. Creates the symlink on Debian/Ubuntu. Idempotent across rebuilds.
exclude_distros: [ubuntu:24.04]The fastfetch-binary test is declared with an exclude_distros: filter:
- id: fastfetch-binary
file: /usr/bin/fastfetch
exists: true
exclude_distros:
- ubuntu:24.04
On images whose org.overthinkos.platform.distro OCI label includes ubuntu:24.04, the test runner skips this check with a reason — see /ov-build:eval "exclude_distros: field". This was added because dropping fastfetch from the ubuntu:24.04: tag section is clean, but the baked test probe would otherwise false-fail.
/ov-coder:ghIn 2026-04 the gh, git, and git-lfs packages were moved out of
dev-tools and into /ov-coder:gh (which is the dedicated GitHub /
git tooling layer). Before that, dev-tools duplicated what gh was
responsible for — two layers installing gh, two layers testing it,
with unclear ownership. If you want the git tooling, compose
/ov-coder:gh alongside /ov-coder:dev-tools.
# image.yml
my-dev:
layers:
- dev-tools
/ov-foundation:fedora-remote (via remote layer ref)bazzite-ai (disabled, via devops-tools which is separate)/ov-coder:gh — Sibling GitHub CLI commonly paired with dev-tools/ov-coder:devops-tools — Sibling DevOps cloud CLI bundle in bootc images/ov-coder:build-toolchain — Sibling C/C++ toolchain in bootc image stacks/ov-coder:debian-coder, /ov-coder:ubuntu-coder — canonical consumers of the bat→batcat symlink/ov-coder:fedora-coder, /ov-coder:arch-coder — consumers where the symlink task is a harmless no-op/ov-build:build — Build images that ship the dev-tools package set/ov-core:shell — Interactive shell to use bat/ripgrep/neovim/etc./ov-build:eval — exclude_distros: field reference for the fastfetch-binary test/ov-build:layer — authoring reference for distro-tolerant cmd: tasks and exclude_distros:Use when the user asks about:
dev-tools layer or its packagesdevelopment
Claude Code multi-agent support in Overthink — sub-agents, dynamic workflows, and agent teams, and how each drives the existing `ov eval` disposable beds to test and verify. MUST be invoked before authoring or invoking an ov sub-agent / dynamic workflow / agent team, wiring agent-lifecycle hooks, or asking "which primitive should drive the R10 beds?".
tools
Mounts a virtiofs share tagged `workspace` at /workspace inside a VM guest via a systemd .mount unit. Use when a kind:vm entity shares a host directory into the guest and you need it auto-mounted (and re-mounted at every boot).
development
MUST be invoked before any work involving: the `kind: android` schema kind, a `target: android` deploy, the `apk:` layer package format (installing Android apps declaratively), AndroidDeployTarget, an in-pod emulator OR a remote/physical adb-endpoint device, or nested `pod → android` deployment. The first-class Android device + app surface that sits above `ov eval adb`/`appium`.
tools
Use when committing, branching, pushing, merging, tagging, creating PRs, or approving/merging PRs with gh — the feat/-branch, R10-gated, never-force-push landing workflow across the main repo + the plugins submodule + image/<distro> submodules. Covers sync-to-upstream, branch/worktree pruning, the fork+PR path for contributors without write access, and cross-repo @github landing order.