#8455: feat: add thinking/model config to skills.entries
agents
stale
Cluster:
Skill Enhancements and Fixes
## Summary
Adds `thinking` and `model` fields to `skills.entries.<skill>` config, allowing per-skill overrides for thinking level and model selection (similar to how cron jobs work).
## Changes
- **`src/config/types.skills.ts`** — Added `thinking` and `model` to `SkillConfig` type
- **`src/config/zod-schema.ts`** — Added validation for new fields in skills.entries schema
- **`src/agents/skills/types.ts`** — Added `thinking` and `model` to `SkillCommandSpec`
- **`src/agents/skills/workspace.ts`** — Lookup skill config and pass thinking/model to command spec
- **`src/auto-reply/reply/get-reply-inline-actions.ts`** — Apply thinking/model as directives when skill command invoked
## Example Config
```json
{
"skills": {
"entries": {
"radarr": {
"enabled": true,
"thinking": "medium",
"model": "anthropic/claude-sonnet-4-5"
}
}
}
}
```
When a user runs `/radarr <command>`, it uses `medium` thinking and Claude Sonnet instead of session defaults.
## Testing
- `pnpm build` ✅
- `pnpm format` ✅
- Manual verification of config loading and directive application
Closes #8441
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR adds per-skill `thinking` and `model` overrides under `skills.entries.<skill>` by extending the config types + Zod schema, plumbing those fields into `SkillCommandSpec` during workspace command spec generation, and applying them as inline directives when a skill command is invoked.
The approach fits the existing directive pipeline by reusing the same `InlineDirectives` fields that are normally populated via chat directives (e.g. `/model`, `/thinking`). It also broadens directive parsing to accept both `/directive` and `.directive` prefixes.
Notable risk areas are precedence between user-provided directives vs skill-level defaults, and the widened regex matching (`[/.]...`) which can increase false positives in normal prose.
<h3>Confidence Score: 3/5</h3>
- This PR is likely safe to merge but includes behavior changes that could surprise users in chat directive parsing and precedence.
- Core changes are small and well-contained (types/schema + passing fields through), but two behavior shifts stand out: skill config overrides currently take precedence over explicit user directives during skill invocation, and directive regexes now match dot-prefixed tokens which can cause accidental directive activation/stripping in normal text. These are user-facing behavior changes rather than build-breaking issues.
- src/auto-reply/reply/get-reply-inline-actions.ts, src/auto-reply/model.ts, src/auto-reply/reply/directives.ts, src/auto-reply/reply/exec/directive.ts
<!-- greptile_other_comments_section -->
<!-- /greptile_comment -->
Most Similar PRs
#6730: feat: Make OpenAI Codex CLI models usable - reasoning effort directive
by levineam · 2026-02-02
77.4%
#15115: fix: pre-load skill docs in cron sessions to prevent hallucinated syn…
by joaolcorreia · 2026-02-13
77.4%
#23749: fix some issues
by tronpis · 2026-02-22
77.1%
#12076: fix(skills): recursive directory filtering to actually exclude venv...
by xiaoyaner0201 · 2026-02-08
76.3%
#7251: feat(skills): Context-aware dynamic skill loading [AI-assisted]
by cheenu1092-oss · 2026-02-02
76.0%
#10016: fix: prevent FD exhaustion from skill watcher scanning artifact trees
by oldeucryptoboi · 2026-02-06
75.6%
#16899: feat(config): per-agent and per-model thinking defaults
by jh280722 · 2026-02-15
75.3%
#5273: fix: skill frontmatter fixes + description improvements (35 skills)
by Terwox · 2026-01-31
74.7%
#8873: fix: document skill loading locations in system prompt
by ytfh44 · 2026-02-04
74.1%
#21298: fix(config): extend model input schema for video/audio modalities
by Alfa-ai-ccvs-tech · 2026-02-19
74.0%