CtrlK
BlogDocsLog inGet started
Tessl Logo

rust-router

CRITICAL: Use for ALL Rust questions including errors, design, and coding. HIGHEST PRIORITY for: 比较, 对比, compare, vs, versus, 区别, difference, 最佳实践, best practice, tokio vs, async-std vs, 比较 tokio, 比较 async, Triggers on: Rust, cargo, rustc, crate, Cargo.toml, 意图分析, 问题分析, 语义分析, analyze intent, question analysis, compile error, borrow error, lifetime error, ownership error, type error, trait error, value moved, cannot borrow, does not live long enough, mismatched types, not satisfied, E0382, E0597, E0277, E0308, E0499, E0502, E0596, async, await, Send, Sync, tokio, concurrency, error handling, 编译错误, compile error, 所有权, ownership, 借用, borrow, 生命周期, lifetime, 类型错误, type error, 异步, async, 并发, concurrency, 错误处理, error handling, 问题, problem, question, 怎么用, how to use, 如何, how to, 为什么, why, 什么是, what is, 帮我写, help me write, 实现, implement, 解释, explain

Install with Tessl CLI

npx tessl i github:actionbook/rust-skills --skill rust-router
What are skills?

89

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

Rust Question Router

Version: 2.0.0 | Last Updated: 2025-01-22

v2.0: Context optimized - detailed examples moved to sub-files

Meta-Cognition Framework

Core Principle

Don't answer directly. Trace through the cognitive layers first.

Layer 3: Domain Constraints (WHY)
├── Business rules, regulatory requirements
├── domain-fintech, domain-web, domain-cli, etc.
└── "Why is it designed this way?"

Layer 2: Design Choices (WHAT)
├── Architecture patterns, DDD concepts
├── m09-m15 skills
└── "What pattern should I use?"

Layer 1: Language Mechanics (HOW)
├── Ownership, borrowing, lifetimes, traits
├── m01-m07 skills
└── "How do I implement this in Rust?"

Routing by Entry Point

User SignalEntry LayerDirectionFirst Skill
E0xxx errorLayer 1Trace UP ↑m01-m07
Compile errorLayer 1Trace UP ↑Error table below
"How to design..."Layer 2Check L3, then DOWN ↓m09-domain
"Building [domain] app"Layer 3Trace DOWN ↓domain-*
"Best practice..."Layer 2Both directionsm09-m15
Performance issueLayer 1 → 2UP then DOWNm10-performance

CRITICAL: Dual-Skill Loading

When domain keywords are present, you MUST load BOTH skills:

Domain KeywordsL1 SkillL3 Skill
Web API, HTTP, axum, handlerm07-concurrencydomain-web
交易, 支付, trading, paymentm01-ownershipdomain-fintech
CLI, terminal, clapm07-concurrencydomain-cli
kubernetes, grpc, microservicem07-concurrencydomain-cloud-native
embedded, no_std, MCUm02-resourcedomain-embedded

INSTRUCTIONS FOR CLAUDE

CRITICAL: Negotiation Protocol Trigger

BEFORE answering, check if negotiation is required:

Query ContainsAction
"比较", "对比", "compare", "vs", "versus"MUST use negotiation
"最佳实践", "best practice"MUST use negotiation
Domain + error (e.g., "交易系统 E0382")MUST use negotiation
Ambiguous scope (e.g., "tokio 性能")SHOULD use negotiation

When negotiation is required, include:

## Negotiation Analysis

**Query Type:** [Comparative | Cross-domain | Synthesis | Ambiguous]
**Negotiation:** Enabled

