What problem does it solve? Contributors to Git::Libgit2 repeatedly violate the same architectural rules: leaking opaque libgit2 handles, misdeclaring FFI out-params, and writing tests that silently read the user's ~/.gitconfig and pass locally but fail in CI. This Skill loads the project's core architecture contract into context before any editing begins. ## Core Features & Use Cases - Binding recipe: Defines the exact four-step workflow for adding a libgit2 binding — register the opaque type, add the _attach line, write the =func POD block, and add a smoke test. - Ownership and FFI rules: Documents the mandatory _new/_free pairing, the singleton FFI::Platypus instance, and known FFI gotchas such as opaque vs opaque* out-params and credential callback closure types. - Test isolation contract: Enforces GIT_CONFIG_GLOBAL/GIT_CONFIG_SYSTEM redirection to /dev/null and recursive prove -lr t/ runs. - Use Case: An agent asked to bind a new libgit2 function (e.g. git_blame) loads this Skill first, then follows the canonical recipe without re-deriving ownership or test conventions. ## Quick Start Load this Skill before making any change to the Git::Libgit2 distribution so the binding, ownership, and test-isolation rules are applied.