Agent skill

Gem Port

by mbrock in mbrock/filnix

Port Ruby gems with native C extensions to Fil-C. An agent skill from mbrock/filnix.

No licenceAuto-check passed

Install Gem Port

skills CLI
$ npx skills add mbrock/filnix --skill gem-port -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mbrock/filnix gem-port --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mbrock/filnix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/gem-port .claude/skills/gem-port && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gem-port
GitHub stars
125
Token cost
~940 tokens
SKILL.md length
246 words
Files
4
Skills in repo
1
Repo updated
First seen
Licence
None found

At a glance

Port Ruby gems with native C extensions to Fil-C. An agent skill from mbrock/filnix.

  • Works in 6 steps: Unpack gem → Find ext structure → Run extconf.rb → …
  • Fixing gem compilation errors
  • SKILL.md covers Context, Workflow, ast-grep Usage and rubyports.nix Helpers, plus 1 more section
  • Calls nix, ruby and make; needs ERROR_TOKEN

What it does

Gem Port is an agent skill from mbrock/filnix. Port Ruby gems with native C extensions to Fil-C. Use when fixing gem compilation errors, VALUE/int type mismatches, rbattr/rbprotect issues, or using ast-grep for Ruby C extensions.

Its SKILL.md is about 940 tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `AST_GREP.md`, `FIXES.md` and `REFERENCE.md`).

It works with Ruby. The repository describes itself as: Fil-C as a Nix C/C++ toolchain and cross platform.

When your agent uses it

  • Fixing gem compilation errors
  • VALUE/int type mismatches
  • Rbattr/rbprotect issues
  • Using ast-grep for Ruby C extensions

Example prompts

  • “/gem-port”

Requirements

  • A credential in ERROR_TOKEN

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Unpack gem
  2. Find ext structure
  3. Run extconf.rb
  4. Build and capture errors
  5. Fix and iterate
  6. Add to rubyports.nix and verify

What it can do on your machine

Read from SKILL.md and the folder at commit 54c476a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • nix
    • ruby
    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ERROR_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gem Port loads about 940 tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 246 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~940

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Without a licence we can't republish the file, so here is its outline and opening line. It has 246 words (~940 tokens).

“Fil-C is a memory-safe C compiler. Ruby's VALUE type becomes a pointer (struct rb_value_unit_struct *) instead of an integer. This breaks code that:”

— opening of SKILL.md by mbrock
name
gem-port

Read the full SKILL.md on GitHub

Files

SKILL.md and 3 other files in .claude/skills/gem-port of mbrock/filnix.

  • SKILL.md
  • AST_GREP.md
  • FIXES.md
  • REFERENCE.md

Open the folder on GitHubat commit 54c476a

Compare with similar skills

Gem Port next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gem Port compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gem Port this skillmbrock/filnix125—~940Automated safety check: PassNone
Gumroad Prod Consoleantiwork/gumroad9.8k—~2.9kAutomated safety check: NotesMIT
Fastlane Pull Request Reviewfastlane/fastlane42k—~550Automated safety check: PassMIT
Antipattern Preventiondoorkeeper-gem/doorkeeper5.5k—~1.1kAutomated safety check: PassMIT
Mutantmbj/mutant2.2k—~2kAutomated safety check: PassProprietary
Evaluating Pegslineofflight/frankfurter2k—~1.6kAutomated safety check: PassMIT

Similar skills

  • Gumroad Prod Console

    antiwork/gumroad

    Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.

    9.8k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Reviews a fastlane pull request against its linked issue and the project guides, separating blocking from non-blocking findings and handling vulnerabilities privately.

    42k GitHub stars~550 tokensUpdated today
    DevelopmentAuto-check passed
  • Antipattern Prevention

    doorkeeper-gem/doorkeeper

    Avoid common Ruby and Rails antipatterns that degrade maintainability and performance.

    5.5k GitHub stars~1.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Mutant

    mbj/mutant

    Run mutant, read mutation reports, fix alive mutations, and verify coverage.

    2.2k GitHub stars~2k tokensUpdated 7 days ago
    Testing & QAAuto-check passed
  • Evaluating Pegs

    lineofflight/frankfurter

    A skill your agent uses when adding, evaluating, or removing an entry in db/seeds/pegs/, when the user mentions a pegged or fixed currency, or when an issue suggests we should "pin" or "lock" a…

    2k GitHub stars~1.6k tokensUpdated 7 days ago
    Auto-check passed
  • Swig CI Repro

    swig/swig

    Reproduce a GitHub Actions Linux CI failure locally when it does not happen on your machine: a podman/docker image that mirrors the ubuntu-22.04 runner by reusing the real Tools/CI-linux-.sh install…

    6.3k GitHub stars~1.2k tokensUpdated 3 days ago
    DevOps & CloudAuto-check passed

Works with

Questions about Gem Port

What does Gem Port do?

Port Ruby gems with native C extensions to Fil-C. An agent skill from mbrock/filnix. Gem Port is an agent skill from mbrock/filnix. Port Ruby gems with native C extensions to Fil-C.

When should I use Gem Port?

Gem Port fits situations like: fixing gem compilation errors; VALUE/int type mismatches; rbattr/rbprotect issues; using ast-grep for Ruby C extensions.

How do I install Gem Port in Claude Code?

Run `npx skills add mbrock/filnix --skill gem-port -a claude-code`. Or copy the skill folder (.claude/skills/gem-port in mbrock/filnix) into .claude/skills/gem-port in your project. Claude Code loads it when a task matches its description.

How do I install Gem Port in Codex?

Run `npx skills add mbrock/filnix --skill gem-port -a codex`. Or copy the skill folder (.claude/skills/gem-port in mbrock/filnix) into .agents/skills/gem-port in your project. Codex loads it when a task matches its description.

Can I use Gem Port in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mbrock/filnix --skill gem-port -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gem-port, .gemini/skills/gem-port, .github/skills/gem-port and .opencode/skills/gem-port in your project.

What does Gem Port need to run?

Going by SKILL.md and its folder, Gem Port needs the command-line tools its instructions call (nix, ruby and make) and credentials named ERROR_TOKEN. Our summary lists: A credential in ERROR_TOKEN.

Does Gem Port access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Gem Port safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gem Port use?

No licence was found for Gem Port or its repository. Without one, default copyright applies: ask the author before reusing or redistributing it.

How many tokens does Gem Port use?

About 940 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gem Port?

Skills that share tags, products or a category with Gem Port: Gumroad Prod Console (antiwork/gumroad, 9.8k stars), Fastlane Pull Request Review (fastlane/fastlane, 42k stars), Antipattern Prevention (doorkeeper-gem/doorkeeper, 5.5k stars) and Mutant (mbj/mutant, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gem Port?

mbrock (a GitHub user) maintains it in mbrock/filnix, which has 125 GitHub stars. The repository was last updated on October 6, 2026.

Source: mbrock/filnix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.