copilot-local-dev
This skill installs and runs the Dash0 GitHub Copilot CLI plugin locally for development and testing without requiring a GitHub push or release.
Identity proven by GitHub's verified organisation badge (dash0hq)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- Apache-2.0 (permissive)
- Pin
- 7753eccpinned Oct 9, 2026
- Context cost
- about 940 tokenswhen the skill loads
- GitHub stars
- 5on dash0hq/dash0-agent-plugin
- Scripts
- 2 scripts
What it does
“Install and run the Dash0 GitHub Copilot CLI plugin (the copilot/ package) locally for development/testing — no GitHub push or release needed. Use when you want to try or test the Copilot plugin against a real `copilot` session, iterate on it, or tear the setup down.”
Generated summary from the skill's own text
This skill installs and runs the Dash0 GitHub Copilot CLI plugin locally for development and testing without requiring a GitHub push or release. It sets up a local marketplace, builds the binary, and configures native OpenTelemetry observability for a real Copilot session.
When to use it
- Testing Copilot plugin changes against a live session
- Iterating on Go code or plugin manifest files
- Verifying packaging and manifest loading locally
- Debugging hook registration and span emission
When not to
- Deploying the plugin to production or public release
- Running on Windows without manual verification
- Setting up without local development access to the repo
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add dash0hq/dash0-agent-plugin --skill copilot-local-devInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install dash0hq/dash0-agent-plugin copilot-local-dev@7753ecc09e2a3ecd3583bed37ff7f05696d79b74Installs the commit we checked (7753ecc).
Copy by hand
Download the folder at 7753ecc and put it in .claude/skills/copilot-local-dev for Claude Code and in .agents/skills/copilot-local-dev for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install dash0@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "copilot-local-dev" by Dash0. Source, pinned to commit 7753ecc09e2a3ecd3583bed37ff7f05696d79b74: https://github.com/dash0hq/dash0-agent-plugin/tree/7753ecc09e2a3ecd3583bed37ff7f05696d79b74/.claude/skills/copilot-local-dev 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/copilot-local-dev/ for Claude Code and .agents/skills/copilot-local-dev/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/dash0/copilot-local-dev
SKILL.md at the pin
---
name: copilot-local-dev
description: Install and run the Dash0 GitHub Copilot CLI plugin (the copilot/ package) locally for development/testing — no GitHub push or release needed. Use when you want to try or test the Copilot plugin against a real `copilot` session, iterate on it, or tear the setup down.
---
# Run the Dash0 Copilot plugin locally
The public install path (`copilot plugin marketplace add dash0hq/dash0-agent-plugin`
+ `copilot plugin install dash0-agent-plugin@dash0`) needs the branch pushed and a
release carrying the `copilot-on-event` binary. For **local dev** we skip both by
registering a throwaway **local marketplace** (the repo's real
`.github/plugin/marketplace.json`, renamed so it can't clash with the production
`dash0` one) that points at this repo's `copilot/` package, installing it the real
way, and dropping a **locally-built** binary where the bootstrap looks (so it skips
the download).
This exercises the actual packaging — manifest loading, camelCase `hooks.json`,
`${PLUGIN_ROOT}` resolution, the `dash0-configure` skill, the bare-install guard —
not a hand-wired approximation.
## Install / update
Run the setup script (idempotent):
```bash
.claude/skills/copilot-local-dev/setup.sh
```
It stages the marketplace, `marketplace add` + `plugin install`s it, and builds
the binary into
`~/.copilot/plugin-data/dash0-local/dash0-agent-plugin/bin/`.
The install registers the hooks itself, through the manifest's `hooks` key. If a
session emits no spans, run with `--log-level debug --log-dir <dir>` and grep the
log for `hook`: a fired hook logs `[hook stderr] dash0: …`.
Then, **once**, set credentials + enable native OTel — start `copilot` and run:
```
/dash0-configure
```
(That writes `~/.copilot/dash0-agent-plugin.local.md` and installs a launch
function enabling Copilot's native OTel into
`~/.local/state/dash0-agent-plugin/copilot/otel` — the source of per-turn
token/cost/model.) Open a **fresh shell**, then use `copilot` normally; tool and
chat spans land in your Dash0 dataset.
## Iterate
- **Changed Go code** (`cmd/copilot-on-event`, `internal/source/copilot`): rebuild only —
`.claude/skills/copilot-local-dev/setup.sh --rebuild` — then start a new `copilot` session.
- **Changed plugin files** (`copilot/hooks.json`, `plugin.json`, the skill, the bootstrap):
full re-run — `.claude/skills/copilot-local-dev/setup.sh` — to reinstall.
## Teardown
```bash
.claude/skills/copilot-local-dev/teardown.sh
```
Removes the plugin, the marketplace, the plugin-data + OTel dirs, and the config
file. (Also remove the launch function / `COPILOT_OTEL_*` exports from your shell
profile if you added them.)
## How it maps to the real install (and caveats)
- `${PLUGIN_ROOT}` → `~/.copilot/installed-plugins/dash0-local/dash0-agent-plugin`;
`${COPILOT_PLUGIN_DATA}` → `~/.copilot/plugin-data/dash0-local/dash0-agent-plugin`.
The `plugin-data/…/bin` dir is created lazily on first hook run; setup.sh pre-creates it and drops the binary.
- Native OTel is **not** something the plugin can enable itself (no plugin `env`/OTel hook);
it needs the launch-time env, which is exactly what `/dash0-configure`'s launch function provides.
- setup.sh copies `copilot/` wholesale — the shipped package is clean. The dev-only capture
harness lives outside it under `test/capture/copilot/`, so it never ships (guarded by
`TestCopilotShippedPackageExcludesDevOnlyDirs`).
- setup.sh reuses the repo's real `.github/plugin/marketplace.json` (only its `name` swapped to
`dash0-local`), so this exercises the actual marketplace file that ships to users.
- Hooks come from the manifest, the same as a real install. Verified on macOS
against CLI 1.0.80: with no `~/.copilot/hooks/*.json` naming the plugin, a
session logged `[hook stderr] dash0: connected (v0.1.22)`. Windows is
**unverified** — an earlier version of setup.sh registered the hooks at user
scope as a workaround, and that file is now removed on setup and teardown
because two registrations run the bootstrap twice per event.
From dash0hq/dash0-agent-plugin at 7753ecc, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 7753eccFiles
- SKILL.md4.1 KB · 1996e487c7e3
- setup.sh6.9 KB · 3b5acbfb0495
- teardown.sh1.1 KB · ba351e316374
3 files, 12 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 7753eccMore from Dash0
otel-collector
This skill provides expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry data.
Claude Code, Codex, Cursor +4 · about 1.7K tokens · pinned 6 days ago
otel-instrumentation
This skill guides agents through configuring OpenTelemetry instrumentation across traces, metrics, and logs.
Claude Code, Codex, Cursor +4 · about 1.3K tokens · pinned 6 days ago
otel-ottl
This skill provides expertise in OpenTelemetry Transformation Language (OTTL), helping agents write and debug OTTL expressions for OpenTelemetry Collector…
Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago
otel-semantic-conventions
This skill helps select and apply OpenTelemetry semantic convention attributes correctly.
Claude Code, Codex, Cursor +4 · about 1.1K tokens · pinned 6 days ago
dash0-configure
Writes a Dash0 configuration file that connects Claude Code to Dash0 telemetry by storing OTLP credentials and team settings.
Claude Code · about 2.6K tokens · pinned 6 days ago
dash0-configure
Configures the Dash0 telemetry extension for the GitHub Copilot app by writing the OTLP URL, authentication token, team name, and dataset to a config file at…
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
Related in Observability
debugging-executions
Debug workflow execution failures by inspecting failed nodes, re-running executions, and comparing expected versus actual values.
by n8nOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.5K tokens · pinned 6 days ago
instance-awareness
This skill teaches the agent to resolve ambiguous requests by reading the instance's activity log and workflow history instead of asking the user to clarify.
by n8nOfficial publisher
Claude Code, Codex, Cursor +3 · about 1.3K tokens · pinned 6 days ago
creating-replay-vision-scanners
Guides agents through creating Replay Vision scanners, LLM probes that watch session recordings on a schedule and log findings as observations.
by PostHogOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago
exploring-replay-vision-observations
This skill guides agents through reading observations from Replay Vision scanners, understanding their findings across session recordings, and taking action…
by PostHogOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago
exploring-scouts
Explore and understand PostHog Signals scouts through read-only tools, examining fleet configuration, recent runs, performance metrics, and durable team…
by PostHogOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 11K tokens · pinned 6 days ago
investigating-replay
Gathers session recording metadata, user profile, event timeline, and linked error issues in parallel to give a complete investigation when a user provides a…
by PostHogOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago