Chalk Labs
Need help deploying coding-bash?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/andresgongora-coding-bash
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/coding-bash
What's inside
- Skill name
coding-bash- Description
- Guides authored Bash script deliverables. Load when creating or editing Bash scripts, including extensionless executables. Skip for agent bash tool use, one-liners, shell debugging, or Bash that is not itself the deliverable.
- License
- MIT
- Instructions
- 124 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- README.md
- SKILL.md
- .editorconfig · template/
- .shellcheckrc · template/
- script.sh · template/
- snippets.sh · template/
SKILL.md (first lines)
New scripts follow these conventions. Existing scripts retain established local conventions; edit only requested surface unless migration is requested.
## File shape
- Shebang: `#!/usr/bin/env bash`.
- Line 2: `set -Eeuo pipefail` — line 3: `IFS=$'\n\t'`.
- Indent: 4 spaces (never tabs).
- Line width: 100 chars max.
- Use contiguous three-line decorator blocks immediately before section content:
- Section: `##` + 98 `=` chars → `##<TAB><ALL CAPS>` → the identical `=` separator.
- Sub-section: `##` + 98 `-` chars → `##<TAB><TITLE>` → the identical `-` separator.
- Keep the block itself free of blank lines. Put exactly one blank line immediately above its first separator and below its closing separator; this buffer is mandatory for top-level `=` blocks.
- Omit unused sections with their complete decorator block. Never omit the closing line or reuse one separator as two adjacent blocks' boundary.
- End the file with its final body or entry-point command, never a trailing separator.
## Names and scope
- **Locals** (inside functions): `snake_case`.
- **Globals** (script-wide): `SNAKE_CASE` — both mutable and `declare -r` constants.
- **Functions**: `camelCase`, always verb-first — `getData()`, `processInputFile()`, `isLedEnabled()`.
- **Contextual functions**: `context_subcontext_verbCamelCase()` — e.g. `led_red_enable()`, `audio_stream_getLevel()`.
- Verbose names over terse abbreviations: `processInputFile()` not `procFile()`; `input_file` not `f`.
- Always `declare -r` for immutable globals; `local` for every function-local variable.
## Functions
- Multi-line body: opening brace on declaration line, closing brace on own line.
- Single-expression body: one-liner permitted — `fn() { ...; }` — when entire body fits cleanly on one line without wrapping.
- One function per logical operation. Split when a function grows past easy reading — not at a line count, but when holding the whole thing in head becomes work.
- Core functions receive data via parameters — never read arg globals directly.
- `main()` is the exception: it owns arg globals and wires core functions together; keep it short.
- When `main` grows, extract the growing part into a named core function.
## Shell safety
- `[[ ]]` not `[ ]`; `$(...)` not backticks; `printf` not `echo` for formatted output.
- Expected nonzero statuses belong in `if`, `&&`, or `||`; `set -e` treats unguarded nonzero as fatal.
- Avoid `((count++))`; use `((count += 1))`.
- Always `die()` — never inline `echo ... >&2; exit 1`.
- When runtime external dependencies exist, define `requireCommand` inline in DEPENDENCY CHECKS — no `die`, no `SCRIPT_NAME`; bare error + exit.
- Classify each external binary as guaranteed by explicit target contract or runtime dependency. Guard every runtime dependency with `requireCommand`; shell builtins need no guard. No runtime dependencies: omit DEPENDENCY CHECKS and `requireCommand`.
- `trash` instead of `rm`/`rmdir` for destructive file operations.
## Strings, arrays, and input
- Preserve argument boundaries: `"$@"`, `"${array[@]}"`, `array+=("$value")`; never re-split with `for value in $string`.
- `IFS=$'\n\t'` is global. For line reads use `IFS= read -r`; for deliberate splitting, set a command-local `IFS`: `IFS=, read -r -a values <<< "$csv"`.
- Initialize arrays before use (`declare -a VALUES=()`). Under `set -u`, use `${VALUE:-}` for intentionally optional scalars.
## Comments
- **Standalone comments** (prose, docs, section notes, function headers): `##`.
- **Inline comments** (after a line of code): single `#` — e.g. `VERBOSE=false # mutable flag`.
- Never bare `#` for standalone comments — indistinguishable from commented-out code.
## Section order
1. Shebang + `set -Eeuo pipefail` + `IFS`.
2. DEPENDENCY CHECKS when runtime dependencies exist (`requireCommand` definition inline + one call per dependency).
3. GLOBALS (`declare -r` constants, necessary mutable globals).
4. UTILITIES (`die`, needed snippets).
5. CORE FUNCTIONS (one function per logical operation).
6. ARGUMENT PARSING (`printUsage`, `while [[ $# -gt 0 ]]; do case` when needed).
7. MAIN (`main()` glue function — reads parsed arg globals directly).
8. SCRIPT ENTRY POINT (bare `main` call, no arguments).
## Templates
| File | Purpose |
|---|---|
| `template/script.sh` | Canonical starter for new persistent Bash scripts. |
| `template/snippets.sh` | Opt-in helpers. Copy only blocks required by concrete script behavior. |
| `template/.shellcheckrc` | Optional configuration for a new dedicated script project. |
| `template/.editorconfig` | Optional editor defaults for a new dedicated script project. |
`TEMPLATE:` marks authoring instructions — never shipped documentation. Remove or replace every marked line and every example before validation. Do not copy speculative helpers into finished scripts.
## Workflow
1. New script: copy `template/script.sh`. Existing script: inspect its conventions and edit in place; do not rebuild or restyle it from template.
2. New script: remove or replace every `TEMPLATE:` line, example dependency/global/function; fill usage text.
3. Copy only needed blocks from `template/snippets.sh`; classify and guard runtime dependencies.
4. For a new dedicated script project, offer `.shellcheckrc` and `.editorconfig`; never replace or merge existing root configuration without explicit scope.
5. Write CORE FUNCTIONS — one function per operation, verbose names, params not globals.
6. Wire ARGUMENT PARSING and validate required args with `die`.
7. Write `main()` — short, glue only.
8. `bash -n "$script_path"` — syntax check.
9. If available, `shellcheck "$script_path"` — fix code; suppress only documented proven false positives. If unavailable, report validation gap; do not install it unasked.
## Linting
- Run `bash -n "$script_path"`; run `shellcheck "$script_path"` and `shfmt -d "$script_path"` when available.
- Missing tool: skip; never install.
## Boundaries
- Not for: NixOS config, Python/other languages, debugging running processes, editor/LSP wiring.
- Not for: installing shellcheck or shfmt.
- Stop and ask when requested deliverable is no longer a Bash script (for example, it requires compiled application code or project-wide build-system design).
## Verification
- New script:
- [ ] Shebang `#!/usr/bin/env bash`; `set -Eeuo pipefail`; `IFS=$'\n\t'` on first 3 lines.
- [ ] All globals `SNAKE_CASE`; all locals `snake_case`; all functions `camelCase` verb-first.
- [ ] Verbose names — no single-letter vars, no abbreviated function names.
- [ ] `die()` defined and used for error exits outside documented `requireCommand` exception.
- [ ] Runtime dependencies: `requireCommand` defined inline in DEPENDENCY CHECKS; every dependency guarded unless target contract guarantees it.
- [ ] No runtime dependencies: no DEPENDENCY CHECKS or unused `requireCommand`.
- [ ] Core functions take parameters, not arg globals; `main()` is short.
- [ ] No unused utility, global, or example; locals use `local`; immutable globals use `declare -r`.
- [ ] No unquoted `$variable` expansions; `[[ ]]`; `$(...)`; `printf`; `trash` instead of `rm`/`rmdir`.
- [ ] Standalone comments use `##`; inline comments use single `#`.
- Existing script:
- [ ] Touched surface preserves established local naming, structure, and comment conventions.
- [ ] No unrelated style migration or template boilerplate.
- Decorators:
- [ ] Every section uses one contiguous separator → header → identical separator block; unused sections are omitted.
- [ ] Section headers use `##<TAB><ALL CAPS>`; sub-section titles use `##<TAB><TITLE>`.From andresgongora/agent-config, MIT.
More from andresgongora/agent-config
- 0.570score
minion-delegation
andresgongora
Pick and drive bounded minion workers: locate code, edit, lint, review, cleanup, or execute a frozen multi-step mission.
SkillAFreshness: AClaude Code +9 - 0.570score
nixos
andresgongora
Ready-to-run NixOS commands: missing CLI tool, prebuilt binary failing with missing shared library or dynamic linker, package/option lookup, non-activating…
SkillAFreshness: AClaude Code +9 - 0.567score
docs-write
andresgongora
Manage durable `.agent/` docs: admit, place, update, prune, and validate notes, costly handoffs or bug logs, and plan metadata.
SkillAFreshness: AClaude Code +9 - 0.567score
artifact-vestige-hunt
andresgongora
Finds vestigial residue in code, docs, and agent instructions.
SkillAFreshness: AClaude Code +9 - 0.567score
artifact-markdown
andresgongora
Validates Markdown formatting and frontmatter against nearest repository config.
SkillAFreshness: AClaude Code +9 - 0.565score
agent-author
andresgongora
Workflow for creating, editing, or auditing agent-ecosystem artifacts: skills (SKILL.md), subagents and primary agents (agents/*.md), slash commands…
SkillAFreshness: AClaude Code +9 - 0.565score
minion-master
andresgongora
Prepare and dispatch the `minion-master` subagent for one frozen, bounded repository mission.
SkillAFreshness: AClaude Code +9 - 0.561score
planning
andresgongora
Plans non-trivial work interactively.
SkillAFreshness: AClaude Code +9 - 0.556score
tool-bash
andresgongora
Bash command-execution preflight.
SkillAFreshness: AClaude Code +9 - 0.526score
docs
andresgongora
Discovers existing repository knowledge before exploration.
SkillBFreshness: BClaude Code +9 - 0.526score
file-tidy
andresgongora
Maintains file collections from metadata only.
SkillBFreshness: BClaude Code +9 - 0.526score
git
andresgongora
Guides safe Git state changes.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/andresgongora/agent-config
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from andresgongora
- 0.570score
nixos
andresgongora
Ready-to-run NixOS commands: missing CLI tool, prebuilt binary failing with missing shared library or dynamic linker, package/option lookup, non-activating…
SkillAFreshness: AClaude Code +9 - 0.570score
minion-delegation
andresgongora
Pick and drive bounded minion workers: locate code, edit, lint, review, cleanup, or execute a frozen multi-step mission.
SkillAFreshness: AClaude Code +9 - 0.567score
docs-write
andresgongora
Manage durable `.agent/` docs: admit, place, update, prune, and validate notes, costly handoffs or bug logs, and plan metadata.
SkillAFreshness: AClaude Code +9 - 0.567score
artifact-vestige-hunt
andresgongora
Finds vestigial residue in code, docs, and agent instructions.
SkillAFreshness: AClaude Code +9 - 0.567score
artifact-markdown
andresgongora
Validates Markdown formatting and frontmatter against nearest repository config.
SkillAFreshness: AClaude Code +9 - 0.565score
agent-author
andresgongora
Workflow for creating, editing, or auditing agent-ecosystem artifacts: skills (SKILL.md), subagents and primary agents (agents/*.md), slash commands…
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get coding-bash running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
coding-bash skill. Agent Mart. https://agentmart.dev/skills/andresgongora-coding-bash (last updated 2026-10-24)