agentsclimarketplace

Write code

Skill urmzd/dotfiles/dot_agents/skills/write-code

Operational tech-stack picks and coding patterns: error handling per language, commit conventions, interface design (Go SDKs), workspace layout, junior-friendly bias. Use when writing or reviewing implementation code and you need a concrete answer for "what tool, pattern, or idiom." Do NOT use for design-tradeoff reasoning (use review-design) or the quality framework (use assess-quality). Personal Nix / chezmoi / Powerlevel10k / Neovim machine specifics live in write-code-portfolio; use that for portfolio-only setup.From its SKILL.md

Install
npx -y skills add urmzd/dotfiles --skill write-code

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.

SKILL.md

4.7 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Development Practices

Layering: Operational picks that satisfy review-design (principles) and assess-quality (foundational framework). Use this skill when you need a concrete answer for "what tool/pattern/idiom"; use review-design when reasoning about tradeoffs; use assess-quality for the underlying "why."

Development Philosophy

  • "How easy is this for a junior to understand, develop, and expand on?"
  • Self-documenting code > comments
  • Small, focused interfaces > god objects
  • Convention over configuration
  • Explicit > implicit

Tech Stack

CategoryTools
LanguagesRust, Go, TypeScript/Node 22, Python 3.13, Lua 5.4, Java 21, Haskell
Package Managerscargo, uv (Python), npm/yarn/pnpm, luarocks
Formatters/Lintersbiome (JS/TS), stylua (Lua), clippy (Rust), golangci-lint (Go), ruff (Python)
Observabilityopentelemetry (tracing/metrics/logs), structlog + stdlib logging (Python; loguru for scripts only)
EditorNeovim (HEAD) with LSP: ty, ts_ls, lua_ls, gopls, rust_analyzer, jsonls, yamlls, bashls, jdtls
ShellZsh + Oh My Zsh + Powerlevel10k
Terminal Multiplexertmux (vi-mode, vim-tmux-navigator)
DevOpsTerraform, kubectl, Helm, k9s, AWS CLI 2
Dev EnvironmentPer-language version manager + direnv + a dotfile manager (my setup: Nix Flakes + chezmoi -- see write-code-portfolio)

Commit Style

Angular Conventional Commits (validated by CI lint; ship skill handles AI-assisted authoring):

type(scope): lowercase imperative description (max 72 chars)

Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert, bump

Rules:

  • Imperative mood ("add", not "added"), no trailing period
  • Body explains why, not what
  • One logical change per commit, every file in exactly one commit
  • Order: infrastructure/config → core library → features → tests → docs
  • Footer: BREAKING CHANGE:, Closes #N, Fixes #N, Refs #N

Interface Design (Go SDKs)

  • Sealed interfaces: unexported marker methods (isMessage(), isDelta())
  • Functional options: New(WithX(...), WithY(...))
  • Provider pattern: Provider interface → provider/{name}/ adapters
  • Channel-based streaming: ChatStream() (<-chan Delta, error)

Error Handling

LanguageApproach
Rustthiserror (libraries), anyhow (CLI/apps), .context(), no unsafe
Gostructured errors, errors.Is()/errors.As(), sentinel errors, IsTransient() helper
Pythonstandard exceptions, pytest assertions

Testing

For comprehensive testing guidance (test types, fixtures, mocks, CI strategy), see the test-code skill.

LanguageFrameworkPatternCI Command
Rustcargo test#[cfg(test)] + tests/ integrationcargo test --workspace
Gotesting_test.go, table-drivengo test ./...
Pythonpytesttests/test_*.py, class-baseduv run pytest

Workspace Organization

  • Rust: crates/ with core → impl → cli
  • Go: cmd/ for binaries, root or internal/ for packages
  • Python: src/ layout with hatchling

Coding Patterns

  • Convention over configuration placeholder comments (<project>) over complex templating
  • Composable toolsets combine reusable per-language toolsets (e.g. Nix flakes, devcontainers)
  • Machine polymorphism dotfile templates branch on host attributes (OS, role). See write-code-portfolio for the chezmoi-specific implementation.
  • Minimal package-manager footprint prefer reproducible/pinned installs; reach for OS package managers (Homebrew, apt) only for OS-specific tools
  • Subprocess safety editors and TUIs should detect non-interactive environments and disable host integrations (e.g. clipboard)
  • Shell cold-start hygiene cache expensive completion setup; auto-discover fpath/plugins

My setup

For my personal portfolio specifics (Nix Flakes shells, chezmoi machine polymorphism, Powerlevel10k, Neovim), see the write-code-portfolio skill.

What ships with it

Read from the repository

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

Keep looking

Skills are one crate of 326,696. 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.