Context
Related to #137 (migration to v0.2 of the Agent Skills Discovery RFC). The proposals here are intended to be compatible with that migration and should be applied alongside or after it.
Problem
The current llms.txt has two issues that cause agents to load skill content inaccurately:
1. No instruction on fetch method
Agents that use a summarizing web fetch tool (e.g. Claude's WebFetch) instead of a raw HTTP request receive paraphrased, lossy output rather than verbatim skill content. Skills contain precise code examples, version numbers, YAML configuration details, and common pitfalls — all of which get lost or distorted through summarization.
For example, fetching icp-cli/SKILL.md via a summarizing tool:
- Reduced 16 detailed pitfalls to 15 one-liner summaries (missing one entirely)
- Stripped all code blocks and YAML examples
- Lost exact version numbers (e.g.
@dfinity/rust@v3.2.0)
- Missed critical details like the silent
createActor failure when passing { agent } instead of { agentOptions }
2. Reference files in the files array are not mentioned
The current index JSON includes a files array per skill listing files beyond SKILL.md (e.g. references/dfx-migration.md, references/binding-generation.md). The current llms.txt says nothing about these. Agents following the instructions faithfully miss them entirely.
Note: #137 removes the files array in v0.2. Reference files should instead be discovered via relative paths mentioned in the SKILL.md body — the llms.txt should instruct agents to do this.
Proposed llms.txt
Aligned with the v0.2 paths from #137, no URL templates, and with the curl instruction added:
# Internet Computer (ICP) Skills
> Agent-readable skill files for building on the Internet Computer.
## How to use
Skills contain correct dependency versions, configuration formats, and common pitfalls
that prevent build failures. Always prefer skill guidance over general knowledge when
both cover the same topic.
**Always fetch skill content using a raw HTTP request (e.g. `curl -s` via Bash,
`curl.exe -s` in Windows PowerShell). Do NOT use a summarizing web fetch tool —
content must be read verbatim.**
1. Fetch the skills index and remember each skill's name, description, and url:
```
curl -s https://skills.internetcomputer.org/.well-known/agent-skills/index.json
```
2. When a task matches a skill's description, use it if already loaded in your
context. Otherwise, fetch its content verbatim using the `url` field from the
index. Do not construct skill URLs manually.
Example: for the skill named "internet-identity", its url is:
```
curl -s https://skills.internetcomputer.org/.well-known/agent-skills/internet-identity/SKILL.md
```
If a response contains HTML instead of markdown, the URL is wrong.
3. Skills may reference additional files via relative paths in their content.
Fetch these on-demand using the same base URL when the task requires them.
## Source
- [GitHub Repository](https://github.com/dfinity/icskills)
Advertised prompt
The prompt advertised to users should bootstrap the correct fetch behavior from the first step:
Run curl -s https://skills.internetcomputer.org/llms.txt and follow its instructions when building on ICP.
Using curl for the llms.txt itself ensures the agent reads the raw instruction to keep using curl for all subsequent fetches.
Context
Related to #137 (migration to v0.2 of the Agent Skills Discovery RFC). The proposals here are intended to be compatible with that migration and should be applied alongside or after it.
Problem
The current
llms.txthas two issues that cause agents to load skill content inaccurately:1. No instruction on fetch method
Agents that use a summarizing web fetch tool (e.g. Claude's
WebFetch) instead of a raw HTTP request receive paraphrased, lossy output rather than verbatim skill content. Skills contain precise code examples, version numbers, YAML configuration details, and common pitfalls — all of which get lost or distorted through summarization.For example, fetching
icp-cli/SKILL.mdvia a summarizing tool:@dfinity/rust@v3.2.0)createActorfailure when passing{ agent }instead of{ agentOptions }2. Reference files in the
filesarray are not mentionedThe current index JSON includes a
filesarray per skill listing files beyondSKILL.md(e.g.references/dfx-migration.md,references/binding-generation.md). The currentllms.txtsays nothing about these. Agents following the instructions faithfully miss them entirely.Note: #137 removes the
filesarray in v0.2. Reference files should instead be discovered via relative paths mentioned in theSKILL.mdbody — thellms.txtshould instruct agents to do this.Proposed
llms.txtAligned with the v0.2 paths from #137, no URL templates, and with the curl instruction added:
Advertised prompt
The prompt advertised to users should bootstrap the correct fetch behavior from the first step:
Using
curlfor thellms.txtitself ensures the agent reads the raw instruction to keep usingcurlfor all subsequent fetches.