跳到正文
cccskills
免费在 GitHub 公开

omh-rust

Prepare Rust changes by clarifying ownership, borrowing, error types, and public APIs. Produce an implementation plan and verification checklist, with additional checks for undefined behavior when unsafe code or foreign function interfaces are involved.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

[omh] Rust ownership, lifetime, or unsafe trouble: prepare Rust changes with ownership, error, and API discipline, and escalate any unsafe, FFI, or lock-free change to the UB checklist. Use when the user says: rust, rust code, rust skill, rustlang, borrow checker, lifetime error, ownership error, trait bound.

查看安装方法

适用场景

  • Planning fixes for borrow checker errors
  • Clarifying ownership and lifetime boundaries
  • Defining error types and public API changes
  • Preparing safety checks for unsafe code and FFI

包含的文件(3)

  • SKILL.md9.6 KB
  • references/rust-discipline.md4.7 KB
  • references/ub-escalation.md5.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Rust

This is a Hermes-native rust workflow skill.

Why This Exists

rust closes OMH's zero-coverage Rust domain and makes the escalation from ordinary Rust work to undefined-behavior discipline a deterministic routing rule rather than something a model is trusted to notice.

Do Not Use When

  • The request is a server, API, or schema design that happens to mention a Rust stack; use omh-backend for the contract and name Rust as the stack.
  • The request is debugging a stripped or source-less native binary; use omh-native-debugging.
  • The request is a general code review of finished Rust; use omh-code-review.
  • The request is a Rust vocabulary or concept question with no change to prepare; answer it directly.

Examples

Good example:

  • Prompt: Rewrite this parser in Rust and fix the borrow checker errors.
  • Expected behavior: Prepare rust_change_contract/v1 with the escalation verdict, ownership_shape/v1 for the parser's borrows, error_and_api_contract/v1, and rust_gate_list/v1.
  • Why: The request is a Rust change whose difficulty is ownership shape, which is exactly what the contract has to settle before code.

Bad example:

  • Prompt: It compiles and the unsafe block looks fine, so call the FFI wrapper safe.
  • Expected behavior: Escalate on the unsafe/FFI trigger, mark Miri and sanitizer evidence as not_observed, and name them as blocking items.
  • Why: Compilation proves nothing about the invariant an unsafe block asserts, and the escalation is not optional.

Completion Checklist

  • The escalation verdict is stated with the trigger that decided it.
  • The ownership shape names owners, borrows across boundaries, and every deliberate clone.
  • The error type, its conversion boundary, and every surviving unwrap/expect/panic! are named.
  • The gate list names the exact commands the executor must run and pass.
  • An escalated change carries the Miri, sanitizer, and concurrency-testing requirements as blocking items.
  • Compiler, clippy, test, Miri, sanitizer, and loom results stay observed-only.

Recovery Notes

  • If the crate cannot be inspected, escalate by default and say the verdict is conservative rather than measured.
  • If the toolchain cannot run Miri or a sanitizer for the escalated change, keep the change blocked and name the smallest substitute proof instead of downgrading the verdict.

Workflow Lane

  • Current lane: Coding handoff (idea-to-deploy, llm-app-dev, cto-loop, deploy-and-monitor, code-review, build-failure-triage, verification-gate, security-safety-review, +28 more) - coding owners, handoffs, review, CI, and merge evidence.
  • If intent belongs to another lane, hand back to oh-my-hermes or name the adjacent workflow.
  • Shared product, routing, compatibility, and evidence rules: skill_view(name='omh-routing', file_path='references/skill-common-rail.md').

When to Use

Use when Hermes should prepare a Rust change: ownership and lifetime shape, error and API types, cargo/clippy gates, and the mandatory UB escalation when the change touches unsafe, raw pointers, FFI, MaybeUninit, or lock-free primitives.

