UFO Tech catalog — find and install

Teaches an agent to find skills and rules in this catalog and install them into a project or globally, with checksum verification.

Install through your agent — tell it:

Read https://ufo-tech.space/ai/install.md and install the ufo-catalog skill from the UFO Tech catalog.

Installation

Claude Code

Into the project — .claude/skills/ufo-catalog

macOS, Linux, WSL, Git Bash

mkdir -p ".claude/skills/ufo-catalog"
curl -fsSL https://ufo-tech.space/ai/files/skill/ufo-catalog/claude/SKILL.md -o ".claude/skills/ufo-catalog/SKILL.md"

Windows PowerShell

New-Item -ItemType Directory -Force ".claude\skills\ufo-catalog" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/ufo-catalog/claude/SKILL.md -OutFile ".claude\skills\ufo-catalog\SKILL.md"
Globally, for all projects — ~/.claude/skills/ufo-catalog

macOS, Linux, WSL, Git Bash

mkdir -p "$HOME/.claude/skills/ufo-catalog"
curl -fsSL https://ufo-tech.space/ai/files/skill/ufo-catalog/claude/SKILL.md -o "$HOME/.claude/skills/ufo-catalog/SKILL.md"

Windows PowerShell

New-Item -ItemType Directory -Force "$HOME\.claude\skills\ufo-catalog" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/ufo-catalog/claude/SKILL.md -OutFile "$HOME\.claude\skills\ufo-catalog\SKILL.md"

Codex

Into the project — .agents/skills/ufo-catalog

macOS, Linux, WSL, Git Bash

mkdir -p ".agents/skills/ufo-catalog"
curl -fsSL https://ufo-tech.space/ai/files/skill/ufo-catalog/codex/SKILL.md -o ".agents/skills/ufo-catalog/SKILL.md"

Windows PowerShell

New-Item -ItemType Directory -Force ".agents\skills\ufo-catalog" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/ufo-catalog/codex/SKILL.md -OutFile ".agents\skills\ufo-catalog\SKILL.md"
Globally, for all projects — ~/.agents/skills/ufo-catalog

macOS, Linux, WSL, Git Bash

mkdir -p "$HOME/.agents/skills/ufo-catalog"
curl -fsSL https://ufo-tech.space/ai/files/skill/ufo-catalog/codex/SKILL.md -o "$HOME/.agents/skills/ufo-catalog/SKILL.md"

Windows PowerShell

New-Item -ItemType Directory -Force "$HOME\.agents\skills\ufo-catalog" | Out-Null
Invoke-WebRequest https://ufo-tech.space/ai/files/skill/ufo-catalog/codex/SKILL.md -OutFile "$HOME\.agents\skills\ufo-catalog\SKILL.md"

The agent reads this variant by its link, without installing it: https://ufo-tech.space/ai/files/skill/ufo-catalog/universal/SKILL.md

About

The skill to start with: once it is installed, just tell your agent "find a skill for … in the UFO Tech catalog" or "install the json-rpc-bundle rules into this project".

What it does

  1. Reads the catalog index https://ufo-tech.space/ai/catalog.json — titles, descriptions, tags, files and checksums.
  2. Searches it for your request and shows up to five matches with links to their pages.
  3. Asks where to install: into the project (the whole team gets it once committed) or globally (all your projects).
  4. Shows which files it will write and where, downloads them and checks their SHA-256 against the index.
  5. For rules, adds a reference line to CLAUDE.md or AGENTS.md when the agent needs one.

The agent never runs downloaded scripts and never changes global settings (hooks, settings.json) on its own — it only shows you such steps.

How to install

The easiest way — give any agent the link and ask it to follow it:

Read https://ufo-tech.space/ai/install.md and install the ufo-catalog skill for yourself globally.

By hand — commands for Claude Code and Codex are below on this page, in the "Installation" block.

Updating and removing

Tell the agent "update my skills from the UFO Tech catalog" — it compares checksums and downloads only changed files. To remove: "remove the … skill from the UFO Tech catalog".

<div class="docs-page-votes" data-page-votes hidden data-endpoint="/votes" role="group" aria-label="Rate this page"> <button class="docs-page-votes__button" type="button" data-vote="1" aria-pressed="false" title="Helpful"> <span aria-hidden="true">👍</span> <span class="visually-hidden">Helpful</span> <span data-vote-count>0</span> </button> <button class="docs-page-votes__button" type="button" data-vote="-1" aria-pressed="false" title="Not helpful"> <span aria-hidden="true">👎</span> <span class="visually-hidden">Not helpful</span> <span data-vote-count>0</span> </button> </div> <p class="docs-page-counters" data-page-counters hidden data-endpoint="/_e/page" data-label-total="Viewed {count} {times}" data-label-now="Viewing now: {count}" data-times="{&quot;one&quot;:&quot;time&quot;,&quot;few&quot;:&quot;times&quot;,&quot;many&quot;:&quot;times&quot;,&quot;other&quot;:&quot;times&quot;}"> <span data-page-counters-total></span> <span aria-hidden="true">·</span> <span data-page-counters-now></span> </p>