[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FKZ4081EBWPE7GCEE7FW1":3,"skill-same:01M71FKZ4081EBWPE7GCEE7FW1":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":13,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M71FKZ4081EBWPE7GCEE7FW1","docker-management",null,"Manage Docker containers, images, volumes, networks, and Compose stacks — lifecycle ops, debugging, cleanup, and Dockerfile optimization.","gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71F3JY8A79Z3NZBW08TF4JD",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes-agent\u002Foptional-skills\u002Fdevops\u002Fdocker-management\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"docker management","management","docker","infrastructure","terminal","devops","debugging","ops","cleanup","dockerfile","lifecycle","networks","manage","containers","Optimization","compose","images","2026-11-10 10:12:30",false,"---\nname: docker-management\ndescription: Manage Docker containers, images, volumes, networks, and Compose stacks — lifecycle ops, debugging, cleanup, and Dockerfile optimization.\nversion: 1.0.0\nauthor: sprmn24\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [docker, containers, devops, infrastructure, compose, images, volumes, networks, debugging]\n    category: devops\n    requires_toolsets: [terminal]\n---\n\n# Docker Management\n\nManage Docker containers, images, volumes, networks, and Compose stacks using standard Docker CLI commands. No additional dependencies beyond Docker itself.\n\n## When to Use\n\n- Run, stop, restart, remove, or inspect containers\n- Build, pull, push, tag, or clean up Docker images\n- Work with Docker Compose (multi-service stacks)\n- Manage volumes or networks\n- Debug a crashing container or analyze logs\n- Check Docker disk usage or free up space\n- Review or optimize a Dockerfile\n\n## Prerequisites\n\n- Docker Engine installed and running\n- User added to the `docker` group (or use `sudo`)\n- Docker Compose v2 (included with modern Docker installations)\n\nQuick check:\n\n```bash\ndocker --version && docker compose version\n```\n\n## Quick Reference\n\n| Task | Command |\n|------|---------|\n| Run container (background) | `docker run -d --name NAME IMAGE` |\n| Stop + remove | `docker stop NAME && docker rm NAME` |\n| View logs (follow) | `docker logs --tail 50 -f NAME` |\n| Shell into container | `docker exec -it NAME \u002Fbin\u002Fsh` |\n| List all containers | `docker ps -a` |\n| Build image | `docker build -t TAG .` |\n| Compose up | `docker compose up -d` |\n| Compose down | `docker compose down` |\n| Disk usage | `docker system df` |\n| Cleanup dangling | `docker image prune && docker container prune` |\n\n## Procedure\n\n### 1. Identify the domain\n\nFigure out which area the request falls into:\n\n- **Container lifecycle** → run, stop, start, restart, rm, pause\u002Funpause\n- **Container interaction** → exec, cp, logs, inspect, stats\n- **Image management** → build, pull, push, tag, rmi, save\u002Fload\n- **Docker Compose** → up, down, ps, logs, exec, build, config\n- **Volumes & networks** → create, inspect, rm, prune, connect\n- **Troubleshooting** → log analysis, exit codes, resource issues\n\n### 2. Container operations\n\n**Run a new container:**\n\n```bash\n# Detached service with port mapping\ndocker run -d --name web -p 8080:80 nginx\n\n# With environment variables\ndocker run -d -e POSTGRES_PASSWORD=secret -e POSTGRES_DB=mydb --name db postgres:16\n\n# With persistent data (named volume)\ndocker run -d -v pgdata:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata --name db postgres:16\n\n# For development (bind mount source code)\ndocker run -d -v $(pwd)\u002Fsrc:\u002Fapp\u002Fsrc -p 3000:3000 --name dev my-app\n\n# Interactive debugging (auto-remove on exit)\ndocker run -it --rm ubuntu:22.04 \u002Fbin\u002Fbash\n\n# With resource limits and restart policy\ndocker run -d --memory=512m --cpus=1.5 --restart=unless-stopped --name app my-app\n```\n\nKey flags: `-d` detached, `-it` interactive+tty, `--rm` auto-remove, `-p` port (host:container), `-e` env var, `-v` volume, `--name` name, `--restart` restart policy.\n\n**Manage running containers:**\n\n```bash\ndocker ps                        # running containers\ndocker ps -a                     # all (including stopped)\ndocker stop NAME                 # graceful stop\ndocker start NAME                # start stopped container\ndocker restart NAME              # stop + start\ndocker rm NAME                   # remove stopped container\ndocker rm -f NAME                # force remove running container\ndocker container prune           # remove ALL stopped containers\n```\n\n**Interact with containers:**\n\n```bash\ndocker exec -it NAME \u002Fbin\u002Fsh          # shell access (use \u002Fbin\u002Fbash if available)\ndocker exec NAME env                   # view environment variables\ndocker exec -u root NAME apt update    # run as specific user\ndocker logs --tail 100 -f NAME         # follow last 100 lines\ndocker logs --since 2h NAME            # logs from last 2 hours\ndocker cp NAME:\u002Fpath\u002Ffile .\u002Flocal      # copy file from container\ndocker cp .\u002Ffile NAME:\u002Fpath\u002F           # copy file to container\ndocker inspect NAME                    # full container details (JSON)\ndocker stats --no-stream               # resource usage snapshot\ndocker top NAME                        # running processes\n```\n\n### 3. Image management\n\n```bash\n# Build\ndocker build -t my-app:latest .\ndocker build -t my-app:prod -f Dockerfile.prod .\ndocker build --no-cache -t my-app .              # clean rebuild\nDOCKER_BUILDKIT=1 docker build -t my-app .       # faster with BuildKit\n\n# Pull and push\ndocker pull node:20-alpine\ndocker login ghcr.io\ndocker tag my-app:latest registry\u002Fmy-app:v1.0\ndocker push registry\u002Fmy-app:v1.0\n\n# Inspect\ndocker images                          # list local images\ndocker history IMAGE                   # see layers\ndocker inspect IMAGE                   # full details\n\n# Cleanup\ndocker image prune                     # remove dangling (untagged) images\ndocker image prune -a                  # remove ALL unused images (careful!)\ndocker image prune -a --filter \"until=168h\"   # unused images older than 7 days\n```\n\n### 4. Docker Compose\n\n```bash\n# Start\u002Fstop\ndocker compose up -d                   # start all services detached\ndocker compose up -d --build           # rebuild images before starting\ndocker compose down                    # stop and remove containers\ndocker compose down -v                 # also remove volumes (DESTROYS DATA)\n\n# Monitoring\ndocker compose ps                      # list services\ndocker compose logs -f api             # follow logs for specific service\ndocker compose logs --tail 50          # last 50 lines all services\n\n# Interaction\ndocker compose exec api \u002Fbin\u002Fsh        # shell into running service\ndocker compose run --rm api npm test   # one-off command (new container)\ndocker compose restart api             # restart specific service\n\n# Validation\ndocker compose config                  # validate and view resolved config\n```\n\n**Minimal compose.yml example:**\n\n```yaml\nservices:\n  api:\n    build: .\n    ports:\n      - \"3000:3000\"\n    environment:\n      - DATABASE_URL=postgres:\u002F\u002Fuser:pass@db:5432\u002Fmydb\n    depends_on:\n      db:\n        condition: service_healthy\n\n  db:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: pass\n      POSTGRES_DB: mydb\n    volumes:\n      - pgdata:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U user\"]\n      interval: 10s\n      timeout: 5s\n      retries: 5\n\nvolumes:\n  pgdata:\n```\n\n### 5. Volumes and networks\n\n```bash\n# Volumes\ndocker volume ls                       # list volumes\ndocker volume create mydata            # create named volume\ndocker volume inspect mydata           # details (mount point, etc.)\ndocker volume rm mydata                # remove (fails if in use)\ndocker volume prune                    # remove unused volumes\n\n# Networks\ndocker network ls                      # list networks\ndocker network create mynet            # create bridge network\ndocker network inspect mynet           # details (connected containers)\ndocker network connect mynet NAME      # attach container to network\ndocker network disconnect mynet NAME   # detach container\ndocker network rm mynet                # remove network\ndocker network prune                   # remove unused networks\n```\n\n### 6. Disk usage and cleanup\n\nAlways start with a diagnostic before cleaning:\n\n```bash\n# Check what's using space\ndocker system df                       # summary\ndocker system df -v                    # detailed breakdown\n\n# Targeted cleanup (safe)\ndocker container prune                 # stopped containers\ndocker image prune                     # dangling images\ndocker volume prune                    # unused volumes\ndocker network prune                   # unused networks\n\n# Aggressive cleanup (confirm with user first!)\ndocker system prune                    # containers + images + networks\ndocker system prune -a                 # also unused images\ndocker system prune -a --volumes       # EVERYTHING — named volumes too\n```\n\n**Warning:** Never run `docker system prune -a --volumes` without confirming with the user. This removes named volumes with potentially important data.\n\n## Pitfalls\n\n| Problem | Cause | Fix |\n|---------|-------|-----|\n| Container exits immediately | Main process finished or crashed | Check `docker logs NAME`, try `docker run -it --entrypoint \u002Fbin\u002Fsh IMAGE` |\n| \"port is already allocated\" | Another process using that port | `docker ps` or `lsof -i :PORT` to find it |\n| \"no space left on device\" | Docker disk full | `docker system df` then targeted prune |\n| Can't connect to container | App binds to 127.0.0.1 inside container | App must bind to `0.0.0.0`, check `-p` mapping |\n| Permission denied on volume | UID\u002FGID mismatch host vs container | Use `--user $(id -u):$(id -g)` or fix permissions |\n| Compose services can't reach each other | Wrong network or service name | Services use service name as hostname, check `docker compose config` |\n| Build cache not working | Layer order wrong in Dockerfile | Put rarely-changing layers first (deps before source code) |\n| Image too large | No multi-stage build, no .dockerignore | Use multi-stage builds, add `.dockerignore` |\n\n## Verification\n\nAfter any Docker operation, verify the result:\n\n- **Container started?** → `docker ps` (check status is \"Up\")\n- **Logs clean?** → `docker logs --tail 20 NAME` (no errors)\n- **Port accessible?** → `curl -s http:\u002F\u002Flocalhost:PORT` or `docker port NAME`\n- **Image built?** → `docker images | grep TAG`\n- **Compose stack healthy?** → `docker compose ps` (all services \"running\" or \"healthy\")\n- **Disk freed?** → `docker system df` (compare before\u002Fafter)\n\n## Dockerfile Optimization Tips\n\nWhen reviewing or creating a Dockerfile, suggest these improvements:\n\n1. **Multi-stage builds** — separate build environment from runtime to reduce final image size\n2. **Layer ordering** — put dependencies before source code so changes don't invalidate cached layers\n3. **Combine RUN commands** — fewer layers, smaller image\n4. **Use .dockerignore** — exclude `node_modules`, `.git`, `__pycache__`, etc.\n5. **Pin base image versions** — `node:20-alpine` not `node:latest`\n6. **Run as non-root** — add `USER` instruction for security\n7. **Use slim\u002Falpine bases** — `python:3.12-slim` not `python:3.12`\n","# Docker Management\n\nManage Docker containers, images, volumes, networks, and Compose stacks using standard Docker CLI commands. No additional dependencies beyond Docker itself.\n\n## When to Use\n\n- Run, stop, restart, remove, or inspect containers\n- Build, pull, push, tag, or clean up Docker images\n- Work with Docker Compose (multi-service stacks)\n- Manage volumes or networks\n- Debug a crashing container or analyze logs\n- Check Docker disk usage or free up space\n- Review or optimize a Dockerfile\n\n## Prerequisites\n\n- Docker Engine installed and running\n- User added to the `docker` group (or use `sudo`)\n- Docker Compose v2 (included with modern Docker installations)\n\nQuick check:\n\n```bash\ndocker --version && docker compose version\n```\n\n## Quick Reference\n\n| Task | Command |\n|------|---------|\n| Run container (background) | `docker run -d --name NAME IMAGE` |\n| Stop + remove | `docker stop NAME && docker rm NAME` |\n| View logs (follow) | `docker logs --tail 50 -f NAME` |\n| Shell into container | `docker exec -it NAME \u002Fbin\u002Fsh` |\n| List all containers | `docker ps -a` |\n| Build image | `docker build -t TAG .` |\n| Compose up | `docker compose up -d` |\n| Compose down | `docker compose down` |\n| Disk usage | `docker system df` |\n| Cleanup dangling | `docker image prune && docker container prune` |\n\n## Procedure\n\n### 1. Identify the domain\n\nFigure out which area the request falls into:\n\n- **Container lifecycle** → run, stop, start, restart, rm, pause\u002Funpause\n- **Container interaction** → exec, cp, logs, inspect, stats\n- **Image management** → build, pull, push, tag, rmi, save\u002Fload\n- **Docker Compose** → up, down, ps, logs, exec, build, config\n- **Volumes & networks** → create, inspect, rm, prune, connect\n- **Troubleshooting** → log analysis, exit codes, resource issues\n\n### 2. Container operations\n\n**Run a new container:**\n\n```bash\n# Detached service with port mapping\ndocker run -d --name web -p 8080:80 nginx\n\n# With environment variables\ndocker run -d -e POSTGRES_PASSWORD=secret -e POSTGRES_DB=mydb --name db postgres:16\n\n# With persistent data (named volume)\ndocker run -d -v pgdata:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata --name db postgres:16\n\n# For development (bind mount source code)\ndocker run -d -v $(pwd)\u002Fsrc:\u002Fapp\u002Fsrc -p 3000:3000 --name dev my-app\n\n# Interactive debugging (auto-remove on exit)\ndocker run -it --rm ubuntu:22.04 \u002Fbin\u002Fbash\n\n# With resource limits and restart policy\ndocker run -d --memory=512m --cpus=1.5 --restart=unless-stopped --name app my-app\n```\n\nKey flags: `-d` detached, `-it` interactive+tty, `--rm` auto-remove, `-p` port (host:container), `-e` env var, `-v` volume, `--name` name, `--restart` restart policy.\n\n**Manage running containers:**\n\n```bash\ndocker ps                        # running containers\ndocker ps -a                     # all (including stopped)\ndocker stop NAME                 # graceful stop\ndocker start NAME                # start stopped container\ndocker restart NAME              # stop + start\ndocker rm NAME                   # remove stopped container\ndocker rm -f NAME                # force remove running container\ndocker container prune           # remove ALL stopped containers\n```\n\n**Interact with containers:**\n\n```bash\ndocker exec -it NAME \u002Fbin\u002Fsh          # shell access (use \u002Fbin\u002Fbash if available)\ndocker exec NAME env                   # view environment variables\ndocker exec -u root NAME apt update    # run as specific user\ndocker logs --tail 100 -f NAME         # follow last 100 lines\ndocker logs --since 2h NAME            # logs from last 2 hours\ndocker cp NAME:\u002Fpath\u002Ffile .\u002Flocal      # copy file from container\ndocker cp .\u002Ffile NAME:\u002Fpath\u002F           # copy file to container\ndocker inspect NAME                    # full container details (JSON)\ndocker stats --no-stream               # resource usage snapshot\ndocker top NAME                        # running processes\n```\n\n### 3. Image management\n\n```bash\n# Build\ndocker build -t my-app:latest .\ndocker build -t my-app:prod -f Dockerfile.prod .\ndocker build --no-cache -t my-app .              # clean rebuild\nDOCKER_BUILDKIT=1 docker build -t my-app .       # faster with BuildKit\n\n# Pull and push\ndocker pull node:20-alpine\ndocker login ghcr.io\ndocker tag my-app:latest registry\u002Fmy-app:v1.0\ndocker push registry\u002Fmy-app:v1.0\n\n# Inspect\ndocker images                          # list local images\ndocker history IMAGE                   # see layers\ndocker inspect IMAGE                   # full details\n\n# Cleanup\ndocker image prune                     # remove dangling (untagged) images\ndocker image prune -a                  # remove ALL unused images (careful!)\ndocker image prune -a --filter \"until=168h\"   # unused images older than 7 days\n```\n\n### 4. Docker Compose\n\n```bash\n# Start\u002Fstop\ndocker compose up -d                   # start all services detached\ndocker compose up -d --build           # rebuild images before starting\ndocker compose down                    # stop and remove containers\ndocker compose down -v                 # also remove volumes (DESTROYS DATA)\n\n# Monitoring\ndocker compose ps                      # list services\ndocker compose logs -f api             # follow logs for specific service\ndocker compose logs --tail 50          # last 50 lines all services\n\n# Interaction\ndocker compose exec api \u002Fbin\u002Fsh        # shell into running service\ndocker compose run --rm api npm test   # one-off command (new container)\ndocker compose restart api             # restart specific service\n\n# Validation\ndocker compose config                  # validate and view resolved config\n```\n\n**Minimal compose.yml example:**\n\n```yaml\nservices:\n  api:\n    build: .\n    ports:\n      - \"3000:3000\"\n    environment:\n      - DATABASE_URL=postgres:\u002F\u002Fuser:pass@db:5432\u002Fmydb\n    depends_on:\n      db:\n        condition: service_healthy\n\n  db:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: pass\n      POSTGRES_DB: mydb\n    volumes:\n      - pgdata:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U user\"]\n      interval: 10s\n      timeout: 5s\n      retries: 5\n\nvolumes:\n  pgdata:\n```\n\n### 5. Volumes and networks\n\n```bash\n# Volumes\ndocker volume ls                       # list volumes\ndocker volume create mydata            # create named volume\ndocker volume inspect mydata           # details (mount point, etc.)\ndocker volume rm mydata                # remove (fails if in use)\ndocker volume prune                    # remove unused volumes\n\n# Networks\ndocker network ls                      # list networks\ndocker network create mynet            # create bridge network\ndocker network inspect mynet           # details (connected containers)\ndocker network connect mynet NAME      # attach container to network\ndocker network disconnect mynet NAME   # detach container\ndocker network rm mynet                # remove network\ndocker network prune                   # remove unused networks\n```\n\n### 6. Disk usage and cleanup\n\nAlways start with a diagnostic before cleaning:\n\n```bash\n# Check what's using space\ndocker system df                       # summary\ndocker system df -v                    # detailed breakdown\n\n# Targeted cleanup (safe)\ndocker container prune                 # stopped containers\ndocker image prune                     # dangling images\ndocker volume prune                    # unused volumes\ndocker network prune                   # unused networks\n\n# Aggressive cleanup (confirm with user first!)\ndocker system prune                    # containers + images + networks\ndocker system prune -a                 # also unused images\ndocker system prune -a --volumes       # EVERYTHING — named volumes too\n```\n\n**Warning:** Never run `docker system prune -a --volumes` without confirming with the user. This removes named volumes with potentially important data.\n\n## Pitfalls\n\n| Problem | Cause | Fix |\n|---------|-------|-----|\n| Container exits immediately | Main process finished or crashed | Check `docker logs NAME`, try `docker run -it --entrypoint \u002Fbin\u002Fsh IMAGE` |\n| \"port is already allocated\" | Another process using that port | `docker ps` or `lsof -i :PORT` to find it |\n| \"no space left on device\" | Docker disk full | `docker system df` then targeted prune |\n| Can't connect to container | App binds to 127.0.0.1 inside container | App must bind to `0.0.0.0`, check `-p` mapping |\n| Permission denied on volume | UID\u002FGID mismatch host vs container | Use `--user $(id -u):$(id -g)` or fix permissions |\n| Compose services can't reach each other | Wrong network or service name | Services use service name as hostname, check `docker compose config` |\n| Build cache not working | Layer order wrong in Dockerfile | Put rarely-changing layers first (deps before source code) |\n| Image too large | No multi-stage build, no .dockerignore | Use multi-stage builds, add `.dockerignore` |\n\n## Verification\n\nAfter any Docker operation, verify the result:\n\n- **Container started?** → `docker ps` (check status is \"Up\")\n- **Logs clean?** → `docker logs --tail 20 NAME` (no errors)\n- **Port accessible?** → `curl -s http:\u002F\u002Flocalhost:PORT` or `docker port NAME`\n- **Image built?** → `docker images | grep TAG`\n- **Compose stack healthy?** → `docker compose ps` (all services \"running\" or \"healthy\")\n- **Disk freed?** → `docker system df` (compare before\u002Fafter)\n\n## Dockerfile Optimization Tips\n\nWhen reviewing or creating a Dockerfile, suggest these improvements:\n\n1. **Multi-stage builds** — separate build environment from runtime to reduce final image size\n2. **Layer ordering** — put dependencies before source code so changes don't invalidate cached layers\n3. **Combine RUN commands** — fewer layers, smaller image\n4. **Use .dockerignore** — exclude `node_modules`, `.git`, `__pycache__`, etc.\n5. **Pin base image versions** — `node:20-alpine` not `node:latest`\n6. **Run as non-root** — add `USER` instruction for security\n7. **Use slim\u002Falpine bases** — `python:3.12-slim` not `python:3.12`\n",{"name":5,"author":45,"license":14,"version":46,"metadata":47,"description":7},"sprmn24","1.0.0",{"hermes":48},{"tags":49,"category":28,"requires_toolsets":51},[25,36,28,26,38,39,50,34,29],"volumes",[27],"main","93bbc269671fbb340afa15b36a8766f15dc30df2","hermes-agent\u002Foptional-skills\u002Fdevops\u002Fdocker-management","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-27 02:51:28",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill docker-management",{"tool":64,"command":65},"bunx","bunx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill docker-management",{"tool":67,"command":68},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill docker-management","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes-agent\u002Foptional-skills\u002Fdevops\u002Fdocker-management\u002FSKILL.md",true,[],[73,114,141,157,176,197],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":93,"publishedAt":40},"01M71G6TJ2RAQ1J0PV3K6D9GQA","writing-plans","Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[79,82,85,90],{"categoryNo":80,"categoryName":81,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":83,"categoryName":84,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000036","内容创作者",[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","superpowers","paths","test-driven-development","you","for","test-driven","when",{"skillNo":115,"name":109,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":127,"publishedAt":40},"01M71G6R81013R3T7W5VP56GCB","Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[119,122,125,126],{"categoryNo":120,"categoryName":121,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":123,"categoryName":124,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":83,"categoryName":84,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},[128,129,102,130,131,94,29,103,132,106,107,133,134,135,136,137,138,139,140,113],"test","test driven development","driven","testing","refactor","red-green-refactor","cycle","green","systematic","bugfix","implementing","systematic-debugging","test-first",{"skillNo":142,"name":139,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":40},"01M71G6N0Y546JZEDF25E2PMCE","Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[146],{"categoryNo":123,"categoryName":124,"taxonomyType":20,"taxonomyTypeDesc":21},[148,29,136,94,128,102,106,149,107,150,151,152,96,153,109,154,112,155,156,113],"systematic debugging","use","bug","root-cause","problem-solving","problem","fixes","phase","root cause",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":169,"publishedAt":40},"01M71G6J0DXEGY48GH4KVW2SJH","subagent-driven-development","Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[163,164,165,166],{"categoryNo":83,"categoryName":84,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":167,"categoryName":168,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000037","律师与法务",[102,170,106,130,94,98,99,171,101,103,172,105,173,174,107,96,175,109,112,113],"subagent driven development","code quality","delegation","parallel","delegate","fresh",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":184,"publishedAt":40},"01M71G6EFFBQX6634E6XHB09Y1","requesting-code-review","Pre-commit verification pipeline — static security scan, baseline-aware quality gates, independent reviewer subagent, and auto-fix loop. Use after code changes and before committing, pushing, or opening a PR.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[182,183],{"categoryNo":120,"categoryName":121,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[185,98,103,186,94,187,105,188,189,190,191,106,192,193,194,107,109,195,196,112],"code review","requesting code review","commit","verification","security scan","pipeline","loop","reviewer","fix","auto","static","auto-fix",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":203,"publishedAt":40},"01M71G6CM8ANSWVFXCN9AAD58Y","plan","Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes\u002Fplans\u002F` directory, and do not execute the work.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[199,94,204,99,102,104,205,106,206,207,208,209,210,211,96,212,213,214,111,215],"directory","markdown","workspace","work","write","implementation","do","active","plan mode","inspect","mode","plan-mode"]