The GPT Project Skill System ships with a bundled skill called skill-adapter — a preservation-first inspection tool that helps you evaluate whether an external skill package can be adapted to the system’s package format. This page covers what skill-adapter does, how to load it, how to use it, and how to read its output.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xxyoudeadpunkxx/chatgpt-skill-system/llms.txt
Use this file to discover all available pages before exploring further.
What skill-adapter does
Given an external skill folder or ZIP file, skill-adapter:- inspects the candidate mechanically for path safety, ZIP structure, file inventory, and existing manifests;
- chooses a loader mode (fallback or explicit) appropriate for the source;
- drafts a
MANIFEST.jsonyou can use as a starting point; - evaluates compatibility against the system’s rules;
- produces a structured report with a compatibility rating, hard blockers, warnings, and required operator decisions.
What skill-adapter does NOT do
- Does not silently convert or repackage external skills
- Does not auto-install anything into the Project or the skill directory
- Does not run external tools or scripts automatically
- Does not guarantee that any external skill is compatible with the system
- Does not modify the core or any system file
- Does not make a package or skill active
The skill-adapter manifest
This is the realMANIFEST.json for the bundled skill-adapter package:
SKILL.md is the sole mounted instruction file. references/adaptation_report_schema.md is physically available as a support file after unpack but is not mounted automatically. scripts/inspect_skill_candidate.py is a Python tool file — available on disk after unpack, never run automatically.
Loading skill-adapter
Upload the skill ZIP to your Project
Add
dist/skills/skill-adapter.zip to your ChatGPT Project. This makes the ZIP available as a Project source file. The skill is inert at this point — presence does not imply install or activation.Unpack skill-adapter
skill-adapter.zip into /mnt/data/GPT.SKILLS/SKILLS/skill-adapter/. The skill is now physically installed.Using skill-adapter
Once loaded, tell the skill about the external package you want to inspect. You can point it to a folder path or a ZIP file that is accessible in the session.
Inspect the skill candidate at /mnt/user-data/uploads/my-skill.zip
Use skill-adapter to check whether the folder at /mnt/data/candidates/my-external-skill/ is compatible.
skill-adapter follows this workflow internally (from SKILL.md):
Step 1 — Identify the source
Step 1 — Identify the source
Determine whether the input is a folder path, a ZIP path, or an extracted Project source directory. The source shape affects how paths are read and how wrapper detection works.
Step 2 — Inspect mechanically
Step 2 — Inspect mechanically
When file access is available, skill-adapter runs
scripts/inspect_skill_candidate.py against the source. The script checks path safety, ZIP entry format, file inventory, candidate manifests, likely primary file, script files, binary files, and runtime mechanism indicators (such as pip install, daemon, or webhook markers in text files).Step 3 — Choose loader mode
Step 3 — Choose loader mode
Fallback mode is used when root
SKILL.md is the real entry point and primary_file/load_sequence can be safely omitted.Explicit manifest mode is used when the entry point is nested, when extra mounted files are needed, or when clarity requires declaring primary_file and load_sequence explicitly.Step 4 — Preserve structure
Step 4 — Preserve structure
Original folder and file names are kept wherever they are safe. skill-adapter does not flatten folders or rename directories into
references/, scripts/, or assets/ unless safety or compatibility requires it.Step 5 — Draft MANIFEST.json
Step 5 — Draft MANIFEST.json
A candidate
MANIFEST.json is produced with skill_name, version, primary_file, load_sequence, support_files, tool_files, and asset_files filled in based on what was found.Step 6 — Evaluate compatibility
Step 6 — Evaluate compatibility
The draft manifest and package contents are checked against the system’s rules: path safety, UTF-8 readability of mounted files, Python tool compatibility, and absence of external runtime requirements that are not available in the GPT environment.
Step 7 — Report
Step 7 — Report
A structured report is returned with a compatibility rating, hard blockers, warnings, required operator decisions, the manifest draft, and a maximum supported claim.
The inspect script
scripts/inspect_skill_candidate.py is the Python tool file that powers mechanical inspection. After UNPACK, it is physically available at:
| Flag | Purpose |
|---|---|
--slug <name> | Override the inferred skill_name with a specific slug |
--output <file> | Write the JSON report to a file instead of (or in addition to) stdout |
| Field | Description |
|---|---|
compatibility | PASS, PASS_WITH_WARNINGS, or BLOCKED |
manifest_draft | The suggested MANIFEST.json content, or null if blocked |
blockers | List of hard blocker messages preventing a valid package |
warnings | List of warning messages requiring operator review |
python_tools | Per-script import analysis, including non-stdlib imports |
marker_findings | Runtime-specific markers found in text files (e.g. pip install, daemon) |
Output structure
skill-adapter returns a structured report following the adaptation report schema. The sections are:- Full report structure
- Example PASS report
Compatibility ratings
PASS
No hard blockers found. The package can be built under the current rules. Any remaining assumptions are made explicit in the report.
PASS_WITH_WARNINGS
The package can be built, but some files or behaviors require operator review or task-time caution before use.
BLOCKED
A hard blocker prevents a valid package candidate. The report lists exactly which blocker(s) must be resolved before the package can proceed.
Hard blockers
ABLOCKED rating is triggered by any of the following:
- Unsafe paths in the ZIP (absolute paths,
.., backslashes, drive letters, empty segments) - ZIP entries containing
\characters - Missing declared files
- Invalid manifest identity (
skill_namemismatch) - Mounted file not readable as UTF-8
- Script or binary file declared in
load_sequence - Required dependency unavailable in the GPT Python environment
- Required hook, daemon, watcher, external CLI, local app, or network install
Warning conditions
APASS_WITH_WARNINGS rating is triggered by any of the following (without a hard blocker):
- Unknown optional files preserved physically
- Python tool scripts that import non-stdlib modules not confirmed available in the GPT environment
- Binary assets that need task-time handling
- Platform-specific wording in the source skill
- Source instructions that assume a different assistant runtime (e.g., references to Claude)
Loading Skills
How to unpack and load skill packages, including slug validation rules and hard fail conditions.
Session Lifecycle
Full boot sequence, core reboot behavior, cooperative composition, and focus hygiene.