Codex Skill Admin logo

Codex Skill Admin

Community
zjp1997720
codex-skill-admin

核对、启停或恢复Codex Skill可见性与加载开销;不卸载插件。

Overview

Publisherzjp1997720
Repositoryzhijian-skills
Skill namecodex-skill-admin
Stars
780
Forks
99
Bundled files
3
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by zjp1997720 on GitHub. Read the source before you install it.

Installation

Install the Codex Skill Admin AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/zjp1997720/zhijian-skills/tree/main/skills/codex-skill-admin
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zjp1997720/zhijian-skills.git /tmp/zhijian-skills
mkdir -p .claude/skills
cp -r /tmp/zhijian-skills/skills/codex-skill-admin .claude/skills/codex-skill-admin
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Codex Skill Admin in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Codex Skill Admin on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Codex Skill Admin is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Codex Skill Admin

Use Codex's official skill config API. Do not edit SKILL.md frontmatter to disable a skill, and do not uninstall plugins unless the user explicitly asks for uninstall.

Quick Start

Use the bundled script for normal work:

bash
SKILL_DIR="${CODEX_SKILL_ADMIN_DIR:-$HOME/.agents/skills/codex-skill-admin}"
if [ ! -d "$SKILL_DIR" ]; then
  SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/codex-skill-admin"
fi
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" list --cwd "$PWD"
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" audit-unused --cwd "$PWD" --days 30
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" disable-unused --cwd "$PWD" --days 30
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" disable-unused --cwd "$PWD" --days 30 --apply
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" disable-unused --cwd "$PWD" --days 10 --max-uses 2
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" audit-unused --cwd "$PWD" --days 30 --exclude-session /path/to/session.jsonl
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" verify --cwd "$PWD"

The script starts a temporary localhost codex app-server, calls:

  • skills/list
  • skills/config/write

It saves apply-mode backups under:

text
${CODEX_HOME:-$HOME/.codex}/backup/skill-disable-unused-YYYYMMDD-HHMMSS/

Workflow

  1. Run list to get the current total, enabled, and disabled counts.
  2. Run audit-unused --days 30 to inspect high-confidence recent usage.
  3. Optionally add --max-uses N to include low-frequency skills. Example: --days 10 --max-uses 2 targets enabled skills used in at most 2 distinct recent session/source files.
  4. Run disable-unused --days 30 without --apply and inspect the dry-run output.
  5. If the user asked to close unused or low-frequency skills, run disable-unused --apply.
  6. Verify with verify, or with list --force-reload plus prompt-count.
  7. Report counts, backup path, threshold parameters, and any limits of the usage evidence.

System skills are preserved by default. Use --include-system only when the user explicitly asks to consider system skills too.

The Codex desktop Skills tab count is a total discovered skill count. It is expected to stay unchanged after disabling skills. Treat enabledCount and availableSkillCount as the token-load success metrics.

Usage Evidence

The audit is intentionally conservative:

  • Count a read only when a function_call or custom_tool_call contains an actual file-read operation. functions.exec wrappers are parsed for read commands such as cat and sed; structured read tools are parsed from their path input.
  • Require a matching tool result. A result marked successful, with exit code 0, or with non-empty output counts as success; a failed result never counts as usage.
  • Filter each event timestamp by the requested window. A recent session file does not make an old event recent. Missing or unparseable timestamps are reported as unknown and do not count as usage.
  • Count usageCount as distinct evidence session/source files. Repeated successful reads in one session increase evidenceCount, but do not inflate usageCount.
  • Keep failed, unmatched, unknown, and unsupported read intents in separate audit fields. They protect the affected enabled Skill from becoming a disable candidate until the evidence is classifiable.
  • Ignore prose mentions, SKILL.md paths in general audit/available-Skills listings, and OMO fingerprints without structured tool events. OMO events are counted only when they retain the same call/result evidence.

This is local evidence, not the product Profile page's server-side analytics.

audit-unused and disable-unused accept repeatable --exclude-session PATH arguments. They also read CODEX_SKILL_ADMIN_SESSION, CODEX_SESSION_FILE, CODEX_SESSION_PATH, CODEX_SESSION_ID, and CODEX_THREAD_ID when set, so the current audit session can be excluded without copying private session data. The default --exclude-current-audit setting ignores calls that invoke this script's own audit-unused or disable-unused command; use --no-exclude-current-audit only when inspecting that invocation itself. An excluded session is reported in excludedSessionCount and does not contribute evidence.

The audit JSON keeps the existing usedEnabled, disableCandidates, usageCount, and evidenceCount fields. It additionally reports the per-path readIntent, unknown, failed, and unsupported evidence, plus uncertainEnabled, rawReadIntentSkillPathCount, rawUnknownSkillPathCount, rawFailedSkillPathCount, unsupportedEvidenceCount, outsideWindowCount, and missingTimestampCount. disableCandidates contains enabled Skills with no proven usage and no uncertain read intent; an uncertain or unsupported record is never silently treated as zero use.

If the same skill appears through multiple equivalent paths, set path aliases before auditing:

bash
export CODEX_SKILL_ADMIN_PATH_ALIASES="/old/root=/new/root"

Use the platform path separator for multiple aliases.

Verification

After an apply run:

  1. Run verify --cwd "$PWD".
  2. Confirm enabledCount dropped and target skills appear in list --force-reload --disabled.
  3. Confirm availableSkillCount dropped versus the pre-run count when disabled skills were previously prompt-visible.
  4. Ignore the desktop UI tab count for token savings; it counts total discovered skills, including disabled ones.
  5. If the result is wrong, run restore --backup-dir <backupDir> using the backup path from the apply output.

Backup files include local skill paths and usage evidence. Treat them as private machine-local diagnostics.

Restore

Restore a previous disable run:

bash
SKILL_DIR="${CODEX_SKILL_ADMIN_DIR:-$HOME/.agents/skills/codex-skill-admin}"
if [ ! -d "$SKILL_DIR" ]; then
  SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/codex-skill-admin"
fi
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" restore --backup-dir "${CODEX_HOME:-$HOME/.codex}/backup/skill-disable-unused-YYYYMMDD-HHMMSS"

Direct Set

Use set for specific skill toggles only after listing or otherwise confirming the target name/path:

bash
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" set --name codex-skill-admin --no-enabled
python3 "$SKILL_DIR/scripts/codex_skill_admin.py" set --name codex-skill-admin --no-enabled --apply

Without --apply, set prints a dry run and writes nothing.

Manual Protocol Notes

Read references/app-server-protocol.md only when the script fails or the Codex app-server protocol changes.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Codex Skill Admin AI skill do?

核对、启停或恢复Codex Skill可见性与加载开销;不卸载插件。

Why use Codex Skill Admin on TypingMind?

Because you install it once and use it with any model. Codex Skill Admin is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Codex Skill Admin in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zjp1997720/zhijian-skills/tree/main/skills/codex-skill-admin. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Codex Skill Admin?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Codex Skill Admin?

As many as you like. As long as a model supports skills, you can use Codex Skill Admin with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Codex Skill Admin AI skill free?

Yes. It is published on GitHub by zjp1997720 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