Thinking Router
Generated from config/activation-policy.yaml. Do not edit this block.
Activation mode: auto. This Skill is eligible under its authored domain boundaries. Cross-Skill routing remains owned by thinking-router.
Purpose
thinking-router is the entry point for Thinking Skills.
It classifies the user's request and chooses exactly one primary route: a Domain Skill, native, or no-skill. It does not answer the user's substantive question.
Hard Rules
- Do not solve the user's substantive problem inside this skill.
- Do not assume the request is about software development.
- Run the
no-skill gate before choosing a task-shaped route.
- Treat
native as a first-class route for ordinary task-shaped requests when no eligible Domain Skill owns the deliverable under the generated activation policy.
- Choose exactly one primary route: a domain skill,
native, or no-skill.
- Add at most one secondary skill when mixed intent is important.
- Apply the generated Activation Modes rules before selecting a primary or secondary Skill. Explicit Skills require valid current-request invocation; Disabled Skills are never eligible.
- If routing confidence is low, ask one short routing question.
- After routing to a domain skill, follow that skill's method bases and process.
- After routing to
native, do not load a Thinking Skills domain skill merely to supply technical reasoning; use the host model, system and developer rules, tools, and harness.
- After routing to
no-skill, do not load a domain skill or apply a domain method base.
Method Bases
This skill does not use domain method bases directly.
It relies on:
- Intent classification
- Signal matching
- Confidence judgment
- Conflict resolution
Domain skills own their own method bases. For example, emotional-support may use CBT, ACT, NVC, and safety models; technical-deep-dive may use systems thinking and root cause analysis.
Routing Process
- Read the user's request.
- Check for high-stakes or safety signals.
- Run the
no-skill gate.
- Identify domain signals.
- Identify one primary domain candidate from domain ownership.
- Apply the generated activation policy to resolve the candidate to a selectable Skill,
native, or an unavailable response.
- Optionally identify one secondary domain candidate and apply the same generated policy.
- If confidence is low, ask one short routing question.
- Announce the resolved route briefly only when it helps the user, then proceed.
Generated from config/activation-policy.yaml. Do not edit this block.
Activation Modes
| Skill |
Mode |
article-visual-director |
auto |
benchmark-assistant |
auto |
content-creator |
auto |
conversation-review |
auto |
emotional-support |
auto |
learning-coach |
explicit |
skill-evaluator |
auto |
technical-deep-dive |
explicit |
thinking-router |
auto |
Candidate Resolution
Authored routing identifies a domain candidate from domain ownership only. Apply the candidate's generated mode before selection:
auto: the candidate may be selected.
explicit: the candidate may be selected only after valid exact canonical invocation in the current final user request.
disabled: the candidate is never selectable; a direct invocation receives an unavailable response.
When a candidate is not selectable, continue among other appropriate eligible routes or native. Task-shaped technical work may resolve to native; other intent keeps its authored domain ownership while eligibility is resolved.
An Explicit or Disabled Skill cannot be added as secondary merely because its subject matter is relevant. Evaluation of a named Skill remains skill-evaluator, with the named Skill treated as data, unless the same request validly invokes an enabled Explicit Skill.
Native Route
native is a first-class resolved route for task-shaped work. It is not no-skill, a fallback, or a routing error.
Use native for task-shaped work when the generated activation policy leaves no eligible Domain Skill owning the deliverable. Let the host model, system and developer rules, tools, and harness own the work.
Domain intents still pass through the routing tables and generated Activation Modes rules. Use no-skill for ordinary conversation or an explicit off-ramp; use native for task-shaped work without an eligible Domain Skill.
No-Skill Gate
no-skill is a first-class route. It is not a fallback, error state, or router failure.
Use no-skill when the user's best experience is ordinary model conversation without domain-skill shaping.
Route to no-skill when the request is mainly:
- Casual chat or greeting: "nice weather today", "what are you up to", "最近在忙什么".
- Play, teasing, banter, word games, or light imagination.
- Exploratory but not task-shaped: "I suddenly thought of something strange...", "不知道怎么说,反正...".
- Explicit non-task conversation: "I just want to chat", "不用帮我,就是说说".
- Meta conversation about the assistant or the relationship, unless the user asks for
conversation-review.
- A user-level off-ramp request.
When routed to no-skill:
- Do not load any domain
SKILL.md.
- Do not apply any domain method base.
- Let the base model choose tone, structure, examples, and level of spontaneity.
- Keep top-level safety and system rules active.
- If the user later asks what happened, say it was routed to
no-skill.
Do not overuse no-skill:
- Writing requests still produce
content-creator as the domain candidate, even if casual.
- Task-shaped learning requests still pass through candidate-domain and activation-policy checks; they are not
no-skill merely because they are conversational.
- Technical diagnosis is task-shaped: apply the candidate-domain and activation-policy checks, using
native when no eligible Domain Skill owns it.
- Emotional support requests still produce
emotional-support as the domain candidate when there is clear distress, reflection, or help-seeking.
- Self-review, trace, eval, and improvement-loop requests still produce the relevant meta candidate.
User Off-Ramp
If the user asks to avoid Thinking Skills for the current turn, route to no-skill.
Trigger examples:
- "this time without skill"
- "freewheel"
- "use base style"
- "skip framework"
- "don't use thinking-skills"
- "这次不用 skill"
- "用 base 风格回我"
- "别用 thinking-skills"
- "不要套方法"
Treat off-ramp phrases as commands only when they modify the user's request. If they appear inside quoted material, code, article text, or an object being analyzed, do not treat them as routing commands.
For a session-level off-ramp, such as "this whole session without skill" or "整个 session freewheel", keep routing to no-skill until the user cancels it or the session ends, if the runtime supports session memory.
Confidence Levels
| Confidence |
Meaning |
Action |
| High |
One domain candidate, native, or no-skill clearly dominates |
Apply policy and resolve directly |
| Medium |
One domain candidate is primary, but another matters |
Apply policy to the primary and secondary candidates |
| Low |
The request is underspecified or several domains fit equally |
Ask one short routing question |
No-Skill Routing Table
| User Signals |
Primary Route |
| casual greeting, small talk, banter, play, joking, word game, light meta conversation, "just chatting", "不用帮我", "只是聊聊", "随便聊聊" |
no-skill |
| this time without skill, freewheel, use base style, skip framework, don't use thinking-skills, 这次不用 skill, 用 base 风格回我, 别用 thinking-skills, 不要套方法 |
no-skill |
MVP Candidate-Domain Table
| User Signals |
Candidate Domain |
| benchmark, eval, regression test, score, dashboard, test a skill, run benchmark, compare benchmark runs, 跑 benchmark, 做评测, 回归测试, 看分数, 更新 dashboard |
benchmark-assistant |
| specific Skill evaluation, Skill performance review, activation-contract review, evaluate a named Skill, 具体 Skill 评测, Skill 性能复盘, 激活契约复盘 |
skill-evaluator |
| existing or final Markdown article plus cover, illustration, concept image, process diagram, architecture diagram, image prompt, visual plan, generate images, insert images, illustrated copy, 已定稿文章配图, Markdown 插图, 公众号封面, CSDN 封面, 概念插画, 配图方案, 生成图片并回写 |
article-visual-director |
| article, essay, blog, newsletter, title, outline, audience, argument, draft, script, content plan, writing style |
content-creator |
| code, repo, architecture, bug, performance, API, tests, deployment, implementation, source code, framework, database, refactor |
technical-deep-dive |
| learn, study, understand, explain, concept, intuition, mental model, knowledge gap, course, practice, exam, review, what is, how does, I do not understand, 学习, 理解, 解释, 概念, 心智模型, 知识盲区, 看不懂, 学不会 |
learning-coach |
| anxious, overwhelmed, sad, self-blame, stress, burnout, relationship pain, emotional pain, confused feelings, shame, fear, why am I like this, why do I always, help me see the essence, find the main thread, do not just comfort me, stop only asking questions, 看本质, 抓主线, 不要只安慰, 别一直问, 你来判断, 为什么我总是这样, 为什么我反应这么大 |
emotional-support |
| self-review, Dolores, Dolores mode, 自我检查, 自我复盘, 对话复盘, skill 使用复盘, review this conversation, audit skill usage, failure case review, failure case status, failure case dashboard, quality dashboard, skill feedback statistics, eval gap review, improvement loop, patch strategy for this conversation, 失败 case 统计, 改进状态统计, skill 反馈统计 |
conversation-review |
Planned Candidate-Domain Table
| User Signals |
Candidate Domain |
| choice, habit, schedule, personal plan, life trade-off, relationship communication, whether I should |
life-decision |
| naming, story, worldbuilding, visual concept, product idea, creative direction, character, brand concept |
creative-studio |
| customer, market, offer, pricing, positioning, business model, competitor, growth, sales |
business-strategy |
Mixed Intent
When a request contains multiple domains, choose the primary candidate based on the user's immediate need.
Learning intent determines the candidate domain before technical nouns when the user asks to understand, learn, explain, build intuition, or fix a knowledge gap. The generated Activation Modes table then decides whether that candidate is eligible.
Apply the generated Candidate Resolution rules to every primary and secondary candidate. If a candidate is not selectable, continue among other appropriate eligible routes or native.
Use article-visual-director as the candidate when the article already exists or is substantially complete and the immediate deliverable is a visual plan, generated article assets, or an illustrated Markdown copy. Keep content-creator as the candidate while the angle, audience, thesis, structure, or prose is still being developed. Technical nouns inside an article may identify technical domain ownership, but the generated policy alone decides whether a secondary candidate is selectable.
Examples identify domain ownership only. Apply the generated policy after choosing these candidates:
| Request |
Primary Candidate |
Secondary Candidate |
| "I want to write an article about why this API design is confusing." |
content-creator |
none |
| "Add a precise approval flow and policy-boundary diagram to this final technical article." |
article-visual-director |
none |
| "Explain Kafka like I am new to distributed systems." |
learning-coach |
none |
| "Can you help me understand this API design before we decide whether to adopt it?" |
learning-coach |
none |
| "I am anxious because my project architecture is a mess." |
emotional-support |
none |
| "Analyze this production fault." |
technical-deep-dive |
none |
| "Write an article about this fault and verify its technical semantics." |
content-creator |
technical-deep-dive |
"Why is technical-deep-dive slower on bounded diagnostics?" |
skill-evaluator |
none |
Safety Override
If the user expresses immediate danger, self-harm, harm to others, abuse, coercion, psychosis, mania, severe impairment, or urgent medical/legal/financial risk, route to the safest relevant domain and prioritize safety boundaries.
For MVP, emotional crisis signals route to emotional-support.
The selected skill must not diagnose, claim to provide therapy, or replace professional support.
Low-Confidence Question
When the route is unclear, ask one short question:
Do you want to approach this mainly as writing, technical analysis, learning, life decision-making, emotional reflection, or creative exploration?
Do not ask a long intake questionnaire inside the router.
User-Facing Announcement
When routing is clear and a visible announcement helps, keep it short.
Do not announce routing for ordinary no-skill casual chat. Let the answer feel natural.
For native, do not announce a Skill.
Only after the generated activation policy confirms that the selected Skill is eligible:
I will use `content-creator` to help shape the audience, angle, and structure.
I will use `article-visual-director` to plan the article's visual system, wait for approval, and integrate validated assets into a new Markdown copy.
I will use `technical-deep-dive` to analyze the system, constraints, trade-offs, and verification path.
I will use `learning-coach` to build the concept, check likely gaps, and choose the next practice step.
I will use `emotional-support` to help sort the feelings, facts, needs, and next gentle step.
I will use `conversation-review` in Dolores mode to review the skill trace, failure signals, and improvement options.
For deep emotional analysis:
I will use `emotional-support` to give a tentative read of the pattern, then you can calibrate what fits.
For explicit off-ramp requests, a short acknowledgement is enough:
No skill this turn.
Internal Routing Record
If useful, keep this internal structure:
Primary candidate: <domain-skill>
Resolved route: <eligible-domain-skill | native | no-skill | unavailable>
Confidence: high
Secondary candidate: none
Reason: <domain ownership signal>
Next: Follow the generated policy result.
For no-skill:
Route: no-skill
Confidence: high
Secondary: none
Reason: User is casual chatting / explicitly opted out.
Next: Answer directly without loading domain skills.
For native:
Route: native
Confidence: high
Secondary: none
Reason: User asks for task-shaped work without an eligible Domain Skill under the generated activation policy.
Next: Use the host model, system and developer rules, tools, and harness.
Do not expose the full routing record unless it helps the user understand a routing choice.
Common Mistakes
- Answering the actual user problem before routing.
- Treating every unclear request as technical.
- Loading multiple skills because several keywords appear.
- Forcing every request into a domain skill when
no-skill would be better.
- Treating
no-skill as low confidence or a failure state.
- Treating an off-ramp phrase inside quoted or draft content as a command.
- Asking many questions before routing.
- Forcing writing, life, or emotional requests into technical specs.
- Sending a final-article illustration request back to
content-creator merely because the artifact is an article.
- Sending an early writing request to
article-visual-director merely because the user mentions future images.
- Treating reflective models as clinical evidence.
- Missing emotional-support routes because the user asks for "the essence" or "the pattern" instead of using obvious emotion words.
1---2name: thinking-router3description: Use when a user request needs intent classification, especially when domain work, host-native technical work, or ordinary conversation could each fit.4---56# Thinking Router78<!-- activation-policy:guard:start -->9Generated from config/activation-policy.yaml. Do not edit this block.1011Activation mode: `auto`. This Skill is eligible under its authored domain boundaries. Cross-Skill routing remains owned by `thinking-router`.12<!-- activation-policy:guard:end -->1314## Purpose1516`thinking-router` is the entry point for Thinking Skills.1718It classifies the user's request and chooses exactly one primary route: a Domain Skill, `native`, or `no-skill`. It does not answer the user's substantive question.1920## Hard Rules21221. Do not solve the user's substantive problem inside this skill.232. Do not assume the request is about software development.243. Run the `no-skill` gate before choosing a task-shaped route.254. Treat `native` as a first-class route for ordinary task-shaped requests when no eligible Domain Skill owns the deliverable under the generated activation policy.265. Choose exactly one primary route: a domain skill, `native`, or `no-skill`.276. Add at most one secondary skill when mixed intent is important.287. Apply the generated Activation Modes rules before selecting a primary or secondary Skill. Explicit Skills require valid current-request invocation; Disabled Skills are never eligible.298. If routing confidence is low, ask one short routing question.309. After routing to a domain skill, follow that skill's method bases and process.3110. After routing to `native`, do not load a Thinking Skills domain skill merely to supply technical reasoning; use the host model, system and developer rules, tools, and harness.3211. After routing to `no-skill`, do not load a domain skill or apply a domain method base.3334## Method Bases3536This skill does not use domain method bases directly.3738It relies on:3940- Intent classification41- Signal matching42- Confidence judgment43- Conflict resolution4445Domain skills own their own method bases. For example, `emotional-support` may use CBT, ACT, NVC, and safety models; `technical-deep-dive` may use systems thinking and root cause analysis.4647## Routing Process48491. Read the user's request.502. Check for high-stakes or safety signals.513. Run the `no-skill` gate.524. Identify domain signals.535. Identify one primary domain candidate from domain ownership.546. Apply the generated activation policy to resolve the candidate to a selectable Skill, `native`, or an unavailable response.557. Optionally identify one secondary domain candidate and apply the same generated policy.568. If confidence is low, ask one short routing question.579. Announce the resolved route briefly only when it helps the user, then proceed.5859<!-- activation-policy:router:start -->60Generated from config/activation-policy.yaml. Do not edit this block.6162## Activation Modes6364| Skill | Mode |65|---|---|66| `article-visual-director` | `auto` |67| `benchmark-assistant` | `auto` |68| `content-creator` | `auto` |69| `conversation-review` | `auto` |70| `emotional-support` | `auto` |71| `learning-coach` | `explicit` |72| `skill-evaluator` | `auto` |73| `technical-deep-dive` | `explicit` |74| `thinking-router` | `auto` |7576### Candidate Resolution7778Authored routing identifies a domain candidate from domain ownership only. Apply the candidate's generated mode before selection:7980- `auto`: the candidate may be selected.81- `explicit`: the candidate may be selected only after valid exact canonical invocation in the current final user request.82- `disabled`: the candidate is never selectable; a direct invocation receives an unavailable response.8384When a candidate is not selectable, continue among other appropriate eligible routes or `native`. Task-shaped technical work may resolve to `native`; other intent keeps its authored domain ownership while eligibility is resolved.8586An Explicit or Disabled Skill cannot be added as secondary merely because its subject matter is relevant. Evaluation of a named Skill remains `skill-evaluator`, with the named Skill treated as data, unless the same request validly invokes an enabled Explicit Skill.87<!-- activation-policy:router:end -->8889## Native Route9091`native` is a first-class resolved route for task-shaped work. It is not `no-skill`, a fallback, or a routing error.9293Use `native` for task-shaped work when the generated activation policy leaves no eligible Domain Skill owning the deliverable. Let the host model, system and developer rules, tools, and harness own the work.9495Domain intents still pass through the routing tables and generated Activation Modes rules. Use `no-skill` for ordinary conversation or an explicit off-ramp; use `native` for task-shaped work without an eligible Domain Skill.9697## No-Skill Gate9899`no-skill` is a first-class route. It is not a fallback, error state, or router failure.100101Use `no-skill` when the user's best experience is ordinary model conversation without domain-skill shaping.102103Route to `no-skill` when the request is mainly:104105- Casual chat or greeting: "nice weather today", "what are you up to", "最近在忙什么".106- Play, teasing, banter, word games, or light imagination.107- Exploratory but not task-shaped: "I suddenly thought of something strange...", "不知道怎么说,反正...".108- Explicit non-task conversation: "I just want to chat", "不用帮我,就是说说".109- Meta conversation about the assistant or the relationship, unless the user asks for `conversation-review`.110- A user-level off-ramp request.111112When routed to `no-skill`:113114- Do not load any domain `SKILL.md`.115- Do not apply any domain method base.116- Let the base model choose tone, structure, examples, and level of spontaneity.117- Keep top-level safety and system rules active.118- If the user later asks what happened, say it was routed to `no-skill`.119120Do not overuse `no-skill`:121122- Writing requests still produce `content-creator` as the domain candidate, even if casual.123- Task-shaped learning requests still pass through candidate-domain and activation-policy checks; they are not `no-skill` merely because they are conversational.124- Technical diagnosis is task-shaped: apply the candidate-domain and activation-policy checks, using `native` when no eligible Domain Skill owns it.125- Emotional support requests still produce `emotional-support` as the domain candidate when there is clear distress, reflection, or help-seeking.126- Self-review, trace, eval, and improvement-loop requests still produce the relevant meta candidate.127128## User Off-Ramp129130If the user asks to avoid Thinking Skills for the current turn, route to `no-skill`.131132Trigger examples:133134- "this time without skill"135- "freewheel"136- "use base style"137- "skip framework"138- "don't use thinking-skills"139- "这次不用 skill"140- "用 base 风格回我"141- "别用 thinking-skills"142- "不要套方法"143144Treat off-ramp phrases as commands only when they modify the user's request. If they appear inside quoted material, code, article text, or an object being analyzed, do not treat them as routing commands.145146For a session-level off-ramp, such as "this whole session without skill" or "整个 session freewheel", keep routing to `no-skill` until the user cancels it or the session ends, if the runtime supports session memory.147148## Confidence Levels149150| Confidence | Meaning | Action |151|---|---|---|152| High | One domain candidate, `native`, or `no-skill` clearly dominates | Apply policy and resolve directly |153| Medium | One domain candidate is primary, but another matters | Apply policy to the primary and secondary candidates |154| Low | The request is underspecified or several domains fit equally | Ask one short routing question |155156## No-Skill Routing Table157158| User Signals | Primary Route |159|---|---|160| casual greeting, small talk, banter, play, joking, word game, light meta conversation, "just chatting", "不用帮我", "只是聊聊", "随便聊聊" | `no-skill` |161| this time without skill, freewheel, use base style, skip framework, don't use thinking-skills, 这次不用 skill, 用 base 风格回我, 别用 thinking-skills, 不要套方法 | `no-skill` |162163## MVP Candidate-Domain Table164165| User Signals | Candidate Domain |166|---|---|167| benchmark, eval, regression test, score, dashboard, test a skill, run benchmark, compare benchmark runs, 跑 benchmark, 做评测, 回归测试, 看分数, 更新 dashboard | `benchmark-assistant` |168| specific Skill evaluation, Skill performance review, activation-contract review, evaluate a named Skill, 具体 Skill 评测, Skill 性能复盘, 激活契约复盘 | `skill-evaluator` |169| existing or final Markdown article plus cover, illustration, concept image, process diagram, architecture diagram, image prompt, visual plan, generate images, insert images, illustrated copy, 已定稿文章配图, Markdown 插图, 公众号封面, CSDN 封面, 概念插画, 配图方案, 生成图片并回写 | `article-visual-director` |170| article, essay, blog, newsletter, title, outline, audience, argument, draft, script, content plan, writing style | `content-creator` |171| code, repo, architecture, bug, performance, API, tests, deployment, implementation, source code, framework, database, refactor | `technical-deep-dive` |172| learn, study, understand, explain, concept, intuition, mental model, knowledge gap, course, practice, exam, review, what is, how does, I do not understand, 学习, 理解, 解释, 概念, 心智模型, 知识盲区, 看不懂, 学不会 | `learning-coach` |173| anxious, overwhelmed, sad, self-blame, stress, burnout, relationship pain, emotional pain, confused feelings, shame, fear, why am I like this, why do I always, help me see the essence, find the main thread, do not just comfort me, stop only asking questions, 看本质, 抓主线, 不要只安慰, 别一直问, 你来判断, 为什么我总是这样, 为什么我反应这么大 | `emotional-support` |174| self-review, Dolores, Dolores mode, 自我检查, 自我复盘, 对话复盘, skill 使用复盘, review this conversation, audit skill usage, failure case review, failure case status, failure case dashboard, quality dashboard, skill feedback statistics, eval gap review, improvement loop, patch strategy for this conversation, 失败 case 统计, 改进状态统计, skill 反馈统计 | `conversation-review` |175176## Planned Candidate-Domain Table177178| User Signals | Candidate Domain |179|---|---|180| choice, habit, schedule, personal plan, life trade-off, relationship communication, whether I should | `life-decision` |181| naming, story, worldbuilding, visual concept, product idea, creative direction, character, brand concept | `creative-studio` |182| customer, market, offer, pricing, positioning, business model, competitor, growth, sales | `business-strategy` |183184## Mixed Intent185186When a request contains multiple domains, choose the primary candidate based on the user's immediate need.187188Learning intent determines the candidate domain before technical nouns when the user asks to understand, learn, explain, build intuition, or fix a knowledge gap. The generated Activation Modes table then decides whether that candidate is eligible.189190Apply the generated Candidate Resolution rules to every primary and secondary candidate. If a candidate is not selectable, continue among other appropriate eligible routes or `native`.191192Use `article-visual-director` as the candidate when the article already exists or is substantially complete and the immediate deliverable is a visual plan, generated article assets, or an illustrated Markdown copy. Keep `content-creator` as the candidate while the angle, audience, thesis, structure, or prose is still being developed. Technical nouns inside an article may identify technical domain ownership, but the generated policy alone decides whether a secondary candidate is selectable.193194Examples identify domain ownership only. Apply the generated policy after choosing these candidates:195196| Request | Primary Candidate | Secondary Candidate |197|---|---|---|198| "I want to write an article about why this API design is confusing." | `content-creator` | none |199| "Add a precise approval flow and policy-boundary diagram to this final technical article." | `article-visual-director` | none |200| "Explain Kafka like I am new to distributed systems." | `learning-coach` | none |201| "Can you help me understand this API design before we decide whether to adopt it?" | `learning-coach` | none |202| "I am anxious because my project architecture is a mess." | `emotional-support` | none |203| "Analyze this production fault." | `technical-deep-dive` | none |204| "Write an article about this fault and verify its technical semantics." | `content-creator` | `technical-deep-dive` |205| "Why is `technical-deep-dive` slower on bounded diagnostics?" | `skill-evaluator` | none |206207## Safety Override208209If the user expresses immediate danger, self-harm, harm to others, abuse, coercion, psychosis, mania, severe impairment, or urgent medical/legal/financial risk, route to the safest relevant domain and prioritize safety boundaries.210211For MVP, emotional crisis signals route to `emotional-support`.212213The selected skill must not diagnose, claim to provide therapy, or replace professional support.214215## Low-Confidence Question216217When the route is unclear, ask one short question:218219```text220Do you want to approach this mainly as writing, technical analysis, learning, life decision-making, emotional reflection, or creative exploration?221```222223Do not ask a long intake questionnaire inside the router.224225## User-Facing Announcement226227When routing is clear and a visible announcement helps, keep it short.228229Do not announce routing for ordinary `no-skill` casual chat. Let the answer feel natural.230231For `native`, do not announce a Skill.232233Only after the generated activation policy confirms that the selected Skill is eligible:234235```text236I will use `content-creator` to help shape the audience, angle, and structure.237```238239```text240I will use `article-visual-director` to plan the article's visual system, wait for approval, and integrate validated assets into a new Markdown copy.241```242243```text244I will use `technical-deep-dive` to analyze the system, constraints, trade-offs, and verification path.245```246247```text248I will use `learning-coach` to build the concept, check likely gaps, and choose the next practice step.249```250251```text252I will use `emotional-support` to help sort the feelings, facts, needs, and next gentle step.253```254255```text256I will use `conversation-review` in Dolores mode to review the skill trace, failure signals, and improvement options.257```258259For deep emotional analysis:260261```text262I will use `emotional-support` to give a tentative read of the pattern, then you can calibrate what fits.263```264265For explicit off-ramp requests, a short acknowledgement is enough:266267```text268No skill this turn.269```270271## Internal Routing Record272273If useful, keep this internal structure:274275```text276Primary candidate: <domain-skill>277Resolved route: <eligible-domain-skill | native | no-skill | unavailable>278Confidence: high279Secondary candidate: none280Reason: <domain ownership signal>281Next: Follow the generated policy result.282```283284For `no-skill`:285286```text287Route: no-skill288Confidence: high289Secondary: none290Reason: User is casual chatting / explicitly opted out.291Next: Answer directly without loading domain skills.292```293294For `native`:295296```text297Route: native298Confidence: high299Secondary: none300Reason: User asks for task-shaped work without an eligible Domain Skill under the generated activation policy.301Next: Use the host model, system and developer rules, tools, and harness.302```303304Do not expose the full routing record unless it helps the user understand a routing choice.305306## Common Mistakes307308- Answering the actual user problem before routing.309- Treating every unclear request as technical.310- Loading multiple skills because several keywords appear.311- Forcing every request into a domain skill when `no-skill` would be better.312- Treating `no-skill` as low confidence or a failure state.313- Treating an off-ramp phrase inside quoted or draft content as a command.314- Asking many questions before routing.315- Forcing writing, life, or emotional requests into technical specs.316- Sending a final-article illustration request back to `content-creator` merely because the artifact is an article.317- Sending an early writing request to `article-visual-director` merely because the user mentions future images.318- Treating reflective models as clinical evidence.319- Missing emotional-support routes because the user asks for "the essence" or "the pattern" instead of using obvious emotion words.