Jon Gallant's collection of skills for AI coding agents — works with
GitHub Copilot, Claude, Codex, and any agent
that supports the SKILL.md format. A
general-purpose monorepo: each skill lives in its own folder under
skills/ and can be installed individually or all at once.
| Skill | What it does |
|---|---|
create-canvas-app |
Build GitHub Copilot App canvas extensions fast — a no-build Preact + htm kit with live SSE state, durable storage, Primer theming, official GitHub Lucide icons, deep links into the app, a generator, and an installable skill. |
create-gh-pages-site |
Scaffold a working GitHub Pages site from a vetted template (static, Astro, React + Vite, Eleventy, Jekyll, or a skills catalog) into your current repo by default — injects the correct base path for the target repo, wires the official GitHub Actions Pages deploy workflow, sets the repo's Website link, and shows how to enable Pages. |
create-skill |
Create and register a complete portable agent skill with focused instructions, deterministic tests, Vally evals, catalog metadata, and optional validated thumbnail art from a built-in or user-described provider. |
create-skills-repo |
Create or safely upgrade a cross-agent skills marketplace repository with every supported manifest, Vally, secure CI, Dependabot, a functional starter skill, and an optional GitHub Pages catalog. |
repo-ready |
Scaffold and maintain the standard community health files every GitHub repository needs (.gitignore, LICENSE, CONTRIBUTING, issue templates, CI workflows, dependabot, and more). Two modes: init (interview + scaffold) and update (scan for gaps). |
naming-is-hard |
Interactive naming assistant for projects, CLIs, and products. Profiles what you're building, generates diverse candidate names, learns your preferences as you react, and validates finalists against real availability (domains, GitHub, npm/PyPI/crates/RubyGems/NuGet, social handles) plus a trademark and existing-business screen. Every finalist lands a verdict: Deal Breaker, It's Complicated, or Perfect Match. |
eli5 |
Explain the code, error, design, or idea already in context using plain language, a useful analogy, the proper grown-up terms, and an honest note about where the analogy stops working. |
dns-doctor |
Audit DNS delegation, records, DNSSEC, CAA, web routing, TLS, CDN behavior, mail authentication, takeover exposure, and zone hygiene, then apply exact provider changes only after explicit user approval. |
deps-doctor |
Audit, update, and secure dependencies across npm, pnpm, Yarn, pip, Poetry, uv, Go, Cargo, Bundler, Composer, NuGet, Maven, Gradle, Swift, pub, and Hex, plus Docker base images, GitHub Actions, Terraform, and dev container features. Ranks vulnerabilities by exploitation evidence, withholds releases too new to have been vetted, fixes breaking changes forward instead of rolling back, and never opens an empty dependency pull request. |
git-tidy |
Content-aware Git work triage across branches, worktrees, stashes, remote refs, tags, remotes, artifacts, ignored tracking, large blobs, and maintenance. Leads with plain decisions and concrete actions while exact proof stays available on demand; analysis is read-only and every action requires separate approval. |
test-doctor |
Audit test correctness, coverage, reliability, and maintenance; optionally repair material gaps without gaming the suite. |
pr |
A concise checklist workflow for taking changes from local commit and preflight checks through PR submission, review resolution, CI monitoring, and merge. |
go |
Plan, test, and implement the current context, then hand verified changes to pr for delivery and merge. |
retro |
Close out a session with an evidence-backed task and feedback audit, source-skill improvements, and safely approved branch and worktree cleanup |
doc-doctor |
Check changed documentation against code and fix material gaps. |
backlog-groom |
Groom GitHub backlogs across issue and source repositories, with or without Projects, using scoped evidence and approved changes. |
nobs |
Give the shortest complete answer for supplied or current context without filler or loss of essential facts. |
refactor |
Plan behavior-preserving refactoring with explicit scope, depth and risk choices. |
skill-doctor |
Learn from recent session feedback and trim skill bloat, with cached audits, a dedicated worktree, and one improvement PR. |
ci-hound |
Continuously monitor GitHub Actions workflows with a zero-token ETag-cached background daemon, alert on main failures, repair broken builds in isolated worktrees, and optimize slow or flaky workflows. |
session-statusline |
Manage only the current session's active statusline pills and clear entries without deleting work or changing enabled components. |
A skill is invoked straight from the Copilot composer — here create-canvas-app
turns a one-line prompt into a working canvas:
The full jongio-skills plugin includes a Copilot CLI rule that enables nobs:
answer first, no filler, and the shortest complete response without hiding risks
or skipping work. Say nobs off to disable the style for the current conversation,
or nobs on to restore it. Explicit requests for detail still take precedence.
Use /nobs <text> to condense specific context, or /nobs for the current context.
Installing just the standalone skill does not enable the automatic rule.
The statuslines-only plugin is unchanged. See nobs for
opt-out limitations and host support. Persistent opt-out is currently unsupported.
This plugin also ships four composable terminal statuslines for GitHub Copilot CLI under extensions/ (exposed to Agent Plugins 1.0 hosts via com.github.copilot/extensions/):
| Extension | What it shows |
|---|---|
pr-statusline |
Open session PRs on GitHub and follow checks, conflicts, approvals, and review threads. Background-agent PRs can appear in the agent summary; confirmed merged pills clear on your next message after the merge, even if detection is delayed. |
issue-statusline |
Separate clickable pill for each GitHub issue the active session is working on: priority or bug labels, linked open PR indicator, assignee handle, comment count, and a purple Closed badge that dismisses on your next prompt. |
subagent-statusline |
Overall session subagent counts (starting, exploring, in PR, merged, and failed). Settled counts dismiss on the next real user message after detection without hiding ongoing agents. Use /tasks to inspect individual agents. |
worktree-statusline |
Checkout-grouped rows with full paths, native [⎇ branch*+%] labels, upstream ↑/↓ divergence counts and missing base commits, followed by related PRs and issues. Hides Copilot's own checkout label and empty historical rows; supports detached HEADs and one overall subagent summary. |
With Branch and Worktree enabled, each checkout row starts with a blue,
non-linked path [⎇ branch*+%] pill, followed by its PRs and linked issues.
* means unstaged changes, + staged changes, and % untracked files (not a
percentage). For example, origin/feat/login↑1↓2 means one local-only commit
and two upstream commits missing locally; origin/main↓3 means three missing
base commits. Zero counts are hidden, and target? means a known comparison is
unavailable. Counts use locally fetched refs, not a background network fetch.
The base is the matched PR's target, otherwise the remote default branch;
it is not a guess about where the branch was originally created.
Copilot's own checkout label is hidden; one overall subagent
summary appears below the checkout rows. See the
worktree guide for association and
visibility rules. Disabling worktree grouping restores horizontal composition.
Installing statuslines@jongio-skills (statuslines only) or jongio-skills@jongio-skills (all skills and statuslines) from the jongio/skills marketplace auto-registers the statuslines and opens an interactive checkbox picker on first session start. Use /session-statusline setup (or the compatibility alias /statusline-setup) to toggle Pull Requests, GitHub Issues, Subagents, and Branch and Worktree anytime. /session-statusline refresh forces fresh tracked data; /session-statusline clear dismisses this session's entries without changing enabled components or deleting transcripts. The full plugin also includes the session-statusline skill: ask "clear the footer pills" or remove one PR, issue, or agent. All PR and issue enrollment is explicit through session tools or commands; shell commands, GitHub responses, and references never create pills. Actual session agent launches remain automatic. See session recovery and setup, including the collector restart and legacy-entry reset after upgrading. Or run the standalone setup script:
# Install just the statuslines (no skills) in Copilot CLI:
/plugin marketplace add jongio/skills
/plugin install statuslines@jongio-skills
# Windows (PowerShell one-liner)
irm https://raw.githubusercontent.com/jongio/skills/main/install-statusline.ps1 | iex# macOS & Linux (Bash one-liner)
curl -fsSL https://raw.githubusercontent.com/jongio/skills/main/install-statusline.sh | bashWindows Terminal attention alerts are also available, independently of the
footer rows. Run /session-attention both to enable a pulsing border and
background wash until that session's window gets focus, or
/session-attention preview to try the appearance without enabling it.
Alerts are off by default. See window attention settings and behavior.
jongio/skills plugs directly into the GitHub Copilot plugin system (works in both
the Copilot app and the Copilot CLI).
The repo ships a root marketplace.json and plugin.json so you can install the complete collection (all skills and statuslines) or pick individual skills:
# 1. Register the marketplace once inside Copilot CLI:
/plugin marketplace add jongio/skills
# 2a. Install the entire collection (all skills + CLI statuslines):
/plugin install jongio-skills@jongio-skills
# 2b. Or install just the CLI statuslines (no skills):
/plugin install statuslines@jongio-skills
# 2c. Or install just one skill from the marketplace:
/plugin install create-canvas-app@jongio-skills
Or from your terminal shell:
copilot plugin marketplace add jongio/skills
copilot plugin marketplace browse jongio-skills
copilot plugin install jongio-skills@jongio-skills
# or just the CLI statuslines (no skills):
copilot plugin install statuslines@jongio-skills
# or a single skill:
copilot plugin install create-canvas-app@jongio-skillsIn the Copilot app (no commands needed):
-
Open Settings and select Plugins.
-
Click Install ▾ → Add marketplace, enter
jongio/skills, and click Add marketplace. -
The marketplace's skills appear grouped under jongio-skills — click Install on the one you want (or jongio-skills for the complete collection).
-
The skill installs and is enabled, ready to use right away.
For hosts that use the standalone vercel-labs/skills CLI (skills.sh):
# List the skills available in this repo:
npx skills add jongio/skills --list
# Install one skill globally for GitHub Copilot:
npx skills add jongio/skills --skill create-canvas-app -g --agent github-copilot
# Install into the current project instead of globally (drop -g):
npx skills add jongio/skills --skill create-canvas-app
# Install every skill in the repo:
npx skills add jongio/skills --allAfter any install, reload skills with /skills reload or start a new session.
Each skill is then available as /<skill-name> (e.g. /create-canvas-app).
The repository keeps every skill under skills/ and wraps that canonical
directory with the native manifests required by each supported host. No skill
content is copied between formats.
| Surface | Support | Install or discovery path |
|---|---|---|
| GitHub Copilot app | Marketplace and individual or complete plugin install | Open Customize, select Plugins, add jongio/skills, then install one skill or jongio-skills. |
| GitHub Copilot in Visual Studio Code | Agent Plugins 1.0 and marketplace install | Enable chat.plugins.enabled, run Chat: Install Plugin From Source, and enter https://github.com/jongio/skills. |
| GitHub Copilot CLI | Marketplace and direct plugin install | Run copilot plugin marketplace add jongio/skills or copilot plugin install jongio/skills. |
| Copilot coding agent and code review | Agent Skills in the target repository | Install selected skills into the target repository with npx skills add jongio/skills. |
| ChatGPT desktop and Codex CLI | Codex marketplace and skills-only plugin | Add jongio/skills as a marketplace. If using sparse paths, include .agents/plugins, .codex-plugin, and skills. |
| ChatGPT web and mobile | Public directory plugins only | A Git marketplace cannot enable these surfaces. Public availability requires review through the OpenAI plugin submission portal. |
| Codex IDE extension | Standalone Agent Skills only | The IDE extension does not support plugins. Install selected skills with npx skills add jongio/skills --agent codex. |
| Claude Code, including its Visual Studio Code and JetBrains integrations | Claude marketplace plugin | Run /plugin marketplace add jongio/skills, then /plugin install jongio-skills@jongio-skills. |
| Cursor | Agent Plugins 1.0 and Cursor marketplace | Install https://github.com/jongio/skills from Customize, or import the repository as a marketplace. |
| Gemini CLI and its editor companion | Gemini extension | Run gemini extensions install https://github.com/jongio/skills. Gemini Code Assist is a separate product and does not load Gemini CLI extensions. |
| Goose Desktop, Windsurf, Cline, Roo Code, and OpenCode | Native Agent Skills | Install selected skills with npx skills add jongio/skills; the installer places them in each host's supported skills directory. |
The root plugin.json follows
Agent Plugins 1.0, which
is shared by GitHub Copilot in Visual Studio Code, Cursor, Codex, and other
compatible hosts. Vendor-specific manifests exist only where a host requires a
different discovery path:
plugin.json Agent Plugins 1.0 package
marketplace.json GitHub Copilot marketplace
.agents/plugins/marketplace.json Codex and ChatGPT desktop marketplace
.codex-plugin/plugin.json Codex plugin compatibility manifest
.claude-plugin/marketplace.json Claude Code marketplace
.claude-plugin/plugin.json Claude Code plugin
.cursor-plugin/marketplace.json Cursor marketplace
gemini-extension.json Gemini CLI extension
skills/ Canonical Agent Skills
The aggregate plugin's canonical release is plugin.json's version. Each
skill has its own SemVer string in SKILL.md under metadata.version.
extensions/plugin.json owns the standalone statuslines release. Marketplace
entries and the Claude, Codex, Cursor, and Gemini distribution manifests are
derived from those sources; the Codex marketplace index retains its own schema
without invented version fields.
node scripts/version-skills.mjs check
node scripts/version-skills.mjs bump create-skill patch --dry-run
node scripts/version-skills.mjs bump create-skill patch
node scripts/version-skills.mjs bump package minor
node scripts/version-skills.mjs bump statuslines patch
node scripts/version-skills.mjs syncUse patch for fixes, minor for compatible additions, and major for breaking
workflow or command changes. A skill or statuslines bump also patches the
aggregate release so whole-package installations receive the update. For a
breaking aggregate change, bump package major too. Bump once per release,
not once per edited file. sync repairs mirrors without incrementing releases;
for legacy skills without metadata it preserves the existing marketplace
version, never resets it to 1.0.0. check is read-only and CI rejects drift.
These commands only change local files; they do not commit, tag, push, or publish.
After adding or removing a skill, bump the aggregate package before publishing.
Releasing create-skill also updates its bundled metadata and patches the
containing create-skills-repo release. Mutating release commands hold the
shared repository locks from the first version read through transaction apply.
Private npm manifests version development tooling, not distributed skill releases. Schema and generator template versions are also independent. Skill metadata is descriptive, not an installer pin or an automatic update guarantee. Use an immutable Git ref when reproducible installation is required.
The audit follows the Agent Skills metadata format, Copilot plugin reference, Claude version rules, and Cursor marketplace fields. In particular, a declared Claude plugin version must change for users to receive new plugin content.
Active development tooling uses Vally 0.18.0, pinned in the shared CI tools
and each skill's manifest and lockfile. The active create-skill generator uses
the same pin. The create-skills-repo bundled authoring snapshot and its shared
Vally tooling also use 0.18.0 to preserve byte-for-byte authoring parity and
generated-skill compatibility. Intentional evaluation fixtures and unrelated
template dependencies retain their independent version snapshots.
Each independent npm root enforces min-release-age=7 in its .npmrc;
Dependabot's npm entries use a seven-day cooldown. Use a supported npm release
that implements this setting. The Vally 0.18.0 migration was explicitly approved
as a one-time exception; no permanent release-age exclusions are configured.
Vally 0.18's preferred agent_environment key replaces the deprecated
environment alias in active eval specs. Fixture staging, scoring thresholds,
and CI's trial-level safety guards remain unchanged.
The site temporarily pins three compatible transitive security fixes through
scoped overrides: astro's http-cache-semantics 4.3.0
(GHSA-ch52-4w7c-c8xp) and
sharp 0.35.5
(GHSA-wq5f-xc86-pv6w),
and unifont's undici 8.10.2
(GHSA-w293-vg96-wgc3
and the related undici advisories). Remove each override when a parent upgrade's
resolved graph supplies a compatible patched version, then regenerate and audit
the lockfile. These overrides do not authorize unrelated bot-owned updates.
marketplace.json GitHub Copilot marketplace
plugin.json Agent Plugins 1.0 package manifest
.agents/plugins/ Codex and ChatGPT desktop marketplace
.codex-plugin/ Codex compatibility manifest
.claude-plugin/ Claude Code plugin and marketplace
.cursor-plugin/ Cursor marketplace
gemini-extension.json Gemini CLI extension
test/ Cross-harness distribution parity tests
skills/
create-canvas-app/ One self-contained skill
SKILL.md Authoring contract the agent reads
README.md Human docs for the skill
references/ Lookup detail SKILL.md links to, to stay under 500 lines
evals/ Vally eval spec plus its fixtures
test/ Deterministic tests, run in CI for every skill
kit/ scripts/ docs/ Skill-specific assets
docs/ Specs, test plans, thumbnail prompts
site/ Astro catalog published to GitHub Pages
.github/workflows/ skill-lint (matching PRs/main pushes), skill-eval (agent evals)
A skill is more than its folder: CI enforces that every skill is registered
everywhere the catalog advertises it. The root distribution test covers every
skill and host manifest. Skills with additional registration contracts enforce
them in local tests. On pull requests, skill-lint.yml runs Vally lint, strict
eval-spec lint, and deterministic tests for affected skills, including
lockfile-only changes. Any change under site/ triggers the workflow, which
always builds the catalog site. Matching pushes to the default branch and
manual runs cover every skill.
DNS Doctor and Git Tidy run their three-OS coverage matrices only when selected by the shared change-detection job. Shared workflow, Vally tooling, Dependabot, root test, README, or marketplace/plugin manifest edits select all skills; Git Tidy spec edits select Git Tidy. New commits cancel superseded Skill Lint runs for the same PR, but not running push or manual jobs.
skills/<name>/withSKILL.md(500-line ceiling; overflow goes toreferences/),README.md,package.json,test/, andevals/<name>/eval.yaml. Use/create-skill <name>to create and register this complete shape.- The skill table in this README.
marketplace.jsonand thekeywordsarray inplugin.json.site/src/content/skills/<name>.md, withthumb:pointing atimages/thumb-<name>.png.- The
all=matrix in.github/workflows/skill-eval.yml. - A tracked thumbnail at
skills/<name>/thumbnail.png, generated from a prompt recorded indocs/thumbnail-prompts.mdand listed insite/public/images/IMAGES.md. The site validates catalog mappings and generates ignored public copies before development and production builds.
Copy the newest skill rather than the oldest; it reflects the current conventions.
Skill Eval runs nightly at 03:17 UTC and supports trusted manual runs; pull requests run model-free lint and deterministic tests. Model-backed runs use the owner's Copilot allowance and require an approved scope before dispatch.
For a bounded manual investigation, select explicit skill ids or paths separated
by commas and a Vally filter_tag. The neutral ci=targeted tag selects the
six current regression scenarios rather than their complete suites:
gh workflow run skill-eval.yml --repo jongio/skills --ref <reviewed-ref> \
-f skill=create-skill,dns-doctor,create-gh-pages-site \
-f filter_tag=ci=targeted -f verbose=trueRuns retain five trials per stimulus, two workers and zero retries. verbose
defaults off and requires an explicitly filtered skill selection; opt in only
for reviewed, non-sensitive fixtures because agent answers appear in the job
log. No transcripts or environment-bearing artifacts are uploaded.
Every run prints normalized summary and failed-grader diagnostics, even when the eval command fails. The pass gate still rejects execution errors and any failed skill-invocation, diff-empty or tool-calls check; a high average prompt score does not waive those checks.
MIT — see LICENSE.




