Agent Skills: Vergleich im Detail: Claude Code, Cursor, GitHub Copilot, mit Tabellen
- Timon Fiddike
- AI-Coding
- 02 Jul, 2026
Geschrieben von Fachexperten:
Timon Fiddike, CSTÂź, Machine Learning seit 2005
Zusammenfassung
Mitte 2026 gibt es fĂŒr âAgent Skillsâ insgesamt gute UnterstĂŒtzung in Claude Code, Cursor und GitHub Copilot, aber: Die Unterschiede jenseits der Basics können Menschen manchmal wahnsinnig machen. In diesem Artikel zeige ich in 7 detaillierten Tabellen die Gemeinsamkeiten und Unterschiede.
Inhalt
Grundlagen
Claude Code, Cursor und GitHub Copilot verwenden eine SKILL.md-Datei (Markdown + YAML-Frontmatter) im jeweiligen Skill-Ordner und einen dreistufigen Mechanismus zur progressive Entdeckung, um Tokens zu sparen, wenn ein Skill nicht benötigt wird. Skills im Grundformat âName + Beschreibung + Markdownâ lassen sich frei zwischen allen drei Tools ĂŒbertragen.
Claude Code bietet die meisten Funktionen auf der Ebene der Skill-Grundelemente, darunter: AusfĂŒhrung ĂŒber verzweigte Subagenten, Steuerung von Tools, Modellen und Aufwand pro Skill, dynamische Shell-Einbindung, Pfad-Scoping, Skill-spezifische Hooks, Erkennung von Symlinks und Monorepos, Zentral verwaltete Einstellungen, explizite Regler fĂŒr das Kontextbudget und eine eval-gesteuerte Erstellungsschleife.
Ich (Timon hier) versuche die Skills so einfach wie möglich zu halten und so viel Arbeit wie möglich durch deterministische Tools zu erledigen, die durch Skills nur getriggert werden.
Im Folgenden zeige ich in 7 detaillierten Tabellen die Gemeinsamkeiten und Unterschiede: Dabei verwende ich die original Begriffe in englischer Sprache.
Update: Manche Tabellen sind sehr breit und scrollen notfalls horizontal innerhalb ihrer Box. Ggf. brauchen wir dafĂŒr spĂ€ter eine andere Lösung.
1. Format und VerfĂŒgbarkeit
| Aspect | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Introduced | 2025 (Anthropic originated the format, custom commands later merged into skills) | early 2026 (support added in v2.4) | early 2026 |
| Entry file (required) | SKILL.md | SKILL.md | SKILL.md |
| File format | Markdown body + YAML frontmatter | Markdown body + YAML frontmatter | Markdown body + YAML frontmatter |
| Frontmatter | description recommended, name optional (defaults to dir name) | name + description required | name + description required, license optional |
2. Pfade der Skill-Ordner
| Location type | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Per user (personal, all projects) | ~/.claude/skills/ | ~/.cursor/skills/ | ~/.copilot/skills/ or ~/.agents/skills/ (VS also reads ~/.claude/skills/) |
| Per project (this repo only) | .claude/skills/ | .cursor/skills/ | .github/skills/, .claude/skills/, or .agents/skills/ |
| Portable / crossâagent dir | reads .claude/skills; can symlink to shared trees | .agents/skills/ (portable) | .agents/skills/ (project), ~/.agents/skills/ (personal) |
| Enterprise / orgâmanaged | Managed settings deploy orgâwide, can override lower levels | No native org tier â share via committed .cursor/skills | âComing soonâ (orgâ and enterpriseâlevel) |
| Pluginâbundled | Manifest .claude-plugin/plugin.json; skill path <plugin>/skills/ (or root SKILL.md for a singleâskill plugin); invocation namespaced /plugin-name:skill-name | Manifest .cursor-plugin/plugin.json; skill path â(or rootSKILL.mdfor a singleâskill plugin); invocation not namespaced â plain/skill-name, same as a project skill | Manifest plugin.json (plugin root, no leading dot); skill path â; invocation namespaced /plugin-name:skill-name (CLI v0.0.389+, matches Claudeâs convention) |
| Precedence on name clash | enterprise > personal > project > bundled skills; plugin skills use their own plugin:skill namespace and never collide | project (.cursor/skills/) > user (~/.cursor/skills/); pluginâskill namespacing is undocumented, so clashes there are possible | project (.github/skills/ etc.) > personal (~/.copilot/skills/ etc.); plugin skills use their own plugin:skill namespace and never collide |
| Nested / monorepo discovery | Yes â loads from every parent dir up to repo root and nested .claude/skills on demand; clashing names get dirâqualified (apps/web:deploy) | Projectâscoped; child files not autoâloaded | Partial â Copilot CLI (v1.0.11+) walks every directory from cwd up to the git root, with nested/lowerâlevel skills taking precedence over rootâlevel ones; but a single skills/ folder canât itself have subfolders (flat only, requested in copilot-cli#1632), and custom agents still resolve only from the git root while skills/MCP resolve from cwd â an inconsistency tracked in copilot-cli#3688 |
| Extra dirs via flag | --add-dir / /add-dir loads that dirâs .claude/skills (an explicit exception to âaccessâonlyâ) | â | â |
| Symlink support | Follows symlinks; deâdupes if reachable twice | Designed to be symlinked into ~/.cursor | â |
3. Installation / Erstellung / Freigabe
| Aspect | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Install | /plugin install <skill>@<marketplace>; git; manual copy; symlink | npx skills add <pkg> (-g for global); GitHub repo link; manual copy | gh skill install <repo> <skill> (GitHub CLI v2.90+); manual copy |
| Marketplace / directory | Official Anthropic marketplace (via /plugin marketplace add) + community marketplaces (any GitHub repo with a marketplace.json) â shared: skills.sh, agentskills.io, AgentDepot.dev, ⊠| Cursor Marketplace (cursor.com/marketplace, manually reviewed) + cursor.directory + Team Marketplaces (GitHub/GitLab/Bitbucket import, Team/Enterprise plans) â shared: skills.sh, agentskills.io, AgentDepot.dev, ⊠| Builtâin copilot-plugins + VS Code Agent Customizations gallery (Preview) â shared: skills.sh, agentskills.io, AgentDepot.dev, ⊠|
| Preview before install | No dedicated preview command â /plugin Discover tab shows a âWill installâ summary (skills/agents/hooks/MCP servers + contextâcost estimate) before install; full SKILL.md/script contents require opening the source repo manually (no downloadâonly/inspectâthenâactivate step; tracked as an open feature request) | No dedicated preview command â Marketplace/Customize detail page lists a pluginâs skills, subagents, MCP servers and hooks before you click âAdd to Cursorâ; official plugins are manually reviewed preâlisting, but full SKILL.md/script contents require opening the linked source repo manually (no builtâin file viewer) | Dedicated gh skill preview <owner>/<repo> <skill> command (GitHub CLI v2.90+) renders the full SKILL.md plus a file tree in the terminal without installing; interactive file picker lets you browse bundled scripts/references first |
| Builtâin skill generator | skill-creator plugin â interactive Q&A plus an eval/optimization loop (measures trigger rate, tunes description) | /create-skill (interactive authoring) | Agent Customizations editor (Preview) |
| Migrate legacy â skills | (commands already merged into skills) | /migrate-to-skills (2.4+) converts dynamic Rules + slash commands to skills | â |
4. Trigger / Steuerung des Aufrufs
| Aspect | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Automatic (model decides via description) | Yes | Yes | Yes |
| Manual slash command | /skill-name | /skill-name | /skill-name |
| Passing arguments | Hint: argument-hint frontmatter (autocomplete). Substitution: $ARGUMENTS (full string), $ARGUMENTS[N]/$N (positional), $name (named, via arguments: list). Fallback: unused args appended as ARGUMENTS: <text> | Hint: none â no argument-hint field in the spec. Substitution: none â no placeholder syntax documented. Fallback: text typed after /skill-name is appended to the skill body asâis | Hint: argument-hint frontmatter (shown in the chat input field). Substitution: none â no placeholder syntax documented. Fallback: text typed after the command is passed to the agent as plain free text |
| Prevent autoâinvocation (manualâonly) | disable-model-invocation: true (default false) â removes the skillâs description from context entirely; only loads when you type /skill-name | disable-model-invocation: true (default false) â skill is excluded from automatic matching; only loads when you type /skill-name | disable-model-invocation: true (default false) â agent wonât autoâload it; only loads via the /skill-name slash command |
Modelâonly / hide from / menu | user-invocable: false (default true) â hides the skill from the / menu; the agent can still autoâinvoke it | No equivalent field â every skill always appears in the / menu; closest workaround is a Rule (.cursor/rules/*.mdc) for pure alwaysâon background context | user-invocable: false (default true) â hides the skill from the / menu; the agent can still autoâload it |
| Enable/disable & inspect UI | /skills menu, /doctor, /context | Autoâdiscovered on start; restart may be needed | /skills, /skills list, /skills info, /skills toggle menu |
| Visibility override from settings | skillOverrides: on / name-only / user-invocable-only / off (written by /skills menu) | â | â |
5. Wann Token verbraucht werden
| Aspect | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Disclosure model | 3 levels: metadata â body â referenced files | 3 levels: metadata â body â referenced files | 3 levels: metadata â body â referenced files |
| Alwaysâon cost | name + description of every discovered skill preloaded into context at session start | name + description of every discovered skill preloaded into context at session start | name + description of every discovered skill preloaded into context at session start |
| Body cost | Full SKILL.md body loaded only when the skill is invoked or autoâtriggered (matched) | Full SKILL.md body loaded only when the skill is invoked or autoâtriggered (matched) | Full SKILL.md body loaded only when the skill is invoked or autoâtriggered (matched) |
| Referenced files | Not preloaded â loaded on demand only when the skill body references them | Not preloaded â loaded on demand only when the skill body references them (e.g. rust/CONCEPT.md) | Not preloaded â loaded on demand only when the skill body references them |
| Script source cost | Scripts execute; source not loaded into context | Scripts run locally; only stdout/stderr returns | Scripts run without loading source into context |
| Description budget controls | Budget â 1% of context window; perâentry cap 1,536 chars; tunable via skillListingBudgetFraction / SLASH_COMMAND_TOOL_CHAR_BUDGET / skillListingMaxDescChars; /doctor + /context show shortening/drops | Guidance only: âkeep descriptions tightâ (no documented knob) | Guidance only: 2â4 line, keywordârich descriptions |
| Cost effect of manualâonly flag | disable-model-invocation removes the description from context entirely (saves tokens) | â | â |
| Lifecycle after load | Body persists for the rest of the session; autoâcompaction reâattaches most recent invocation (first 5k tokens/skill, 25k combined budget) | Loads on demand per task | Instructions added to parent agentâs context on load |
6. Skript-AusfĂŒhrung durch Skills
| Aspect | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Bundled scripts (any language) | Yes | Yes | Yes |
| Reference / supporting files | Yes | Yes | Yes |
| Dynamic context injection (run shell before skill loads) | Yes â commands can run before the model sees the skill and their output is inlined into the body; can also be disabled | No â skill can only tell the agent to run shell tools later | No â skill can only tell the agent to run shell tools later |
| Run skill in isolated/forked subagent | Yes â context: fork + agent: <type> frontmatter (builtâin Explore, Plan, general purpose and custom); skill body becomes the subagent prompt | No â no frontmatter field in skill; subagents exist only as a separate primitive (added 2.4) | only via VS Code > 1.118, experimental, needs to be enabled |
| Perâskill tool permissions | allowed-tools (preâapprove) + disallowed-tools (remove) | â | â |
| Pathâscoped autoâactivation | paths: glob patterns limit when a skill autoâloads | Achieved via Rules globs (.mdc), not skills | â |
| Perâskill model / effort override | model: and effort: frontmatter for the active turn | â | â |
| Skillâscoped hooks | hooks: field tied to the skillâs lifecycle | Hooks exist as a separate feature | Hooks exist as a separate primitive |
| Windows shell selection | shell: powershell for inline commands | â | â |
| Live reload / change detection | Yes â SKILL.md text edits apply midâsession (new topâlevel dirs need restart) | Restart sometimes required to discover new skills | Reflected via /skills panel |
7. Ăkosystem und verwandte Primitive
| Aspect | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Where skills run (surfaces) | Claude Code â plus the same standard in Claude apps and Claude API/Platform (via Skills API) | Cursor agent | Copilot cloud agent, Copilot code review, Copilot CLI, agent mode in VS Code + JetBrains + Visual Studio, Copilot app |
| Alwaysâon context sibling | CLAUDE.md | Rules (.cursor/rules/*.mdc, legacy .cursorrules) | Custom instructions (.github/copilot-instructions.md) |
| Savedâprompt sibling | Commands merged into skills (a slash command is now âa skill with no extra featuresâ) | Commands (in / menu) | Prompt files (.github/prompts/) |
| Orchestration sibling | Subagents, Agent Teams | Agents tree / Subagents | Agents (.github/agents/) |
| Crossâagent portability | Portable core works everywhere; CCâonly fields (context: fork, hooks, allowed-tools) safely ignored by others | Portable; reads .claude/skills + .agents/skills | Portable; reads .claude/skills + .agents/skills |
| Security / trust model | Workspace trust dialog for project skills using allowed-tools; treat installs like software; managed settings can disable | Audit thirdâparty skills before enabling exec/network permissions | Not verified by GitHub; explicit promptâinjection warning; inspect via gh skill preview |
Sources: official docs â code.claude.com/docs (Claude Code Skills), cursor.com/docs/skills + Cursor 2.4 changelog, docs.github.com Copilot âagent skillsâ + code.visualstudio.com + devblogs.microsoft.com; plus agentskills.io (the shared open standard). Fastâmoving area â verify versionâspecific fields against primary docs before relying on them in production.
Zusammenfassung
Skills im Format âName + Beschreibung + Markdownâ lassen sich frei zwischen Claude Code, Cursor, GitHub Copilot ĂŒbertragen.
Claude Code bietet die meisten Funktionen auf der Ebene der Skill-Grundelemente, darunter: AusfĂŒhrung ĂŒber verzweigte Subagenten, Steuerung von Tools, Modellen und Aufwand pro Skill, dynamische Shell-Einbindung, Pfad-Scoping, Skill-spezifische Hooks, Erkennung von Symlinks und Monorepos, Zentral verwaltete Einstellungen, explizite Regler fĂŒr das Kontextbudget und eine eval-gesteuerte Erstellungsschleife.
Ich (Timon hier) versuche die Skills so einfach wie möglich zu halten und so viel Arbeit wie möglich durch deterministische Tools zu erledigen, die durch Skills nur getriggert werden.
Reflexion, Einladung und Angebot
- Hast Du als Entwickler konkrete Ideen fĂŒr Deinen eigenen Weg bekommen?
- Hast Du als FĂŒhrungskraft einen Eindruck gewonnen, welche Schritte Deine Mitarbeiter gehen könnten? Denkst Du darĂŒber nach, ihnen andere Impulse und UnterstĂŒtzung anzubieten als bisher?
- Hast Du einen ersten Eindruck von mir?
Nimm Kontakt mit mir auf, wenn Du Dich fĂŒr einen Impulsvortrag (mit Coding Demo) oder Workshop interessierst! Lass uns gemeinsam ĂŒberlegen, welche Art von UnterstĂŒtzung fĂŒr Euch hilfreich sein kann:
Unten auf der Seite Kontakt kannst Du Dir direkt per Calendly einen Termin fĂŒr ein ErstgesprĂ€ch aussuchen (unverbindlich und kostenlos).
Ăber den Autor

Dr. Timon Fiddike
- Seit 2010 auf dem Pfad der AgilitÀt
- Seit 2005 KI, AI, Machine Learning, siehe Werdegang
- Erfahrung als Entwickler im Team, Product Owner, Scrum Master, GeschĂ€ftsfĂŒhrer und Coach
- Höchste Zertifizierung: Certified Scrum TrainerÂź (weltweit ca. 220 Personen) fĂŒr die Scrum AllianceÂź
- Erfahrung in Startup, Mittelstand & Konzern
- Integraler Coach â Ausbildung nach ICF ACTH-Standard
- UnterstĂŒtzt mit Begeisterung das menschliche Wachstum, das agile Arbeit ermöglicht
- GeschĂ€ftsfĂŒhrer Agile.Coach GmbH & Co. KG
