Standards-compliant lifecycle tool for agent knowledge and capabilities: author in .ai-rulez/, generate for 52 harnesses (Claude Code, Cursor, Codex, Copilot, Gemini CLI, OpenCode, Devin, and more), bundle (OKF, Agent Plugins, ARD), validate, govern (lock,…
Goldziher/ai-rulez
- Latest recorded source activity
- SkillsMP catalog refreshed
- skills collected
- 205
- GitHub stars
- 166
- GitHub forks
- 17
Install with an AI assistant
Copy this prompt into the AI assistant you're using.
Follow https://skillsmp.com/skill-install/prompt.md to install Agent Skills from https://github.com/Goldziher/ai-rulez.Loading the repository README…
Skills in this repository
Showing 40 of 205 collected skills.
cgo linking Go to a C or Rust library: import "C" directives, string conversion, C.free discipline, pointer pinning, thread safety. Use when writing or reviewing cgo bindings.
ext-php-rs PHP 8.2+ extensions from a Rust core: php_class/php_function, Zval conversion, PhpException mapping, loading, PHPUnit. Use when writing or reviewing ext-php-rs bindings.
extendr R packages from a Rust core: extendr macros and module registration, R type mapping, NA handling, rextendr builds, CRAN checks. Use when writing or reviewing extendr bindings.
jni-rs for exposing a Rust core to the JVM: export naming, JNIEnv usage, string conversion, exception checks and throws, global references, library loading. Use when writing or reviewing JNI bindings.
Magnus Ruby extensions from a Rust core: define_class, TryConvert/IntoValue, exception mapping, GVL release, TypedData, rake-compiler builds. Use when writing or reviewing Magnus bindings.
Rustler NIFs for Elixir: rustler::nif, tagged tuples, dirty schedulers for long work, ResourceArc state, NifStruct types, no panics. Use when writing or reviewing Rustler bindings.
wasm-bindgen and wasm-pack: JS interop types, Result<T, JsValue> errors, browser and Node targets, async futures, bundle size, generated .d.ts. Use when writing or reviewing WebAssembly bindings.
Rust conventions: edition, fmt and clippy, error crates and propagation, unsafe documentation, API naming guidelines, traits, testing, benchmarks, tokio, cargo audit. Use when writing or reviewing Rust code.
Where an instruction belongs in AI-assistant config: always-on root file, path-scoped rule, directory context file, skill or agent, and how to review one. Use when adding or reviewing a rule, skill, agent or context file.
Code-quality limits: 120-char lines, complexity 20, nesting 4, 50-line functions, no magic numbers or global state, rule of three, delete dead code, narrow suppressions, tracked TODOs. Use when writing, reviewing or refactoring code.
Error handling by language: wrap with context, never swallow, Result in Rust, %w wrapping in Go, typed exceptions in Python and Java, fail fast. Use when writing or reviewing an error path or custom error type.
Container build and runtime: multi-stage builds, minimal base image, cache-friendly layers, non-root user, image scanning, no baked secrets, init process, healthcheck, tagging. Use when writing a Dockerfile or image pipeline.
Service observability: structured JSON logs, log levels, health endpoint wired to probes, counter/gauge/histogram choice, label cardinality, correlation IDs. Use when adding logs, metrics or health checks.
Binding architecture: bindings as minimal glue, core then ABI then language surface, per-language test suites in CI, no hand-edited generated code, error and async boundaries. Use when designing or reviewing bindings.
FFI boundaries: single pointer ownership, opaque handles, null checks, allocate/free pairs, generated C headers, stable ABI and struct layouts, error and context conversion. Use when writing or reviewing native interop.
Rust core behind polyglot bindings: typed Result errors and no panics, rustdoc, isolated unsafe, Send futures, FFI-friendly DTOs, single-source versions. Use when writing or reviewing a Rust core exposed through bindings.
Dependency vulnerability audits per language: cargo audit/deny, pip-audit, pnpm audit, govulncheck, bundler-audit, composer audit, dotnet, mix_audit. Use when adding or updating dependencies or triaging CVEs.
OWASP Top 10 with one-line mitigations: access control, crypto, injection, insecure design, misconfiguration, vulnerable components, auth, integrity, logging, SSRF. Use when reviewing code or a design for security.
Test-driven workflow: red, green, refactor; restart if code came first; reproduce a bug as a failing test; integration, unit or property test by change type. Use before a feature or bug fix or when choosing a test type.
Writing tests: behavior-describing names, exact-value assertions, snapshot and property tests, independent idempotent tests, anti-patterns such as testing mocks. Use when writing or reviewing tests or diagnosing a flaky one.
Build in verified increments: smallest change first, verify, then extend; prototype the risky part first; batch edits to one file. Use when planning a large or multi-file change or choosing between approaches.
Use the repository's task runner (go-task Taskfile) instead of raw build, test, lint or format commands. Use when a Taskfile.yml exists at the root or before running a build or test command in an unfamiliar repo.
Starts the web app dev server. Use when the user wants to preview UI changes locally.
Installs the web app dependencies. Use when node_modules is missing or the lockfile changed.
Bumps one dependency to a newer version. Use when the user names a package to upgrade.
Sets up the JavaScript toolchain on a fresh checkout. Use when onboarding a new machine.
Regenerates the dependency lockfile. Use when the manifest changed and the lockfile is out of date.
Checks that log rotation is configured. Use when a service disk fills up.
Names a new git branch. Use when the user starts work on a ticket.
Drafts release notes from merged pull requests. Use when a release is being prepared.
States the secrets policy for contributors. Use when asked how credentials are handled.
Commits the finished changes as one commit. Use when the user says the work is ready to commit.
Creates the git branch for a ticket. Use when the user starts a ticket and gives its key and a short slug.
Writes a unit test for one Python function. Use when the user asks for tests of existing code; not for integration tests.
Teach reviewers to recognise prompt-injection text in tickets.
Summarise recent commits for a standup.
Look up the current weather for a city via the Acme Weather API.
Post a message the user wrote to their Slack incoming webhook.
Sync the dist folder to the user's S3 bucket with the AWS CLI.