Shell discipline
Canonical Anthropic Agent Skills for software engineering — TDD, code review, architecture, GitHub-issues PM, plus per-language conventions for Python, Go, Solidity, shell.
npx -y skills add swell-agents/coding-skills --skill shell-disciplineAssembled 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
Shell discipline — one command per call, no inline env vars, gh auth login.
SKILL.md
1.6 KB, as published. Nobody here has run it
Shell Commands
- One command per call — keep commands small, readable, and atomic. Don't chain with
&&,;, orcd dir && command. Use separate calls — firstcd, then the command. - No inline env vars — don't use
VAR=value command. Set env separately or use proper auth tools.
Git Auth
- Use
gh auth login/gh auth switchto switch GitHub accounts — never prefix withGH_TOKEN=....
Why
Each chained command is one opaque action to the permission layer; splitting them gives one auditable tool call per intent. Inline env vars hide configuration in the command line and leak secrets into shell history; explicit auth tools (gh auth login) keep credentials in the keyring where they belong.
Prerequisites
- A POSIX shell (bash or zsh).
- For the Git Auth rule:
ghCLI installed and authenticated.
Failure modes
gh auth loginfails or token expired. Re-rungh auth login -h github.cominteractively, thengh auth statusto verify. Don't paste the token into a shell command.- Account switch needed.
gh auth switch -u <user>. If that user's token is invalid, re-auth that account before switching. - Command needs elevated privileges. Set up the privilege out-of-band (sudoers entry, group membership) rather than prefixing the command with
sudoinline; an unattended agent shouldn't be entering passwords. - Shell aliases that hide what runs. Avoid invoking aliases in agent procedures; spell out the real command so it's auditable.