parity

Aligns gokit modules with the sibling rskit Rust toolkit by capability.

Updated Feb 15, 2026
One-click install
npx skills add https://github.com/kbukum/gokit --skill parity-kbukum
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: parity
Source: https://github.com/kbukum/gokit/tree/main/.github/skills/parity
Command: npx skills add https://github.com/kbukum/gokit --skill parity-kbukum

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Maintaining two sibling toolkits (gokit in Go, rskit in Rust) risks API drift, duplicated design mistakes, and inconsistent behavior. This Skill provides a disciplined workflow for deciding what to mirror, what to keep kit-only, and how to track cross-kit parity without sacrificing idiomatic Go. ## Core Features & Use Cases - Capability-first mirroring decisions: Classify each scope as fully mirrored, light version, or intentionally kit-only (e.g., heavy media transcoding stays rskit-only). - Idiomatic Go implementation guidance: Enforces generics-first design, typed errors (AppError/RFC 9457), options constructors, and no any in public APIs instead of transliterating Rust. - Parity tracking workflow: Records mirroring levels and deliberate divergences in rskit tracking issues referenced by full URL, and validates changes with toven tests. - Use Case: When porting a resilience or config module from rskit to gokit, use this Skill to study the stronger implementation, decide the mirroring level, implement it idiomatically, and log the parity decision. ## Quick Start Ask the assistant to align the gokit config module with its rskit counterpart and record the parity decision in an rskit tracking issue.

Frequently Asked Questions about parity

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I port a module from rskit to gokit?▼

Locate the counterpart crate in the rskit repository, study its public API, invariants, and error model, then decide which kit has the stronger implementation. Implement the capability idiomatically in Go rather than transliterating Rust, and record the decision in an rskit tracking issue.

What does cross-kit parity mean for gokit and rskit?▼

Parity means matching capabilities and behavior so users transfer intuition between kits, not copying symbols or directory layouts. Each scope is judged individually, and the kit with the better implementation sets the shape the other mirrors.

Should every rskit feature be mirrored in gokit?▼

No. Capabilities are classified as fully mirrored, light versions, or intentionally kit-only. Heavy media transcoding stays rskit-only, while framework-specific items like rskit's Axum http layer are folded into gokit server and recorded as deliberate exclusions.

When does idiomatic Go take priority over parity with rskit?▼

Idiomatic, up-to-date Go practices always win over parity, and project-wide consistency outranks both. Parity only strictly binds wire and contract compatibility such as serialized shapes and protocol semantics, not internal representations.

How are parity decisions tracked between the two repositories?▼

Decisions are recorded in tracking issues in the rskit repository, noting the capability, mirroring level, and any intentional divergence. Cross-repo references must use full URLs because bare issue numbers resolve to the current repository.