FFI Design
Expert skill for designing and implementing foreign function interfaces to native code
Best use case
FFI Design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Expert skill for designing and implementing foreign function interfaces to native code
Teams using FFI Design should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ffi-design/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How FFI Design Compares
| Feature / Agent | FFI Design | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Expert skill for designing and implementing foreign function interfaces to native code
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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
1. **Safety**: Design safe wrappers around unsafe FFI calls
2. **Marshaling**: Document type marshaling rules explicitly
3. **Ownership**: Make memory ownership clear at FFI boundaries
4. **Callbacks**: Handle callback lifetimes carefully
5. **Strings**: Handle string encoding conversions correctly (UTF-8, UTF-16)
## Output Schema
```json
{
"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" }
}
}
}
```Related Skills
rest-api-design
RESTful API design principles, versioning, pagination, HATEOAS, and documentation.
design-tokens
Design token management, generation, and multi-platform support.
design-token-transformer
Transform design tokens across multiple formats and platforms. Parse W3C design token format, transform to CSS/SCSS/JS/iOS/Android, handle token aliases and references, and generate documentation.
design-system-validator
Validate design system compliance in code and detect token usage violations
scope-permission-designer
Design and implement scoped permission models
rate-limiter-designer
Design and implement rate limiting strategies
protobuf-grpc-designer
Protocol Buffers and gRPC service definition with backward compatibility checks
middleware-chain-designer
Design middleware and interceptor chains for SDK extensibility
graphql-schema-designer
GraphQL schema design and optimization with federation support
SSA/IR Design
Expert skill for designing intermediate representations and implementing SSA construction
Grammar Design
Expert skill for formal grammar design including disambiguation, precedence, and validation
Survey Design
Design and analyze surveys for product validation and user research