actionbook
Actionbook turns the websites you work in every day into something your AI agent can actually operate. Direct API requests when possible, UI automation when not, with login handled. Fast and resilient.
AI-powered Rust development assistant with meta-cognition framework
> /plugin marketplace add actionbook/rust-skills> /plugin install rust-skills@rust-skills
What's inside
AI-powered Rust development assistant with meta-cognition framework
Rust Skills is a Claude Code plugin that transforms how AI assists with Rust development. Instead of giving surface-level answers, it traces through cognitive layers to provide domain-correct architectural solutions.
Traditional AI assistance for Rust:
User: "My trading system reports E0382"
AI: "Use .clone()" โ Surface fix, ignores domain constraints
Rust Skills with meta-cognition:
User: "My trading system reports E0382"
AI (with Rust Skills):
โโโ Layer 1: E0382 = ownership error โ Why is this data needed?
โ โ
โโโ Layer 3: Trade records are immutable audit data โ Should share, not copy
โ โ
โโโ Layer 2: Use Arc<TradeRecord> as shared immutable value
โ โ
โโโ Recommendation: Redesign as Arc<T>, not clone()
Rust Skills supports two installation modes:
The simplest way to get started. Works with any coding agent that supports skills, including Claude Code, Vercel's add-skills, and others.
Skills now include inline fallback logic โ when agent files are not available, skills execute directly using built-in tools (actionbook, agent-browser, WebFetch).
npx skills add actionbook/rust-skills
Install via CoWork, a Rust-based skills management tool:
# Install CoWork
cargo install cowork
# Method 1: Direct install
cowork install actionbook/rust-skills
# Method 2: Config-based install (recommended for teams)
cowork config init # Create .cowork/Skills.toml
# Edit Skills.toml to add rust-skills (see below)
cowork config install # Install all configured skills
Skills.toml configuration:
[project]
name = "my-rust-project"
[skills.install]
rust-skills = "actionbook/rust-skills"
[security]
trusted_authors = ["ZhangHanDong"]
CoWork (
cofor short) provides version management, dependency resolution, lock files, and security auditing. See CoWork documentation for more details.
git clone https://github.com/actionbook/rust-skills.git
cp -r rust-skills/skills/* ~/.claude/skills/
Note: Skills-only mode does not include hooks, so meta-cognition won't trigger automatically. You can manually call
/rust-routeror specific skills. Background agents fall back to inline execution automatically.
For Claude Code users who want the complete experience with hooks, background agents, and auto meta-cognition triggering.
# Step 1: Add the marketplace
/plugin marketplace add actionbook/rust-skills
# Step 2: Install the plugin
/plugin install rust-skills@rust-skills
Note: Step 1 only adds the marketplace (plugin source). Step 2 actually installs the rust-skills plugin with all features enabled.
# Clone the repository
git clone https://github.com/actionbook/rust-skills.git
# Launch with plugin directory
claude --plugin-dir /path/to/rust-skills
| Feature | Plugin (Marketplace) | Plugin (Local) | Skills-only (NPX/CoWork/Manual) |
|---|---|---|---|
| All 31 Skills | โ | โ | โ |
| Auto meta-cognition trigger | โ | โ | โ (manual invoke) |
| Hook-based routing | โ | โ | โ |
| Background agents | โ | โ | โ (inline fallback) |
| Easy updates | โ | โ | โ (NPX/CoWork) |
| Works with other agents | โ | โ | โ |
Background agents require permission to run agent-browser. Configure in your project:
# Copy example config
cp /path/to/rust-skills/.claude/settings.example.json .claude/settings.local.json
Or create manually:
mkdir -p .claude
cat > .claude/settings.local.json << 'EOF'
{
"permissions": {
"allow": [
"Bash(agent-browser *)"
]
}
}
EOF
See .claude/settings.example.json for reference.
Rust Skills relies on these external tools for full functionality:
| Tool | Description | GitHub |
|---|---|---|
| actionbook | MCP server for website action manuals. Used by agents to fetch structured web content (Rust releases, crate info, documentation). | actionbook/actionbook |
| agent-browser | Browser automation tool for fetching real-time web data. Fallback when actionbook is unavailable. | vercel-labs/agent-browser |
Don't answer directly. Trace through cognitive layers first.
Layer 3: Domain Constraints (WHY)
โโโ Domain rules determine design choices
โโโ Example: Financial systems require immutable, auditable data
Layer 2: Design Choices (WHAT)
โโโ Design patterns and architectural decisions
โโโ Example: Use Arc<T> for shared immutable data
Layer 1: Language Mechanics (HOW)
โโโ Rust language features and compiler rules
โโโ Example: E0382 is a symptom of ownership design issues
| User Signal | Entry Layer | Trace Direction | Primary Skill |
|---|---|---|---|
| E0xxx errors | Layer 1 | Trace UP โ | m01-m07 |
| "How to design..." | Layer 2 | Bidirectional | m09-m15 |
| "[Domain] app development" | Layer 3 | Trace DOWN โ | domain-* |
| Performance issues | Layer 1โ2 | Up then Down | m10-performance |
rust-router - Master router for all Rust questions (invoked first)rust-learner - Fetch latest Rust/crate version infocoding-guidelines - Coding conventions lookup| Skill | Core Question | Triggers |
|---|---|---|
| m01-ownership | Who should own this data? | E0382, E0597, move, borrow |
| m02-resource | What ownership pattern fits? | Box, Rc, Arc, RefCell |
| m03-mutability | Why does this data need to change? | mut, Cell, E0596, E0499 |
| m04-zero-cost | Compile-time or runtime polymorphism? | generic, trait, E0277 |
| m05-type-driven | How can types prevent invalid states? | newtype, PhantomData |
| m06-error-handling | Expected failure or bug? | Result, Error, panic, ? |
| m07-concurrency | CPU-bound or I/O-bound? | async, Send, Sync, thread |
| Skill | Core Question | Triggers |
|---|---|---|
| m09-domain | What role does this concept play? | DDD, entity, value object |
| m10-performance | Where's the bottleneck? | benchmark, profiling |
| m11-ecosystem | Which crate fits this task? | crate selection, dependencies |
| m12-lifecycle | When to create, use, cleanup? | RAII, Drop, lazy init |
| m13-domain-error | Who handles this error? | retry, circuit breaker |
| m14-mental-model | How to think about this correctly? | learning Rust, why |
| m15-anti-pattern | Does this pattern hide design issues? | code smell, common mistakes |
| Skill | Domain | Core Constraints |
|---|---|---|
| domain-fintech | FinTech | Audit trail, precision, consistency |
| domain-ml | Machine Learning | Memory efficiency, GPU acceleration |
| domain-cloud-native | Cloud Native | 12-Factor, observability, graceful shutdown |
| domain-iot | IoT | Offline-first, power management, security |
| domain-web | Web Services | Stateless, latency SLA, concurrency |
| domain-cli | CLI | UX, config precedence, exit codes |
| domain-embedded | Embedded | No heap, no_std, real-time |
| Command | Description |
|---|---|
/rust-features [version] | Get Rust version features |
/crate-info <crate> | Get crate information |
/docs <crate> [item] | Get API documentation |
/sync-crate-skills | Sync skills from Cargo.toml dependencies |
/update-crate-skill <crate> | Update specific crate skill |
/clean-crate-skills | Clean local crate skills |
Generate skills on-demand from your project dependencies:
# Enter your Rust project
cd my-rust-project
# Sync all dependencies
/sync-crate-skills
# Skills are created at ~/.claude/skills/{crate}/
~/.claude/skills/User Question
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Hook Layer โ
โ 400+ keywords trigger meta-cognition โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ rust-router โ
โ Identify entry layer + domain โ
โ Decision: dual-skill loading โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โ Layer 1 โ โ Layer 2 โ โ Layer 3 โ
โ m01-m07 โ โ m09-m15 โ โ domain-* โ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โ
โผ
Domain-correct architectural solution
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
MIT License - see LICENSE for details.
_meta/
error-protocol.md
externalization.md
hooks-patterns.md
layer-definitions.md
negotiation-protocol.md
negotiation-templates.md
reasoning-framework.md
.claude/
.claude-plugin/
marketplace.json
plugin.json
hooks/
rust-skill-eval-hook.sh
settings.example.json
.codex/
INSTALL.md
.github/
FUNDING.yml
.gitignore
.mcp.json
.opencode/
INSTALL.md
instructions/
rust-skills.md
agents/
AGENTS.md
_negotiation/
confidence-rubric.md
response-format.md
_shared/
fetch-strategy.md
browser-fetcher.md
clippy-researcher.md
crate-researcher.md
docs-cache.md
docs-researcher.md
layer1-analyzer.md
layer2-analyzer.md
layer3-analyzer.md
rust-changelog.md
rust-daily-reporter.md
std-docs-researcher.md
cache/
config.yaml
README.md
CHANGELOG.md
CLAUDE.md
commands/
achievement.md
ai-daily.md
audit.md
cache-clean.md
cache-status.md
clean-crate-skills.md
crate-info.md
create-llms-for-skills.md
create-llms-from-source.md
create-skills-via-llms.md
docs.md
fix-skill-docs.md
guideline.md
rust-daily.md
rust-features.md
rust-review.md
skill-index.md
sync-crate-skills.md
unsafe-check.md
unsafe-review.md
update-crate-skill.md
docs/
architecture-zh.md
capabilities-summary-zh.md
capabilities-summary.md
config-priority-zh.md
context-optimization.md
docs-cache-spec.md
forced-eval-hook.md
functional-overview-zh.md
hook-mechanism-zh.md
meta-cognition-example-e0382.md
problem-solved.md
prompt-engineering-zh.md
rust-skills-introduction-v1-deprecated.md
rust-skills-introduction.md
skill-inheritance.md
skills-best-practices.md
skills-design-lessons.md
skills-testing.md
test-cases/
e0382-trading-system.rs
meta-cognition-test-suite.md
what-is-a-skill.md
examples/
achievement-hooks-config.json
hooks/
hooks.json
index/
agents-index.md
commands-index.md
domain-extensions.md
error-codes.md
meta-questions.md
skills-index.md
tech-categories.md
triggers-index.md
metadata.json
README-ja.md
README-zh.md
README.md
references/
achievement-definitions.md
REVIEW.md
scripts/
achievement-tracker.sh
analyze-skills.sh
extract-rust-docs.sh
generate-index.sh
quality-check.sh
setup-achievements.sh
setup.sh
skills/
coding-guidelines/
clippy-lints/
_index.md
index/
rules-index.md
SKILL.md
core-actionbook/
agents/
openai.yaml
SKILL.md
core-agent-browser/
agents/
openai.yaml
SKILL.md
core-dynamic-skills/
agents/
openai.yaml
SKILL.md
core-fix-skill-docs/
agents/
openai.yaml
SKILL.md
domain-cli/
SKILL.md
domain-cloud-native/
SKILL.md
domain-embedded/
SKILL.md
domain-fintech/
SKILL.md
domain-iot/
SKILL.md
domain-ml/
SKILL.md
domain-web/
SKILL.md
m01-ownership/
comparison.md
examples/
best-practices.md
patterns/
common-errors.md
lifetime-patterns.md
SKILL.md
m02-resource/
SKILL.md
m03-mutability/
SKILL.md
m04-zero-cost/
SKILL.md
m05-type-driven/
SKILL.md
m06-error-handling/
examples/
library-vs-app.md
patterns/
error-patterns.md
SKILL.md
m07-concurrency/
comparison.md
examples/
thread-patterns.md
patterns/
async-patterns.md
common-errors.md
SKILL.md
m09-domain/
SKILL.md
m10-performance/
patterns/
optimization-guide.md
SKILL.md
m11-ecosystem/
SKILL.md
m12-lifecycle/
SKILL.md
m13-domain-error/
SKILL.md
m14-mental-model/
patterns/
thinking-in-rust.md
SKILL.md
m15-anti-pattern/
patterns/
common-mistakes.md
SKILL.md
meta-cognition-parallel/
SKILL.md
rust-call-graph/
SKILL.md
rust-code-navigator/
SKILL.md
rust-daily/
SKILL.md
rust-deps-visualizer/
SKILL.md
rust-learner/
SKILL.md
rust-refactor-helper/
SKILL.md
rust-router/
examples/
workflow.md
integrations/
os-checker.md
patterns/
negotiation.md
SKILL.md
rust-skill-creator/
SKILL.md
rust-symbol-analyzer/
SKILL.md
rust-trait-explorer/
SKILL.md
unsafe-checker/
AGENTS.md
checklists/
before-unsafe.md
common-pitfalls.md
review-unsafe.md
examples/
ffi-patterns.md
safe-abstraction.md
metadata.json
rules/
_sections.md
_template.md
ffi-01-no-string-direct.md
ffi-02-read-ffi-docs.md
ffi-03-drop-for-c-ptr.md
ffi-04-panic-boundary.md
ffi-05-portable-types.md
ffi-06-string-abi.md
ffi-07-no-drop-external.md
ffi-08-error-handling.md
ffi-09-ref-not-ptr.md
ffi-10-thread-safety.md
ffi-11-packed-ub.md
ffi-12-invariant-doc.md
ffi-13-data-layout.md
ffi-14-stable-layout.md
ffi-15-validate-external.md
ffi-16-closure-to-c.md
ffi-17-opaque-types.md
ffi-18-no-trait-objects.md
general-01-no-abuse.md
general-02-not-for-perf.md
general-03-no-alias.md
io-01-raw-handle.md
mem-01-repr-layout.md
mem-02-no-other-process.md
mem-03-no-auto-drop-foreign.md
mem-04-reentrant.md
mem-05-bitfield-crates.md
mem-06-maybeuninit.md
ptr-01-no-thread-share.md
ptr-02-prefer-nonnull.md
ptr-03-phantomdata.md
ptr-04-alignment.md
ptr-05-no-const-to-mut.md
ptr-06-prefer-cast.md
safety-01-panic-safety.md
safety-02-verify-invariants.md
safety-03-no-uninit-api.md
safety-04-double-free.md
safety-05-send-sync.md
safety-06-no-raw-ptr-api.md
safety-07-unsafe-pair.md
safety-08-no-mut-from-immut.md
safety-09-safety-comment.md
safety-10-safety-doc.md
safety-11-assert-not-debug.md
union-01-avoid-except-ffi.md
union-02-no-cross-lifetime.md
SKILL.md
templates/
concurrency/
async-task.rs
worker-pool.rs
decision.md
error-handling/
anyhow.rs
thiserror.rs
ffi/
safe-wrapper.rs
findings.md
README.md
trace.md
test-triggers.md
test-triggers.sh
tests/
hook-matcher-test.py
pressure-scenarios/
m01-ownership/
e0382-moved-value.md
e0597-lifetime-short.md
m06-error-handling/
when-to-unwrap.md
m07-concurrency/
send-sync-bounds.md
README.md
scenarios/
agents.md
domain-skills.md
layer2-skills.md
ownership.md
routing.md
unsafe.md
validation/
validate-skills.sh
VERSIONActionbook turns the websites you work in every day into something your AI agent can actually operate. Direct API requests when possible, UI automation when not, with login handled. Fast and resilient.
FAQ
rust-skills is a Claude Code plugin with 38 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes coding-guidelines, core-actionbook, core-agent-browser. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.