Get started

For agents

The discovery protocol is a single fetch:

GET https://skills.internetcomputer.org/llms.txt

That file contains agent instructions: it tells your agent to fetch the skills index and to pull matching skills on demand when a task fits a skill's description. Paste the URL and your agent handles the rest.

GET https://skills.internetcomputer.org/api/skills.json

A structured JSON index of all skills with titles, descriptions, categories, and direct URLs to each format (HTML, Markdown, JSON). Use this when you need to parse the catalogue programmatically.

Use the CLI

Install all skills at once. Auto-detects your agents (Claude Code, Cursor, Copilot, and more) and writes the skills into their rules files:

npx skills add dfinity/icskills

Or install a single skill by name:

npx skills add dfinity/icskills --skill ckbtc

Add AGENTS.md to your repo

Commit once, and every agent session auto-discovers ICP skills. Create an AGENTS.md in your project root:

# AI Agent Instructions

Tested implementation patterns for ICP development are available as agent skills.
Before writing any ICP code, fetch the skills index and remember each skill's name and description:
https://skills.internetcomputer.org/.well-known/skills/index.json

When a task matches a skill's description, fetch its content on-demand from:
https://skills.internetcomputer.org/.well-known/skills/{skill-name}/SKILL.md

Skills contain correct dependency versions, configuration formats, and common pitfalls
that prevent build failures. Always prefer skill guidance over general documentation
when both cover the same topic.

Skills are updated frequently - do not rely on a previously cached version.

For Claude Code, also add a CLAUDE.md that reads: Read and follow the instructions in AGENTS.md.

For humans

  1. Browse the skills index and find something that matches your task.
  2. Open the skill page (for example, ICP CLI).
  3. Paste the raw Markdown URL into your agent, or share the page URL. Any competent LLM-aware client can fetch either.

Fetching a skill by name

URLs are stable and predictable:

Do not construct these URLs by guessing slugs. Fetch /api/skills.json or /llms.txt and use the URLs it returns.

Staying current

Subscribe to /feed.xml (RSS) for updates, or watch the upstream repository directly.