skillctx-ify

A migration tool that moves hardcoded, environment-specific values in an agent skill into a shared configuration file and adds code to resolve them.

In plain words
What is it for?
Use it to make an installed skill portable across people and environments, or to detect an existing migration before updating it.
Why use it?
It removes personal paths, usernames, channel IDs, and similar details that make a skill difficult to reuse elsewhere. It also checks whether the skill has already been migrated.

Skill for Claude CodeCodex

Part of the skillctx plugin — 2 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/jackchuka/skillctx/skillctx-ify
Any agent
npx skills add jackchuka/skillctx --skill skillctx-ify
Clone the repo
git clone --depth 1 https://github.com/jackchuka/skillctx

Made for: Claude Code, Codex.

Or install skillctx, the plugin that ships this one along with the rest of its 2 skills.

Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,559 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00054 $0.01559
Opus 5 $0.00027 $0.00779
Sonnet 5 $0.00011 $0.00312
Haiku 4.5 $0.00005 $0.00156

Measured 2d ago against content hash 3e68f4156e5b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

skillctx-ify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/resolve.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/skillctx-ify/SKILL.md · 130 lines

How it starts

The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.

skillctx-ify

Migrate a skill to use skillctx for skill variable resolution.

When to Use

  • Making a skill portable (removing hardcoded values)
  • Setting up a new skill to use skillctx
  • User says "skillctx-ify" or "migrate skill to skillctx"

Prerequisites

  • Python 3.10+ (for the resolver script)
  • Target skill must be installed and discoverable by the agent host

Workflow

Phase 1: Scan and classify

  1. Locate the target skill: Find the skill directory by name. Follow symlinks to the actual directory.

  2. Check for prior migration: Check for <!-- skillctx:begin --> marker in the skill's SKILL.md. If found, check metadata.skillctx.version in frontmatter.

    • If version matches current: report already migrated, stop.
    • If version is older: suggest running skillctx-sync to update.
  3. Read the skill files: Read SKILL.md and all referenced files in the skill directory. Also read references/known-patterns.md for classification guidance.

  4. Identify candidates: Scan the content for hardcoded values that are user-specific or environment-specific — usernames, Slack channel IDs, filesystem paths, org names, etc. For each candidate, determine:

    • Is this actually a skill variable or a generic/example string? Use context (tool calls vs prose), repetition, and specificity to decide.
    • What category does it belong to in vars? Use existing config categories as a guide. Defaults: identity, slack, paths, blog.
    • What should the binding key be named? See Binding Key Naming below.
  5. Read existing config: Read ${XDG_CONFIG_HOME:-~/.config}/skillctx/config.json if it exists. If not, note it needs to be created. Reuse existing vars when the value already exists in the config — don't create duplicates.

Phase 2: Confirm and rewrite

  1. Present proposed changes to user in a table like this:

    Hardcoded value File:line Binding key Var dotpath New?
    CABC123DEF SKILL.md:42 channel_id vars.slack.channel_id yes
    alice SKILL.md:10 github_username vars.identity.github_username no (exists)

Read the full file on GitHub · 130 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 130 lines · 54 tokens per session scan A 3e68f4156e5b

Subscribe to this mod's changes

skillctx-ify is a skill published in the GitHub repository jackchuka/skillctx (5 stars, last pushed 16d ago), licensed MIT. It adds 54 tokens to every session and 1,559 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

gemini-omni-flash-api

Use this skill for generative video editing, text-to-video, image-referenced video generation, first-frame-to-video, first-and-last-frame transitions, and video extensions using Gemini Omni 1.1 Flash (gemini-omni-1.1-flash) via the official google-genai SDK. Includes workflows for pre-processing/optimizing…

google-gemini/gemini-skills · 107 tokens

gemini-api-dev

Use this skill when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses, background research tasks, function calling, structured output, or migrating from the old generateContent API. Covers SDK usage and best…

google-gemini/gemini-skills · 73 tokens

gemini-live-api-dev

Use this skill when building real-time, bidirectional streaming applications with the Gemini Live API. Covers WebSocket-based audio/video/text streaming, voice activity detection (VAD), native audio features, function calling, session management, ephemeral tokens for client-side auth, live translation, and all Live…

google-gemini/gemini-skills · 88 tokens

gemini-watermark-remover

Remove visible Gemini image watermarks from local image files by calling the project's CLI. Use when the user wants an agent to clean one or more local Gemini-generated images and save de-watermarked output files.

GargantuaX/gemini-watermark-remover · 47 tokens

hobby-or-business

Separate project enthusiasm from business reality when a user wants to monetize an idea they've already decided to build. Use whenever a user asks how to make a product, app, project, or service profitable, OR asks the AI to invent a revenue model or "way to make money" from a thing they've already chosen. Trigger on…

machinesoul11/anti-sycophant-ai-agent-skills · 217 tokens

one-real-conversation

Push the user toward real validation — one honest conversation with a qualified human — instead of validation theater. Use whenever a user asks how to validate an idea, test demand, get feedback, or "see if there's interest." Trigger on phrases like "how do I validate this", "how do I test if people want it", "should…

machinesoul11/anti-sycophant-ai-agent-skills · 223 tokens