My development setup for working with coding agents across the terminal, editor, and shell.
It brings together shared instructions, reusable skills, specialized agent roles, client configuration for Codex, Claude Code, and Grok, plus the shell and tool settings that support the workflow. Use the repository as a starting point: adopt the pieces that fit how you work and change the rest to suit your machine and preferences.
- Shared working principles across Codex, Claude Code, and Grok
- Specialized explorer, implementer, reviewer, and council agent roles
- Reusable skills for planning, implementation, review, documentation, and handoff
- Hooks that keep agent behavior consistent across a coding session
- Fish as the primary shell, with shared daily behavior mirrored into Zsh
- Terminal and editor configuration for a keyboard-driven workflow
- Small local utilities for project checks and agent-assisted development
| If you want to adapt… | Start with |
|---|---|
| The overall agent workflow | AGENTS.md and .codex/AGENTS.md |
| Codex | .codex/config.toml, agents, and hooks |
| Claude Code | .claude/settings.json and agents |
| Grok | .grok/config.toml and hooks |
| Reusable agent skills | .skills-mgr/skills/ |
| Fish | .config/fish/config.fish |
| Zsh | .zshrc and .zsh/fish-mirror.zsh |
| Bash | .bashrc |
| Editors and terminal tools | .config/ |
The CONTEXT-*.md files are maps for the less obvious parts of the setup. They
explain which files own agent instructions, hooks, lifecycle behavior, and shared
shell behavior.
Start with the instruction files before copying client settings. They define how agents are expected to explore a repository, make changes, validate their work, and communicate results.
The agent definitions divide work by responsibility:
- Explorers investigate ownership, behavior, and change impact.
- Implementers make focused changes after the scope is settled.
- Reviewers inspect correctness without owning the implementation.
- Council members provide independent judgment for genuinely ambiguous decisions.
Skills under .skills-mgr/skills/ provide task-specific
workflows that can be shared by multiple agent clients. Begin with only the roles
and skills you need; the setup is intentionally modular.
Before using the client configurations, review their models, permissions, enabled features, hooks, plugins, and external integrations. Some settings assume broad filesystem and command access because they are designed for a trusted local development environment.
Only shared skills under .skills-mgr/skills/ and Codex
skills directly under .codex/skills/ are listed below. “Model
visible” means the model can select the skill itself when its condition is met;
No skills are available only through an explicit workflow.
| Name | Purpose | model visible | condition |
|---|---|---|---|
assess-change-impact |
Map callers affected by a shared change | Yes | Always |
build-code-skeleton |
Create an initial compile-safe project skeleton | Yes | Always |
codebase-review |
Review the whole working tree | No | Always |
council |
Gather independent agent judgments | Yes | Always |
deliver-vertical-slice |
Deliver an approved change end to end | Yes | Always |
deslop |
Reduce production code while preserving behavior | No | Always |
dump-last-response |
Save the preceding assistant response | No | Always |
final-review |
Review a completed delivery independently | Yes | Always |
go-json-v2 |
Apply Go's encoding/json/v2 APIs |
Yes | Go project |
go-microoptimizations |
Optimize measured Go hot paths | No | Go project |
golang-best-practices |
Apply modern Go practices | Yes | Go project |
handoff |
Prepare a compact handoff for another agent | No | Always |
human-flavoured-writing |
Write natural, human-sounding project copy | No | Always |
js-ts-best-practices |
Apply JavaScript and TypeScript practices | Yes | JavaScript or TypeScript project |
juststore-rendering-optimizer |
Reduce React rerenders with juststore | Yes | JavaScript or TypeScript project with juststore |
new-project |
Run the new-project workflow | Yes | Always |
orchestrated-workflow |
Coordinate a change through Codex agents | No | Always |
postgres-17-18-features |
Apply PostgreSQL 17 and 18 features | Yes | PostgreSQL project |
read-codex-session |
Inspect local Codex session transcripts | No | Always |
session-usage |
Report current Codex token usage | No | Always |
shadowtree |
Run and author Shadowtree recipes | Yes | Always |
user-experience |
Improve user-facing workflow behavior | Yes | Always |
using-pjdoc |
Validate indexed project documentation | Yes | Always |
writing-readme |
Write or improve repository READMEs | Yes | Always |
Fish is the main shell configuration. Zsh loads a native port of the daily Fish behavior, while Bash has a smaller independent setup.
Do not replace your existing dotfiles wholesale. Compare each file with your current configuration and merge the parts you want. In particular, check:
- commands and plugins that may not be installed on your machine;
- Homebrew and other platform-specific paths;
- terminal capabilities, key bindings, and clipboard commands;
- editor, pager, history, prompt, and completion preferences;
- environment variables and local directory assumptions.
Keeping your existing configuration beside this repository makes it easier to adopt one layer at a time and roll back anything that does not fit.
.
├── AGENTS.md # Working principles and repository guidance
├── .codex/ # Codex settings, agents, hooks, and skills
├── .claude/ # Claude Code settings and agents
├── .grok/ # Grok settings and Codex-hook adapters
├── .skills-mgr/skills/ # Reusable cross-client skills
├── .config/fish/ # Primary shell configuration
├── .zshrc # Zsh-specific configuration
├── .zsh/ # Shared behavior ported from Fish to Zsh
├── .bashrc # Bash-specific configuration
├── .config/ # Selected editor, terminal, and CLI settings
└── .local/bin/ # Small development utilities
Licensed under the MIT License. You are welcome to copy, modify, and adapt the setup for your own workflow.