d2
This skill should be used when the user invokes "/d2" to create a diagram from the current context using D2 and output the…
This skill should be used when the user invokes "/github-activity" to analyze a GitHub project''s recent activity (PRs and issues) and produce a succinct, chart-backed health report.
$ npx -y skills add xenodium/emacs-skills --skill github-activity --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/github-activityContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user invokes "/github-activity" to analyze a GitHub project''s recent activity (PRs and issues) and produce a succinct, chart-backed health report.
name: github-activity description: 'This skill should be used when the user invokes "/github-activity" to analyze a GitHub project''s recent activity (PRs and issues) and produce a succinct, chart-backed health report.' tools: Bash disable-model-invocation: true
Produce a **succinct** report on a GitHub project's activity — throughput, backlog burn-rate, and responsiveness — backed by matplotlib charts. The bundled `analyze.py` does the fetching, windowing, and plotting; your job is to run it and turn its JSON summary into a short, insightful report.
1. **Resolve the target repo** (`owner/name`), in this order:
gh repo view --json nameWithOwner -q .nameWithOwner
2. **Resolve the window.** Default is the last **6 months**. Honor any user phrasing ("last 3 months", "this year") via `--months N`. 3. **Query the Emacs foreground color** once (reuse if already known this session):
emacsclient --eval '(face-foreground (quote default))'
Returns a hex like `"#eeffff"`. Pass it as `--fg`. 4. **Run the analyzer** (it shells out to `gh`, computes metrics, writes charts, prints a JSON summary):
uv run --with matplotlib "$CLAUDE_PLUGIN_ROOT/skills/github-activity/analyze.py" \
--repo owner/name --months 6 --fg "#eeffff" --outdir /tmpIf `$CLAUDE_PLUGIN_ROOT` is unset, use the skill's own directory path. 5. **Read the JSON** printed on stdout and **write the report** (structure below), embedding each returned chart path as a markdown image on its own line:

Order the report **bottom-line-up-front**: lead with the takeaway, then the evidence, and keep each chart directly next to the prose that interprets it. A skimmer should get the whole story from the TL;DR alone; everything below it is drill-down.
**Activity — last N months (FROM → TO)**
| Metric | PRs | Issues | |---|--:|--:| | Opened | … | … | | Closed | … | … | | Net (opened − closed) | … | … | | Open now | … | … | | Median days to close | … | … | | p90 days to close | … | … |
Emphasis: **bold at most one or two cells** — the value(s) that justify the headline (typically the concerning one: a large `p90`, a positive/growing `net`, or a high `open now`). Do not bold routinely, do not bold both the good and bad value, and don't use color or emoji (they don't render in terminal tables).
Prefer concrete numbers over adjectives. Do not dump the raw JSON. Do not restate every weekly value — summarize the shape. Don't repeat the TL;DR verbatim lower down — the bullets under each chart should add detail, not echo.
**Always link issue/PR references.** Every time you mention a PR or issue anywhere in the report (TL;DR, bullets, tables, next steps), render it as a markdown link `[#N](url)` using the `url` field the analyzer provides for that item (`oldest_open_*` and `top_open_issues` each carry a `url`). Never leave a bare `#N`.
Claude Code skills for Emacs integration. These skills enable tighter integration with agents running inside Emacs, for example agent-shell.
This skill should be used when the user invokes "/d2" to create a diagram from the current context using D2 and output the…
This skill should be used when the user invokes "/describe" to look up Emacs documentation via emacsclient.
This skill should be used when the user invokes "/dired" to open files from the latest interaction in an Emacs dired buffer via…
Always use emacsclient instead of emacs. This applies to all Emacs operations: user requests, byte compilation, check-parens,…
When referencing files, format them as markdown links with line numbers using GitHub-style #L syntax.