feat: add model routing and hands-on lab

This commit is contained in:
Marcos Paulo
2026-09-02 14:35:27 +00:00
parent ada9b3aa19
commit 9f879ed276
13 changed files with 542 additions and 9 deletions
+76
View File
@@ -305,6 +305,82 @@ Useful compositions:
- **Documentation with unstable facts:** `research` → writing → cited verification.
- **Interactive presentation:** `frontend-design``webapp-testing` → responsive evidence.
## Model and effort routing
Treat model tier and reasoning effort as separate controls:
| Work shape | Capability tier | Effort baseline |
| :--- | :--- | :--- |
| Formatting, lookup, narrow edit | Luna / Haiku / Flash-Lite | Low or minimal where supported |
| Normal implementation and tests | Terra / Sonnet / Flash | Medium |
| Architecture, orchestration, hard debugging | Sol / Opus / Pro | High |
For Claude Code, `/model opus`, `/model sonnet`, and `/model haiku` switch the
model alias; `opusplan` can use Opus while planning and Sonnet while executing.
Claude effort support depends on the active model. For OpenAI GPT-5.6,
`reasoning.effort` supports `none`, `low`, `medium`, `high`, `xhigh`, and `max`.
Gemini 3 uses model-specific `thinkingLevel` values, while Gemini 2.5 uses
`thinkingBudget`. Never assume one provider's control maps exactly to another.
Start with the lightest configuration that passes representative checks. Move
one knob at a time and compare quality, latency, and cost. See
[model-routing.md](references/model-routing.md) for official source links and
copy-ready provider examples.
## Installing the featured skills
The field-kit cards link to commit-pinned public sources. The presentation also
includes a copy-ready installation request that tells the coding agent to:
1. Detect the host's documented skill location.
2. Inspect downloaded instructions, scripts, hooks, and permissions first.
3. Show a source-to-destination plan and existing-file diffs.
4. Ask for approval before copying files.
5. Verify final paths, hashes, validation, and actual skill discovery.
Important exceptions: `ponytail-lite` is published as `AGENTS.md`, not a
conventional skill package; `token-saver` expects a separate RTK binary; and
`unlazy` includes optional hooks. The prompt does not install binaries or enable
hooks without separate approval. See [skill-sources.md](references/skill-sources.md)
for exact commits, package paths, and confidence notes.
## Hands-on lab
The presentation includes a dependency-free starter at
`hands-on/starter/`. It renders a small task board but intentionally omits the
All / Open / Done filter.
Run it from the repository root:
```bash
python3 -m http.server 4173
```
Open [http://localhost:4173/hands-on/starter/](http://localhost:4173/hands-on/starter/).
In a fresh coding-agent session, copy **Run A — Good prompt** from the
presentation. Record changed files, dependencies, checks, and evidence. Restore
the starter, then repeat with **Run B — Good prompt + skills**.
The skill-enabled prompt invokes only two working methods:
- `$ponytail-lite` keeps the implementation native and small;
- `$webapp-testing` verifies filters, URL state, history navigation,
accessibility state, empty state, and mobile layout.
The goal is not to prove that a longer prompt is better. Both prompts define
the same task contract. Run B adds reusable operating discipline without
repeating those skill instructions inside the prompt.
Compare:
| Signal | Useful question |
| :--- | :--- |
| Files changed | Did the agent stay inside `hands-on/starter/`? |
| Dependencies | Did it add a library where native APIs were enough? |
| Verification | Did it actually exercise URL reload and browser history? |
| Evidence | Did the final response name checks and results? |
| Complexity | Is the solution proportionate to three tasks and three filters? |
## Troubleshooting
| Symptom | Check | Fix |