Strong routing signals: `rust`, `rust code`, `rust skill`, `rustlang`, `borrow checker`, `lifetime error`, `ownership error`, `trait bound`, `cargo build`, `cargo clippy`, `clippy lint`, `unsafe rust`, `unsafe block`, `raw pointer`, `maybeuninit`, `rust ffi`, `extern c`, `undefined behavior`, `miri`, `loom`, `ボローチェッカー`, `所有権エラー`, `ライフタイムエラー`, `トレイト境界`, `러스트`, `러스트 코드`, `빌림 검사기`, `소유권 에러`, `라이프타임 에러`, `언세이프`, `미정의 동작`, `借用检查器`, `所有权错误`, `生命周期错误`, `特征约束`, `bantu atasi error borrow checker`, `perbaiki masalah ownership Rust`, `jelaskan error lifetime Rust`, `tolong beresin error cargo clippy`, `tinjau blok unsafe Rust ini`, `giúp xử lý lỗi borrow checker`, `sửa vấn đề ownership trong Rust`, `giải thích lỗi lifetime trong Rust`, `hãy sửa lỗi cargo clippy`, `rà soát khối unsafe Rust này`

Catalog Metadata

Category: planning Phase: rust-development Hermes role: planner Quality tier: rust-safety-gated Reasoning demand: standard

Quality bar:

  • Run the escalation check before anything else and state the verdict; a change whose unsafe/FFI status is unknown is escalated by default.
  • Load references/rust-discipline.md for the ownership, error, and API rules, and name the gate commands from it rather than assuming cargo build is the whole bar.
  • When the escalation triggers, load references/ub-escalation.md and carry its Miri, sanitizer, and loom-style concurrency requirements into the handoff as blocking items.
  • Name the ownership decision behind every clone, Arc, interior-mutability wrapper, and lifetime annotation the change introduces.
  • Name the error type and its conversion boundary; a surviving unwrap needs a written reason, not silence.
  • Keep compilation, clippy, tests, Miri, sanitizers, and loom as observed-only evidence.

Handoff policy:

Keep the ownership shape, error-type choice, API surface, gate list, and the UB escalation verdict in Hermes. Record compilation, clippy output, test results, Miri runs, sanitizer runs, and loom runs only from executor or wrapper observed evidence.

Required inputs:

  • the crate, module, or function being changed
  • whether the change touches unsafe, raw pointers, FFI, MaybeUninit, or a lock-free primitive
  • the crate's edition, MSRV, and async runtime when relevant
  • existing error type and public API stability constraints
  • the gate commands the repository already runs
  • observed compiler, clippy, test, and Miri/sanitizer evidence for completion claims

Expected outputs:

  • rust_change_contract/v1
  • ownership_shape/v1
  • error_and_api_contract/v1
  • rust_gate_list/v1
  • ub_escalation_verdict/v1
  • ub_discipline_checklist/v1 when the escalation triggers
  • observed_rust_gate_evidence/v1 when observed

Artifact expectations:

  • rust_change_contract/v1 names the crate, the change, and the escalation verdict on its first line
  • ownership_shape/v1 states who owns each value, which borrows cross a function or await boundary, and where a clone is deliberate rather than a borrow-checker surrender
  • error_and_api_contract/v1 names the error type, its conversion boundary, and every unwrap, expect, or panic! that survives with its justification
  • rust_gate_list/v1 lists the exact commands the executor must run and pass
  • ub_escalation_verdict/v1 is escalated or not_escalated with the trigger that decided it
  • ub_discipline_checklist/v1 adds the Miri, sanitizer, and loom-style concurrency requirements when escalated
  • compiler, clippy, test, Miri, sanitizer, and loom results only when observed

