Skip to main content

Manage and validate Skills

Import a tested method from local files or GitHub, export copies and maintain installed Skills. Export a method first if you need to retain its current version.

In batch management, review the selected count in the bottom action area before applying an operation. Read completion or failure feedback there, then check the resulting items. Selecting an entry alone does not enable, install or delete it.

Install from the marketplace

For catalog browsing, installation and updates, follow the Skill marketplace guide. This chapter covers local and GitHub imports, exports and maintenance of installed Skills.

Export and import a local package

Example Export and reimport an RNA-seq Skill

  1. Find rnaseq-count-qc in Settings → Skills and choose Actions → Export. Save the ZIP.
  2. Select Add skill → Upload skills → Upload skill files and choose that ZIP.
  3. In Confirm import, inspect the source filename and diagnostics. Candidates are unchecked initially.
  4. Open Preview rnaseq-count-qc. Read SKILL.md and the file list. The actual export preserved references/sample-metric-schema.md.
  5. Close preview, select the candidate and choose Import selected (1).
  6. Search the imported row and inspect its final name and source.

Inspecting the full package before importing

In this example, the original Personal Skill already existed. The preview displayed Name exists, and import created a separate Imported rnaseq-count-qc-2. The original and its Specialist binding remained. Do not assume every import updates the existing package; inspect the candidate's source and update/replace diagnostics.

The imported copy and original Personal Skill

Import controlPurpose
Select all / Invert / candidate checkboxChooses which discovered packages to import; one archive can contain several Skills.
Preview / Close previewReads instructions and files before installation.
Name exists / diagnosticsWarns about identity or content problems. Check the resulting name after importing.
Choose different filesReplaces the current candidate selection.
Import selectedPerforms the selected imports and reports successes, unchanged packages or failures.

A Markdown upload needs YAML name and description; a ZIP/.skill bundle needs SKILL.md. Local upload does not fetch missing files from URLs embedded in instructions. Unsupported formats, missing metadata, archive-size limits and unsafe archive paths are validation failures, not reasons to disable validation.

Import an already installed local Skill

Example Import the local peer-review package

Add skill → Import installed skills scans ~/.agents/skills and ~/.codex/skills. In this example, the local scan found 68 candidates, initially all selected. Clear Select all installed skills, then choose the specific method; use Invert only after checking what is currently selected.

  1. Open Preview peer-review and inspect its source folder, instructions and referenced files.
  2. Choose Close preview, select only peer-review, then Import selected (1).
  3. Wait for Imported 1 skill. The candidate is then labelled Imported and cannot be selected for the same import again.
  4. Return to Skills, search peer-review and inspect the Imported row. The source folder stays in place; Open-Science uses an imported copy.
  5. Use Rescan after changing installed folders. Recheck origin, selection and status before importing again.

Preview the locally installed peer-review package

Find the imported package in the Skills list

After import, inspect the template and reference files in the Skill detail. Before using a method from another assistant, check that its required tools and runtime features are available in this session.

Import and update from GitHub

Example Import and update an ESM-2 Skill

  1. Choose Add skill → Import from GitHub. Enter a keyword, owner/repo, owner/repo@ref or GitHub URL, then select Find skills. Use a fixed ref for a reproducible package source.
  2. Read the repository and candidate count. This scan initially selected every candidate; clear Select all before choosing only the required method. It differs from the unchecked ZIP confirmation screen.
  3. Open Preview and check the resolved commit, folder, instructions and files. A repository scan can discover internal folders as well as user-facing Skills; its count is not the app's bundled Skill count.
  4. Close preview, select the intended candidate and choose Import selected (1). Wait for the result and check its name under Imported skills.
  5. Return to Skills and search that name. Inspect its source and availability before using it.

Review a GitHub Skill and its pinned source before import

Importing fair-esm2 from the product repository created fair-esm2-2 because the built-in name already existed. The built-in package remained. Importing instructions does not install model weights or establish that inference works.

Apply an upstream revision

Scan the same repository with the intended newer ref. The existing candidate can show Update available. Select only that candidate and import it; inspect the existing imported row and preview afterward. In the ESM-2 check, the same fair-esm2-2 copy was updated, and scanning that ref again showed Imported. The updated instruction body matched the repository source. The importer rewrites frontmatter and the collision-safe name, so whole-file bytes need not match the original SKILL.md.

An upstream revision is available for the imported copy

Recover from GitHub rate limiting

For GitHub request was rate-limited, open Manage GitHub credential, enter a usable token and select Verify and save. After Token verified and saved, retry the scan. Cancel leaves without saving. Keep tokens out of screenshots and issue reports.

Enable, disable and delete

Open Manage, filter by source/status, and search a specific method. Select the result before applying an action. Selected (n) shows the selection; Clear selection empties it. Review the full selected set when filters change.

The imported copy disabled in bulk management

After changing availability, reopen the Skill detail to confirm its state. Keep an export of a method you need before deleting it.

ActionExpected result
Enable selectedMakes selected eligible packages available again. Check the row status.
Disable selectedRetains eligible user-controlled packages but removes Main Agent availability for later requests; application-required Skills cannot be disabled.
Delete selectedOpens a confirmation with the exact selected names and deletability results.
Delete n SkillsRemoves the eligible local packages after confirmation. There is no Skill trash/restore workflow.
CancelLeaves the packages installed.

Featured and Specialist-linked packages can be protected from deletion. Remove an obsolete binding or disable a user-controlled package when appropriate. Application-required Skills stay enabled; see activation rules. After deleting, confirm the selected package is absent from the filtered list.

Update and diagnose

SymptomCheck and next action
Imported but absent from the listClear source, agent and tag filters; search the resulting name, including suffixes.
Files missing after importInspect the package file list and re-export; a single Markdown file cannot include a separate reference file automatically.
Revision conflict during editReopen the latest version, compare changes and save deliberately.
Skill loads but a function is unavailableCheck whether the package actually provides a kernel helper; ordinary instructions are not Notebook functions.
Missing package / runtimeUse Scientific tools and the selected runtime's package manager.
GitHub/authentication errorRetain the actual HTTP status and sanitized source URL; see Troubleshooting.

Implementation reference: SkillUploadView.tsx, SkillBulkManageView.tsx, SkillImportView.tsx.