agentsclimarketplace

Speckit.devops

Skill wedabro/bro-skills/.agents/skills/speckit.devops

bro-skills - Spec-Driven Development CLI

Install
npx -y skills add wedabro/bro-skills --skill speckit.devops

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Docker Infrastructure & Security Hardening Specialist β€” Port ENV-first.

SKILL.md

3.1 KB, 767 tokens by cl100k_base, as published. Nobody here has run it

🎯 Mission

Set up and manage a standardized and secure Docker system for the project. Published ports MUST always be configured via environment variables.

πŸ“₯ Input

  • .agent/memory/constitution.md (port range, security rules)
  • Existing Dockerfile , docker-compose.yml (if available)
  • .env.example

πŸ“‹ Protocol

1. Port Allocation (ENV-first) ⭐

ALWAYS configure ports via ENV:

  • .env file (local) or server ENV (production)
  • docker-compose.yml reads: "${PUBLIC_PORT}:${WEB_CONTAINER_PORT}"
  • Document required port variables in .env.example; do not hide missing configuration behind a fixed fallback.
  • CRITICAL: If .env or system environment already has port variables defined (e.g. PUBLIC_PORT, ADMIN_PORT, API_PORT or equivalents), ABSOLUTELY SKIP port scanning/assignment and NEVER overwrite the existing port configuration.

Port scanning rules according to environment:

EnvironmentExisting Ports in .env?Docker running?Act
Anyβœ… YesAnySKIP scan β€” use existing ports, DO NOT overwrite
Local❌ No❌ No (first time)Scan available ports with socket/helper β†’ select 3 consecutive empty ports
Local❌ Noβœ… Already runningSKIP scan β€” use current ports from docker/containers
Staging/Beta/Prod❌ NoAnyALWAYS initial scan for configuration β†’ write to .env

Check Docker is running (Local):

docker compose ps --format json 2>$null
# There are containers β†’ SKIP port scan
# Empty/error β†’ RUN port scan
  • Pattern: Public FE N β†’ Admin FE N+1 β†’ Backend API N+2

2. Local Docker (docker-compose.yml):

  • Published and container ports read from ENV: "${PUBLIC_PORT}:${WEB_CONTAINER_PORT}"
  • Volume mounts cho hot-reload code
  • Named volumes for node_modules (avoid host-container lock)
  • Health checks for each service

3. Production Docker (docker-compose.prod.yml):

  • Multi-stage builds (builder β†’ runner)
  • USER node or USER appuser (DO NOT run as root)
  • Remove devDependencies in the final image
  • Alpine/Slim base images
  • Ports read from ENV (NO hard-code)

4. Security Checklist:

  • .dockerignore: block .env, .git, node_modules
  • No hard-code secrets in Dockerfile
  • Only EXPOSE ports are needed

5. Documentation:

  • Update .agent/knowledge_base/infrastructure.md with the results
  • Update .env.example with all port vars

πŸ“€ Output

  • Files: Dockerfile, docker-compose.yml, docker-compose.prod.yml, .dockerignore
  • Config: .env (ports), .env.example (documented)
  • Doc: .agent/knowledge_base/infrastructure.md (updated)

🚫 Guard Rails

  • Flexibly configure ports via environment variables (.env) to avoid conflicts.
  • DO NOT hard-code port numbers β€” ALWAYS use ENV vars.
  • DO NOT run docker compose down -v on production.
  • DO NOT hard-code credentials into the Dockerfile.
  • DO NOT scan ports when Docker local is already running (with containers).

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most ship operate skills give in 767 tokens

Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-07

  • Document a rollback plan before deploymentin 41 of 779, across 22 files
  • Update the changelogin 21 of 779, across 19 files
  • Run the test suitein 20 of 779
  • Create an annotated git tagin 20 of 779
  • Clean up feature flags after full rolloutin 18 of 779, across 10 files
  • Verify deployment health after launchin 18 of 779, across 10 files
  • Test both feature flag statesin 17 of 779, across 9 files
  • Verify the working tree is cleanin 17 of 779
  • Make database migrations backward-compatiblein 16 of 779, across 8 files
  • Set up error monitoring before launchin 15 of 779, across 7 files
  • Monitor metrics at each rollout stagein 14 of 779, across 5 files
  • Create a GitHub releasein 14 of 779

Said here and by no other author read

  • configure published ports via environment variables
  • never overwrite existing port configuration
  • scan available ports if none are configured
  • use named volumes for node_modules
  • create a .dockerignore file
  • update infrastructure documentation with results

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,970. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.