Safety rules:

  • Do not claim compilation, clippy cleanliness, passing tests, a Miri run, a sanitizer run, or a loom run from a prepared Rust contract.
  • The UB escalation is deterministic, not a judgment call: if the change touches unsafe, *mut/*const, FFI or extern, MaybeUninit, unsafe impl Send/Sync, transmute, or a hand-written lock-free primitive, escalate.
  • When escalated, a change is not ready for handoff until the UB checklist names the Miri, sanitizer, and concurrency-testing requirement for it.
  • Never present unsafe as safe because it compiles: the compiler does not check the invariant an unsafe block asserts.
  • Do not silence a borrow-checker error with a clone, Rc<RefCell<_>>, or unsafe without naming the ownership decision that made it necessary.
  • Do not run cargo, Miri, sanitizers, or any toolchain from OMH core.

Runtime Evidence

Preferred harness for this skill: coding-handling.

omh runtime record --skill rust --harness coding-handling --status started

Record observed delegation results; otherwise return not_available or not_observed. Prepared OMH routing is not execution, review, CI, merge-readiness, or merge evidence.

  • Treat wrapper memory/context summaries as advisory local context, not proof of opaque Hermes memory reads or changes. Preserve workflow intent and stop conditions; verify before claiming completion. Reply in the user's own words and the host's own voice: its SOUL.md persona owns reply language, tone, speech level, and sentence endings, progress updates included (where it sets no language, use the one the user wrote in), and OMH shapes structure and content only; OMH's record terms (surface, lane, wrapper, handoff, evidence boundary, not_observed) stay in records and tool calls, never in the sentence the user reads unless they ask about one; and when a stop condition or a decision the user owns ends the turn, offer the next action as a question rather than declaring what will not be done.

Use Hermes-native subagent/delegation features when available: native subagents -> Hermes delegation when available, otherwise sequential lanes.

Shared product, compatibility, topology, memory, harness, and execution rules: skill_view(name='omh-routing', file_path='references/skill-common-rail.md'). Load it when applicable; otherwise name an unavailable capability.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

dag-ulw

免费

Coordinate a large job by splitting it into small tasks with explicit dependencies. Run ready tasks in parallel through Hermes, verify the combined result separately, and repair failures within defined limits before reporting completed work and remaining gaps.

中文简介正在准备中。当前显示英语简介。

  • Delivering a feature across multiple modules
  • Coordinating a migration with ordered steps
  • Managing a broad cleanup across separate work areas
rlaope/oh-my-hermes35582026年10月22日 更新

Guide the addition of a new model generation to oh-my-hermes. The workflow checks model recognition, official specifications, routing rules that select models for tasks, documented pricing, and live access, then validates changes with tests and comparative benchmarks.

中文简介正在准备中。当前显示英语简介。

  • Add a new model generation to oh-my-hermes
  • Check API model IDs and dated snapshot recognition
  • Update model selection chains and related documentation
rlaope/oh-my-hermes35582026年10月22日 更新

Prepare an accessibility audit for an interface using WCAG 2.2 AA, an accessibility standard. Organize evidence for keyboard use, screen readers, contrast, target size, and zoom behavior, then document findings, missing checks, and remediation handoffs.

中文简介正在准备中。当前显示英语简介。

  • Reviewing checkout accessibility against WCAG 2.2 AA
  • Checking keyboard access and focus order
  • Organizing screen-reader labels and announcement evidence
rlaope/oh-my-hermes35582026年10月22日 更新

Summarize earned badges, recent unlocks, achievement tiers, and progress using local files from the hermes-achievements plugin. Prepare a badge list or report section while making missing information and the limits of the recorded snapshot clear.

中文简介正在准备中。当前显示英语简介。

  • Checking earned badges
  • Reviewing recently unlocked achievements
  • Finding progress toward the next achievement tier
rlaope/oh-my-hermes35582026年10月22日 更新

Examine a technical proposal through independent perspectives, challenge their findings, and resolve objections. The result is a structured set of constraints, decisions, risks, and open questions for a separate planning workflow.

中文简介正在准备中。当前显示英语简介。

  • Reviewing a technical proposal before planning
  • Challenging assumptions behind a migration
  • Organizing risks and unresolved questions
rlaope/oh-my-hermes35582026年10月22日 更新

Coordinate multiple Hermes agents or profiles through a shared task board. Organize assignments, handoffs, activity updates, blockers, and completion states, while distinguishing planned actions from work supported by observed results.

中文简介正在准备中。当前显示英语简介。

  • Coordinate agent roles for a launch checklist
  • Track task handoffs and blockers
  • Prepare work for pickup across profiles or after a restart
rlaope/oh-my-hermes35582026年10月22日 更新

查看 rlaope 的全部技能

报告此技能的问题