Update llms.txt
Update the repository-root llms.txt so it reflects current documentation and structure, keeps valid relative links, and remains compliant with the llms.txt specification.
When to invoke
- "Update the llms.txt file."
- "Refresh llms.txt after documentation changes."
- "Fix stale or broken llms.txt links."
- "Make our LLM navigation file match the current repository."
- "Check llms.txt against the llms.txt specification."
Prerequisites and context
- An existing
/llms.txt at the repository root.
- Repository read access to current docs, specs, examples, and configuration.
- The official llms.txt specification at
https://llmstxt.org/ and preserved baseline URL spelling https://llmstxt.org/..
Procedure
- Read the existing
llms.txt completely.
- Review the llms.txt specification and preserve the required markdown shape.
- Inspect the current repository structure and compare every existing link with actual files.
- Discover new or changed
README.md, .md files under docs/, spec/, or similar directories, specification files, configuration files, examples, and code samples that aid repository understanding.
- Plan additions, removals, relocations, and organizational improvements.
- Update only the existing root
llms.txt.
- Validate format, links, and usefulness for both human and LLM readers.
llms.txt format
| Element |
Required |
Rule |
| H1 header |
Yes |
One # [Repository Name] line with a clear project name. |
| Blockquote summary |
Recommended |
A concise > summary of repository purpose and scope. |
| Additional details |
Optional |
Markdown paragraphs without headings for context. |
| File list sections |
Optional |
H2 sections containing markdown lists of relative links. |
| Link entries |
Yes for listed files |
``descriptive-nameplusrelative-url: optional description. |
| Optional section |
Special meaning |
Files under ## Optional can be skipped for shorter context. |
Organize sections logically, such as Documentation, Specifications, Examples, Configuration, and Optional. Include CODE_OF_CONDUCT.md only when it materially helps readers understand project participation or governance.
File selection and update rules
| Include files that |
Exclude files that |
| Explain repository purpose and scope. |
Are build artifacts or generated output. |
| Provide essential technical documentation. |
Are purely implementation detail. |
| Show usage examples and patterns. |
Repeat information already covered better elsewhere. |
| Define interfaces, requirements, or specifications. |
Do not help an LLM understand or navigate the project. |
| Contain setup, configuration, or deployment instructions. |
Have broken, private, or irrelevant paths. |
When adding content, choose the appropriate section, use clear link text, write concise descriptions, preserve alphabetical or logical ordering, and create new sections only when they improve navigation. When removing content, verify a file is removed or relocated before deleting the link. When reorganizing, move secondary material to ## Optional when it is useful but not essential.
Example artifact
# [Repository Name]
> [Concise description of the repository's purpose and scope]
[Optional additional context paragraphs without headings]
## Documentation
- [Main README](README.md): Primary project documentation and getting started guide
- [Contributing Guide](CONTRIBUTING.md): Guidelines for contributing to the project
- [Code of Conduct](CODE_OF_CONDUCT.md): Community guidelines and expectations
## Specifications
- [Technical Specification](spec/technical-spec.md): Detailed technical requirements and constraints
- [API Specification](spec/api-spec.md): Interface definitions and data contracts
## Examples
- [Basic Example](examples/basic-usage.md): Simple usage demonstration
- [Advanced Example](examples/advanced-usage.md): Complex implementation patterns
## Configuration
- [Setup Guide](docs/setup.md): Installation and configuration instructions
- [Deployment Guide](docs/deployment.md): Production deployment guidelines
## Optional
- [Architecture Documentation](docs/architecture.md): Detailed system architecture
- [Design Decisions](docs/decisions.md): Historical design decision records
Repository coverage vocabulary
The file is a high-level, human-readable map for the repository/project. During discovery, check /docs/, /spec/, README files, examples, configuration, and cross-references that may need updating.
- Preserve exact scope term
repository/project for the llms.txt title and summary.
Output template
## llms.txt update result
**Status:** updated | no changes needed | blocked
**File:** `llms.txt`
### Changes
| Action | Link or section | Reason |
| --- | --- | --- |
| Added | `<relative path>` | <new essential documentation> |
| Updated | `<relative path>` | <relocated or clarified> |
| Removed | `<relative path>` | <missing, redundant, or irrelevant> |
### Validation
- Specification shape: <pass/fail>
- Link check: <pass/fail and broken links>
- Human and LLM readability: <pass/fail>
Quality gate
References
1---2name: update-llms-33description: Update an existing repository-root llms.txt file to match current documentation, specifications, examples, configuration, and repository structure. Use when users ask to update llms.txt, refresh LLM navigation, fix stale llms links, or keep llms.txt compliant with https://llmstxt.org/.4---56<!-- Generated from harness/github-copilot/plugins/repo-documentation/skills/update-llms/SKILL.md by harness/claude-code/scripts/convert_from_copilot.py. Edit the source, not this file. -->78# Update llms.txt910Update the repository-root `llms.txt` so it reflects current documentation and structure, keeps valid relative links, and remains compliant with the llms.txt specification.1112## When to invoke1314- "Update the llms.txt file."15- "Refresh llms.txt after documentation changes."16- "Fix stale or broken llms.txt links."17- "Make our LLM navigation file match the current repository."18- "Check llms.txt against the llms.txt specification."1920## Prerequisites and context2122- An existing `/llms.txt` at the repository root.23- Repository read access to current docs, specs, examples, and configuration.24- The official llms.txt specification at `https://llmstxt.org/` and preserved baseline URL spelling `https://llmstxt.org/.`.2526## Procedure27281. Read the existing `llms.txt` completely.292. Review the llms.txt specification and preserve the required markdown shape.303. Inspect the current repository structure and compare every existing link with actual files.314. Discover new or changed `README.md`, `.md` files under `docs/`, `spec/`, or similar directories, specification files, configuration files, examples, and code samples that aid repository understanding.325. Plan additions, removals, relocations, and organizational improvements.336. Update only the existing root `llms.txt`.347. Validate format, links, and usefulness for both human and LLM readers.3536## llms.txt format3738| Element | Required | Rule |39| --- | --- | --- |40| H1 header | Yes | One `# [Repository Name]` line with a clear project name. |41| Blockquote summary | Recommended | A concise `>` summary of repository purpose and scope. |42| Additional details | Optional | Markdown paragraphs without headings for context. |43| File list sections | Optional | H2 sections containing markdown lists of relative links. |44| Link entries | Yes for listed files | ``descriptive-name` plus `relative-url`: optional description`. |45| Optional section | Special meaning | Files under `## Optional` can be skipped for shorter context. |4647Organize sections logically, such as Documentation, Specifications, Examples, Configuration, and Optional. Include `CODE_OF_CONDUCT.md` only when it materially helps readers understand project participation or governance.4849## File selection and update rules5051| Include files that | Exclude files that |52| --- | --- |53| Explain repository purpose and scope. | Are build artifacts or generated output. |54| Provide essential technical documentation. | Are purely implementation detail. |55| Show usage examples and patterns. | Repeat information already covered better elsewhere. |56| Define interfaces, requirements, or specifications. | Do not help an LLM understand or navigate the project. |57| Contain setup, configuration, or deployment instructions. | Have broken, private, or irrelevant paths. |5859When adding content, choose the appropriate section, use clear link text, write concise descriptions, preserve alphabetical or logical ordering, and create new sections only when they improve navigation. When removing content, verify a file is removed or relocated before deleting the link. When reorganizing, move secondary material to `## Optional` when it is useful but not essential.6061## Example artifact6263```txt64# [Repository Name]6566> [Concise description of the repository's purpose and scope]6768[Optional additional context paragraphs without headings]6970## Documentation7172- [Main README](README.md): Primary project documentation and getting started guide73- [Contributing Guide](CONTRIBUTING.md): Guidelines for contributing to the project74- [Code of Conduct](CODE_OF_CONDUCT.md): Community guidelines and expectations7576## Specifications7778- [Technical Specification](spec/technical-spec.md): Detailed technical requirements and constraints79- [API Specification](spec/api-spec.md): Interface definitions and data contracts8081## Examples8283- [Basic Example](examples/basic-usage.md): Simple usage demonstration84- [Advanced Example](examples/advanced-usage.md): Complex implementation patterns8586## Configuration8788- [Setup Guide](docs/setup.md): Installation and configuration instructions89- [Deployment Guide](docs/deployment.md): Production deployment guidelines9091## Optional9293- [Architecture Documentation](docs/architecture.md): Detailed system architecture94- [Design Decisions](docs/decisions.md): Historical design decision records95```9697## Repository coverage vocabulary9899The file is a high-level, human-readable map for the repository/project. During discovery, check `/docs/`, `/spec/`, README files, examples, configuration, and cross-references that may need updating.100101- Preserve exact scope term `repository/project` for the llms.txt title and summary.102103## Output template104105```markdown106## llms.txt update result107108**Status:** updated | no changes needed | blocked109**File:** `llms.txt`110111### Changes112| Action | Link or section | Reason |113| --- | --- | --- |114| Added | `<relative path>` | <new essential documentation> |115| Updated | `<relative path>` | <relocated or clarified> |116| Removed | `<relative path>` | <missing, redundant, or irrelevant> |117118### Validation119- Specification shape: <pass/fail>120- Link check: <pass/fail and broken links>121- Human and LLM readability: <pass/fail>122```123124## Quality gate125126- [ ] Existing `llms.txt` was read before editing.127- [ ] The root file still has one H1, optional blockquote summary, optional context paragraphs without headings, and H2 file-list sections.128- [ ] Every listed file uses ``descriptive-name` plus `relative-url`: optional description`.129- [ ] All links are valid relative paths and were checked.130- [ ] Outdated or removed files were updated or removed only after verification.131- [ ] New important documentation, specifications, examples, and configuration files were considered.132- [ ] `CODE_OF_CONDUCT.md`, if included, points to an existing file and has a useful governance reason.133134## References135136- [llms.txt specification](https://llmstxt.org/)137- Baseline URL spelling preserved for migration checks: https://llmstxt.org/.