Ffi design
Skill a5c-ai/babysitter/library/specializations/programming-languages/skills/ffi-design
Babysitter enforces obedience on agentic workforces and enables them to manage extremely complex tasks and workflows through deterministic, hallucination-free self-orchestration
npx -y skills add a5c-ai/babysitter --skill ffi-designAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Expert skill for designing and implementing foreign function interfaces to native code
SKILL.md
2.0 KB, as published. Nobody here has run it
FFI Design Skill
Overview
Expert skill for designing and implementing foreign function interfaces to native code.
Capabilities
- Design FFI declaration syntax
- Implement type marshaling between languages
- Handle C calling conventions (cdecl, stdcall, fastcall)
- Implement callback support (native calling managed)
- Handle string encoding conversions
- Implement struct layout matching (padding, alignment)
- Design memory ownership transfer rules
- Support dynamic library loading
Target Processes
- ffi-implementation.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
- code-generation-llvm.js
Dependencies
- libffi
- Platform ABI documentation
Usage Guidelines
- Safety: Design safe wrappers around unsafe FFI calls
- Marshaling: Document type marshaling rules explicitly
- Ownership: Make memory ownership clear at FFI boundaries
- Callbacks: Handle callback lifetimes carefully
- Strings: Handle string encoding conversions correctly (UTF-8, UTF-16)
Output Schema
{
"type": "object",
"properties": {
"callingConventions": {
"type": "array",
"items": { "type": "string" }
},
"marshalingRules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sourceType": { "type": "string" },
"targetType": { "type": "string" }
}
}
},
"callbackSupport": { "type": "boolean" },
"generatedFiles": {
"type": "array",
"items": { "type": "string" }
}
}
}