Become a provider
The "Level up your AI" catalog collects skills and rules from public GitHub repositories. Your files stay in your repository. The catalog reads it after every push and shows the description of your items. The files for installation are built by the site itself, for the agent and the install location, with SHA-256 checksums.
Requirements
- a public GitHub repository;
- an open permissive license for the repository:
MIT,Apache-2.0,BSD-2-Clause,BSD-3-Clause,ISC,0BSD,MIT-0,UnlicenseorCC0-1.0. Copyleft licenses (GPL, AGPL) are not accepted. GitHub detects the license from theLICENSEfile; - items live in the
ufo-tech.ai/folder; - no secrets, tokens, internal URLs or personal data in any file.
How to publish
- Build the item in
ufo-tech.ai/of your repository. The Skill author for the UFO Tech catalog skill does it for you: it knows every requirement on this page. - Sign in on the site with GitHub.
- Install the catalog's GitHub App on the repositories you want to publish. The app gets read-only access to their contents and tells the catalog about every push.
- Push to the default branch. The catalog reads the repository right away. Items appear as soon as they pass the checks, and skipped items are listed with the reason in your account.
Layout
The catalog reads only the ufo-tech.ai/ folder. Any nesting is allowed inside it: the scanner stops at the first folder that contains manifest.yaml, and that folder is one item.
ufo-tech.ai/
├── skills/my-skill/
│ ├── manifest.yaml
│ ├── README.en.md # required
│ ├── README.uk.md # optional, one file per language
│ ├── shared/ # common for all agents (optional)
│ ├── claude/SKILL.md
│ └── codex/SKILL.md
└── rules/my-rule/
├── manifest.yaml
├── README.en.md
└── universal/my-rule.md # the rule itself, one file for every agent
- Variants are folders named after agents:
claude(Claude Code),codex(Codex). A rule'suniversalis installed for every agent, a skill'suniversalis only read by link. shared/holds files common to all variants. They are merged into each variant at install time, so do not copy them.- Required files: a valid
manifest.yaml, at least one variant folder,SKILL.mdin every skill variant (at least one.mdfor a rule) andREADME.en.md. An item missing any of them is skipped, and the other items of the repository are still published.
manifest.yaml
version: 1.0 # manifest format version
name: vendor/my-skill # vendor/name, lowercase kebab-case Latin; never changes after publishing
type: skill # skill | rule
title:
en: English title # English is required
uk: Назва українською # other languages are optional
summary:
en: One or two sentences — what it does and when it helps.
uk: Одне-два речення — що робить і коли корисно.
authors: # like in composer.json
- name: some name
email: you@example.com # optional; never shown
support: # like in composer.json
source: https://github.com/vendor/ai-skills
issues: https://github.com/vendor/ai-skills/issues
tags: [php, symfony]
platforms: [macos, linux] # optional; can only narrow the platforms detected from the scripts
If there is no translation into the page language, the catalog shows the item in English with a note.
Vendor and authors
- A vendor belongs to the GitHub account that first published an item with it. Other maintainers, for example colleagues from your organization, are added by an existing maintainer in the account. An item with a vendor you do not maintain is not accepted.
- Authors are the person who added the item and the co-authors they listed in the account. The name and the avatar come from GitHub. A co-author gets a confirmation request, plus an invitation email if they have not visited the site yet.
- Authors from the manifest are shown on the item page too. An author becomes verified, with a link, only when the
emailin the manifest matches their account and they have confirmed the authorship in their own account. Otherwise only the name is shown.
Versions
The manifest has no version field. The catalog reads the default branch of the repository and semver tags:
- a repository tag
v1.2.3gives version1.2.3to every item whose files changed since its previous version; unchanged items keep theirs; - an item tag
<name>@1.2.3, e.g.my-skill@1.2.0, versions a single item the same way; - a change in the default branch without a tag becomes version
YYYY.MM.DD.<hash>: the date and the short commit hash. The list shows only the latest such version, and only while no tag came after it; - pre-releases (
1.3.0-beta.1) are listed but never installed by default; - the number of a deleted tag stays taken: it is shown struck through, and a new tag with the same number is ignored with an explanation in your account.
By default the newest tagged version is installed, or the newest generated one when there are no tags. Users can pick any available version on the item page or name it to their agent.
Platforms and placeholders
- Platforms are detected from the scripts of the item: only
.sh→ macOS and Linux, only.ps1→ Windows, both or none → every platform. Theplatformsfield can only narrow that list. The catalog filters items by platform. - Never write the skill name or the install folder yourself. Only the site knows them, at download time. Use placeholders in text files, and the site fills them in for the agent and the install location:
| Placeholder | Value |
|---|---|
{{ufo.skill_name}} |
the skill folder name in the agent, including the vendor |
{{ufo.skill_dir}} |
the install folder for the chosen agent and location |
{{ufo.agent}} |
the agent: claude, codex, … |
{{ufo.scope}} |
project or global |
Write name: {{ufo.skill_name}} in SKILL.md. An item README may use only {{ufo.skill_name}}. An unknown {{ufo.*}} placeholder makes the item invalid. The full specification is in reference.md of the UFO-Tech/ai-skills repository.
Checks and your account
Every time it reads the repository, the catalog checks:
- the repository license;
- the manifest and the required files;
- the placeholders;
- whether any file looks like it contains secrets;
- the item size.
An item that fails a check is not published, and the reason is shown in your account. The account also shows the status of the last update of each repository.
Ratings, complaints, moderation
- Visitors signed in with GitHub like or dislike items. Maintainers of a vendor cannot rate its items.
- Signed-in visitors can report an item. A reported item stays in the catalog marked as under review and is checked by a moderator. An item reported as malicious is hidden until the review.
- A moderator can hide an item, hide all items of a vendor or block a vendor. You will see the reason in your account.