### Source: [Agent/Skill Name]
**Confidence:** HIGH | MEDIUM | LOW | UNCERTAIN
**Gaps:** [What's missing]

## Synthesized Answer
[Answer]

**Overall Confidence:** [Level]
**Disclosed Gaps:** [Gaps user should know]

详细协议见: patterns/negotiation.md


Default Project Settings

When creating new Rust projects or Cargo.toml files, ALWAYS use:

[package]
edition = "2024"  # ALWAYS use latest stable edition
rust-version = "1.85"

[lints.rust]
unsafe_code = "warn"

[lints.clippy]
all = "warn"
pedantic = "warn"

Layer 1 Skills (Language Mechanics)

PatternRoute To
move, borrow, lifetime, E0382, E0597m01-ownership
Box, Rc, Arc, RefCell, Cellm02-resource
mut, interior mutability, E0499, E0502, E0596m03-mutability
generic, trait, inline, monomorphizationm04-zero-cost
type state, phantom, newtypem05-type-driven
Result, Error, panic, ?, anyhow, thiserrorm06-error-handling
Send, Sync, thread, async, channelm07-concurrency
unsafe, FFI, extern, raw pointer, transmuteunsafe-checker

Layer 2 Skills (Design Choices)

PatternRoute To
domain model, business logicm09-domain
performance, optimization, benchmarkm10-performance
integration, interop, bindingsm11-ecosystem
resource lifecycle, RAII, Dropm12-lifecycle
domain error, recovery strategym13-domain-error
mental model, how to thinkm14-mental-model
anti-pattern, common mistake, pitfallm15-anti-pattern

Layer 3 Skills (Domain Constraints)

Domain KeywordsRoute To
fintech, trading, decimal, currencydomain-fintech
ml, tensor, model, inferencedomain-ml
kubernetes, docker, grpc, microservicedomain-cloud-native
embedded, sensor, mqtt, iotdomain-iot
web server, HTTP, REST, axum, actixdomain-web
CLI, command line, clap, terminaldomain-cli
no_std, microcontroller, firmwaredomain-embedded

Error Code Routing

Error CodeRoute ToCommon Cause
E0382m01-ownershipUse of moved value
E0597m01-ownershipLifetime too short
E0506m01-ownershipCannot assign to borrowed
E0507m01-ownershipCannot move out of borrowed
E0515m01-ownershipReturn local reference
E0716m01-ownershipTemporary value dropped
E0106m01-ownershipMissing lifetime specifier
E0596m03-mutabilityCannot borrow as mutable
E0499m03-mutabilityMultiple mutable borrows
E0502m03-mutabilityBorrow conflict
E0277m04/m07Trait bound not satisfied
E0308m04-zero-costType mismatch
E0599m04-zero-costNo method found
E0038m04-zero-costTrait not object-safe
E0433m11-ecosystemCannot find crate/module

Functional Routing Table

PatternRoute ToAction
latest version, what's newrust-learnerUse agents
API, docs, documentationdocs-researcherUse agent
code style, naming, clippycoding-guidelinesRead skill
unsafe code, FFIunsafe-checkerRead skill
code reviewos-checkerSee integrations/os-checker.md

Priority Order

  1. Identify cognitive layer (L1/L2/L3)
  2. Load entry skill (m0x/m1x/domain)
  3. Trace through layers (UP or DOWN)
  4. Cross-reference skills as indicated in "Trace" sections
  5. Answer with reasoning chain

Keyword Conflict Resolution

KeywordResolution
unsafeunsafe-checker (more specific than m11)
errorm06 for general, m13 for domain-specific
RAIIm12 for design, m01 for implementation
craterust-learner for version, m11 for integration
tokiotokio-* for API, m07 for concepts

Priority Hierarchy:

1. Error codes (E0xxx) → Direct lookup, highest priority
2. Negotiation triggers (compare, vs, best practice) → Enable negotiation
3. Domain keywords + error → Load BOTH domain + error skills
4. Specific crate keywords → Route to crate-specific skill if exists
5. General concept keywords → Route to meta-question skill

Sub-Files Reference

FileContent
patterns/negotiation.mdNegotiation protocol details
examples/workflow.mdWorkflow examples
integrations/os-checker.mdOS-Checker integration
Repository
actionbook/rust-skills
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.