plugins/dev-workflow/skills-pi/coding/SKILL.md
Implementation process discipline for all languages — surface assumptions, define verifiable success criteria, and ground work in project domain docs. Use when implementing features, writing functions/classes/modules, or adding code. Complements language-specific skills and includes test-first guidance when implementation is explicitly TDD.
npx skillsauth add alexei-led/claude-code-config codingInstall 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.
State assumptions. Do not pick an interpretation silently.
CONTEXT.mdCONTEXT-MAP.mddocs/adr/*/CONTEXT.md or */docs/adr/Transform the task into verifiable goals.
| Vague | Verifiable | | ---------------- | --------------------------------------------------- | | "Add validation" | Write invalid-input tests, then make them pass | | "Fix the bug" | Reproduce with a test or script, then make it pass | | "Refactor X" | Tests pass before and after, diff stays minimal |
For multi-step work, state a brief plan. Every step must include its own verification check; do not write unverified plan steps. In first responses to ambiguous feature work, every numbered plan item must include → verify:; a single final "run tests" step is not enough.
1. Read domain docs and ADRs → verify: list concepts/constraints found or say none exist
2. Define export behavior and privacy rules → verify: user confirms success criteria
3. Add CSV/JSON behavior tests → verify: targeted tests fail for missing behavior
4. Implement export path → verify: targeted tests pass and broader suite still passes
Use this when the user asks for TDD, test-first, or red-green-refactor.
Cycle:
RED: one behavior test fails
GREEN: minimal implementation passes
REFACTOR: simplify without changing behavior
Every changed line must trace to the request.
When done, check the diff:
CONTEXT.md vocabulary? Rename to match the domain language.tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).