Professional AI Dev Setup v2
October 06, 2026- #workshop
- #masters.dev
https://master.dev/workshops/pro-ai-v2/
https://stevekinney.com/courses/ai-development-setup
gh repo clone stevekinney/front-desk
Harness Agnostic by Default
- Skills are an open standard, Codex hooks are a direct port of CLaude subagents. Its subagents are slightly different, but roughly the same.
For people who aren't building agentic products but are using Claude Code, every six months, delete your CLAUDE.md file, delete your skills, and delete your hooks. -- Boris Cherny, creator of Claude Code, at Y Combinator Startup School in 2026.
The small system you understand almost always beats seven plugins and hope.
Code doesn't cost tokens, this happens in the harness.
Choosing the Right Model
- Everyday execution: Sol or Sonnet
- Difficult and sustained work, or ambigious investigation: Astra, Opus, Fable, or Kimi K3
- Bounded, high-volume transformation: Luna or Haiku. The providers position these models around efficient high-volume work.
- Mixed media workflows: Gemini
https://stevekinney.com/experiments/model-calculator
Cost and Caching
- You pay for input tokens
- You pay for output tokens
Cache Rules
- The cache is model bound. Switch models is a new cache.
- It used to be universally true that changing effort levels invalidated the cache.
- With Fable 5.1, Opus 5.5, and Sonnet 5.5, you can change effort without invalidating it, on an API key or Claude subscription.
- It does not hold on Amazon Bedrock, Google Cloud's Agent Platform, or a Claude apps gateway.
- Nor with
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASset, of with a HIPAA configuration. - 1 hour typically, start fresh with model choice, end with summary
Leveraging Existing Research
- Fork a conversation: do the stable research up front, then fork into the tasks
- Durable research: dedicate a session to research and capture it in an external resource, which can be as simple as as text file.
- I use Obsidian as a second brain. It let's me audit, edit, and tweak the research with my own insights. -- Steve
- use tmp/markdowns in repo ignored on a branch can help
https://stevekinney.com/experiments/compact-or-clear
https://claude.com/code-with-claude/session/sf-getting-more-out-of-the-claude-platform
What reloads and what doesn't
- After /clear or /compact, it rereads AGENTS.md, CLAUDE.md
Skills
A skill says how to perform a reocurring task. It should be narrow.
Lazy-loaded instructions
- And agent can, and should, decide to read up on a skill and add it to it's context
- Supporting detail loads only when needed.
Anatomy
- Name and description: the discovery surface
- Main body: the procedure after activation
- Reference files: read when needed
- Scripts: for deterministic work
- Assets: templates
Too many skills is overhead.
https://claudemarketplaces.com/skills/mattpocock/skills/grill-me
Claude Code Frontmatter
- context: fork, the body becomes a fresh subagents task.
- agent: type, gives the fork that agent's prompt, tools, and model. Does nothing without context: fork.
- allowed-tools: pre-approves tools for invoking
- hooks: registered when the skill is invoked
- background: whether a fork runs in the background. Background edits land outside /rewind checkpoints
Configuring Invocation
- disable-model-invocation: true, only a slash command invokes
- Such a skill also can't be preloaded into subagents or used as a scheduled task.
- Codex equivalent in agents/openai.yaml: policy.allow_implicit_implication: false
Anti-patterns
- Two or more schools with near-duplicate descriptions
- Buring critical exclusions or reasons to call a skill
- Saying 'read all the references'. It will listen
https://stevekinney.com/courses/ai-development-setup/skill-configuration
https://stevekinney.com/experiments/skill-editor
Claude skill doctor.
Aim for five to seven well-scoped agents.
Git Trick
.git/info/exclude: files only on your machine, not committed, like private .gitignore
Model / Secret Options
https://code.claude.com/docs/en/model-config#opusplan-model-setting
Workflows
consider:
- you want to cover a large surface in parallel
- you want adversarial checks before you accept a finding
skip it when:
- nothing can run in parallel
- the plan may change mid-run
- you need human approval mid-way
- the important gates (merges, external writes) belong to the cordinator
models and cost
- Each agent's model is picked in order: the model on the agent() call, the definition's model:, CLAUDE_CODE_SUBAGENT_MODEL, your session's model
- Leave the first and third unset, and an opus session runs every agent on opus
- field reports put runs at hundreds of thousands to millions of tokens
Goals and Loops
/loop when the value is in noticing a change, like a deploy finishing. Use /goal when the value is in moving toward something you can check.
Evaluator
A separate model looks at what the agent did and decide whether it did the thing.
- the more clear you make 'did the thing' the better the results
- it can assess surfaced evidence.
- Codex ships a command with the same name, and it is not the same pattern: the model doing the work audits itself
Ralph Loop vs. Goal
| Property | /goal | /External loop |
|---|---|---|
| Context | Continuing thread | Fresh context, each attempt |
| Judge | A separate model (Claude Code) or the worker tool (Codex) | A derterministic script verifies it |
| Governor | Budget and/or stated condition | Deterministic part of the script |
| Durable state | The continuing thread | Git, files, logs |