Last updated: September 30, 2026
Import Skills from a Git Repository
If your team already keeps skills in a Git repository, import them instead of retyping each one. Dash0 scans the repository, lists the skills it finds, and imports the ones you select. An imported skill is read-only in Dash0. You change it in the repository and pull the change in with Update.
Importing and updating skills requires the Admin role.
Lay Out the Repository
A skill is a directory that holds a file named SKILL.md. Dash0 finds every SKILL.md in the
repository, at any depth, so a repository can hold many skills:
1234567skills/├── checkout-triage/│ ├── SKILL.md│ └── references/│ └── escalation-contacts.md└── dataset-naming/└── SKILL.md
SKILL.md opens with YAML frontmatter that names the skill and says when to use it. The
instructions follow the frontmatter:
12345678---name: checkout-triagedescription: Use when the checkout service reports elevated errors or latency.---1. Check the error rate of the `checkout` service over the last hour.2. Compare it with the payment provider's status.3. For contacts, read references/escalation-contacts.md.
name: Required. It follows the same rules as the name of a skill created in Dash0. See Limits.description: Required. Agent0 reads it to decide whether the skill applies.- Supporting files: Every other text file in the skill's directory and its subdirectories is
imported with the skill. Refer to a supporting file by its relative path in
SKILL.md, and Agent0 reads it when the instructions point to it.
Dash0 leaves out binary files, symbolic links, and any file or directory whose name starts with a dot
inside the skill's directory, such as .gitignore. A SKILL.md in a subdirectory of a skill starts
a separate skill with its own files.
Import from a Public Repository
Import from any public repository on github.com or gitlab.com. You do not need an integration.
- Go to Settings → Agent0 → Skills.
- Select Import from Git.
- On the Public URL tab, enter the repository URL and select Scan.
- Select the skills to import, then select Import.
The URL decides what Dash0 scans:
| URL | What Dash0 scans |
|---|---|
https://github.com/acme/skills | The whole repository, on its default branch |
https://github.com/acme/skills/tree/v1.2.0/triage | The triage folder at the tag v1.2.0 |
https://gitlab.com/acme/skills/-/tree/main/triage | The triage folder on the branch main |
A URL can name a branch, a tag, or a commit. Dash0 keeps that reference and reads the same one when you update the skill later. Without a reference, Dash0 reads the repository's default branch.
Import from a Private GitHub Repository
To import from a private repository, connect the GitHub integration. Once it is connected, a GitHub tab lists the repositories the Dash0 GitHub App can access, private ones included.
- Go to Settings → Agent0 → Skills.
- Select Import from Git.
- On the GitHub tab, select the repository. Dash0 scans it right away.
- Select the skills to import, then select Import.
The GitHub tab always scans the whole repository on its default branch.
If the tab says No repositories to import from, the GitHub connection lists no repositories Dash0 can read. Review the integration and grant access to the repositories you want to import from.
Choose the Skills to Import
The scan lists each skill it found with its description, its path, and its number of files. Some skills cannot be selected, and a label says why:
- Already imported: Dash0 already has this skill from this repository. To pull in changes, use Update.
- Name already used by another skill: Skill names are unique per organization. Rename the skill in the repository, or delete the other skill.
- Name is reserved or not allowed: The name belongs to a skill Dash0 ships, or breaks the naming rules.
- Duplicate name in this repository: Two skills in the repository share a name. Dash0 offers the first one only.
Dash0 counts every SKILL.md it cannot import under could not be read, for example one whose
frontmatter lacks a description, or a skill over a limit. Hover the count to see each path
and the reason.
Imported skills count toward your organization's limit of custom skills. If the selection would go over the limit, Import stays disabled until you deselect skills or delete ones you no longer need. Importing never overwrites a skill that already exists.
Work with Imported Skills
The Skills tab groups imported skills by repository. Each group shows the repository and, if the import named one, the branch, tag, or commit. Open a skill to see its instructions and browse its supporting files. Source opens the file in its repository.
An imported skill cannot be edited in Dash0. Change it in the repository, then update it. You can still delete it.
Update Imported Skills
Dash0 does not watch the repository for changes. To pull them in, select Update:
- On a repository group: Updates every skill in the group.
- On an open skill: Updates that skill only.
Dash0 reads the repository at the reference it imported from, and replaces the skill's instructions and supporting files. The skill keeps its enabled state. A skill renamed in the repository is renamed in Dash0, unless another skill already uses the new name.
An update leaves the skill unchanged when:
- The repository no longer holds the skill: The skill was moved or deleted in the repository. Delete it in Dash0 if you no longer need it, or import it again from its new path.
- The repository cannot be read: It became private, was deleted, or is temporarily unreachable.
- The repository's copy is not valid: For example, its description is now too long. The error names the problem.
Limitations
- Imports work from github.com and gitlab.com only. Self-managed GitLab and GitHub Enterprise Server are not supported for now.
- You can import a private repository from GitHub only, through the GitHub integration, and only from its default branch. Private GitLab repositories are not supported for now.
- A branch or tag whose name contains a slash, such as
release/1.0, cannot be named in the URL. - Imported skills are read-only in Dash0, and Dash0 updates them only when you select Update.
For the limits on files, sizes, and skills per repository scan, see Limits.
Further Reading
- About Skills — What custom skills are, and how to create and invoke them
- Set Up GitHub Integration — Connect GitHub to import skills from private repositories