Skip to content

jongio/jongio-skills

v2.1.8MIT

Jon Gallant's collection of cross-agent skills for AI coding agents — GitHub Copilot, Claude, and Codex. Browse and install individual skills from the skills/ directory.

jongio/skills

skills.sh

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.

Skills

SkillWhat it does
create-canvas-appBuild 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-siteScaffold 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-skillCreate 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-repoCreate 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-readyScaffold 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-hardInteractive 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.
eli5Explain 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-doctorAudit 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-doctorAudit, 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-tidyContent-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-doctorAudit test correctness, coverage, reliability, and maintenance; optionally repair material gaps without gaming the suite.
prA concise checklist workflow for taking changes from local commit and preflight checks through PR submission, review resolution, CI monitoring, and merge.
goPlan, test, and implement the current context, then hand verified changes to pr for delivery and merge.
retroClose out a session with an evidence-backed task and feedback audit, source-skill improvements, and safely approved branch and worktree cleanup
doc-doctorCheck changed documentation against code and fix material gaps.
backlog-groomGroom GitHub backlogs across issue and source repositories, with or without Projects, using scoped evidence and approved changes.
nobsGive the shortest complete answer for supplied or current context without filler or loss of essential facts.
refactorPlan behavior-preserving refactoring with explicit scope, depth and risk choices.
skill-doctorLearn from recent session feedback and trim skill bloat, with cached audits, a dedicated worktree, and one improvement PR.
ci-houndContinuously 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-statuslineManage only the current session's active statusline pills and clear entries without deleting work or changing enabled components.
create-session-board-canvasShow a live session progress board with canonical tasks, blockers, and primary/subagent updates.

A skill is invoked straight from the Copilot composer — here create-canvas-app turns a one-line prompt into a working canvas:

Invoking create-canvas-app from the Copilot composer: "/create-canvas-app customized stock ticker"

Concise responses by default

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.

Copilot CLI Statusline Extensions

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/):

ExtensionWhat it shows
pr-statuslineOpen 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-statuslineSeparate 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-statuslineOverall 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-statuslineCheckout-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.

Illustrative grouped footer: Branch and Worktree, Pull Requests, Issues, 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 | bash

Custom session names: run /session-statusline name API migration, or ask the session-statusline skill to "name this session API migration". The label appears first in that session's footer and persists on resume. Use /session-statusline name to show it or /session-statusline clear-name to remove it. Clearing tracked pills preserves the name.

Windows 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.

Install

Option 1: Copilot Plugin Marketplace (Recommended)

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-skills

In the Copilot app (no commands needed):

  1. Open Settings and select Plugins.

    Plugins in the settings sidebar

  2. Click Install ▾ → Add marketplace, enter jongio/skills, and click Add marketplace.

    Add marketplace dialog with jongio/skills entered

  3. The marketplace's skills appear grouped under jongio-skills — click Install on the one you want (or jongio-skills for the complete collection).

    Browse the jongio-skills marketplace and install create-canvas-app

  4. The skill installs and is enabled, ready to use right away.

    create-canvas-app installed and enabled

Option 2: Cross-Platform Plugin Installer (One-Liner)

Installing raw skills into ~/.agents/skills, ~/.copilot/skills, ~/.claude/skills, or ~/.codex/skills (for example with npx skills add jongio/skills --all -g) registers un-namespaced slash commands that shadow installed plugins and collide with built-in /pr in Copilot CLI. Use the root installer to clean conflicting raw folders and run the native plugin install (jongio-skills@jongio-skills / codex plugin add jongio-skills) across detected platform CLIs (copilot, claude, codex, and gemini):

# Windows (PowerShell one-liner)
irm https://raw.githubusercontent.com/jongio/skills/main/install.ps1 | iex

# Or from a local checkout:
.\install.ps1 -DryRun
.\install.ps1
# macOS & Linux (Bash one-liner)
curl -fsSL https://raw.githubusercontent.com/jongio/skills/main/install.sh | bash

# Or from a local checkout:
./install.sh --dry-run
./install.sh

Or run each agent's native CLI plugin commands directly:

# GitHub Copilot CLI
copilot plugin marketplace add jongio/skills && copilot plugin install jongio-skills@jongio-skills

# Claude Code
claude plugin marketplace add jongio/skills && claude plugin install jongio-skills@jongio-skills

# Codex CLI
codex plugin marketplace add jongio/skills && codex plugin add jongio-skills

# Gemini CLI
gemini extensions install https://github.com/jongio/skills --consent

Option 3: Skills CLI (npx skills, Project Scope)

For project-scoped installs or single non-colliding skills with vercel-labs/skills (skills.sh):

# List the skills available in this repo:
npx skills add jongio/skills --list

# Install into the current project (recommended over -g to avoid ~/.agents/skills plugin shadowing):
npx skills add jongio/skills --skill create-canvas-app
npx skills add jongio/skills --all

After any install, reload skills with /skills reload or start a new session.

App and editor support

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.

SurfaceSupportInstall or discovery path
GitHub Copilot appMarketplace and individual or complete plugin installOpen Customize, select Plugins, add jongio/skills, then install one skill or jongio-skills.
GitHub Copilot in Visual Studio CodeAgent Plugins 1.0 and marketplace installEnable chat.plugins.enabled, run Chat: Install Plugin From Source, and enter https://github.com/jongio/skills.
GitHub Copilot CLIMarketplace and direct plugin installRun copilot plugin marketplace add jongio/skills or copilot plugin install jongio/skills.
Copilot coding agent and code reviewAgent Skills in the target repositoryInstall selected skills into the target repository with npx skills add jongio/skills.
ChatGPT desktop and Codex CLICodex marketplace and skills-only pluginAdd jongio/skills as a marketplace. If using sparse paths, include .agents/plugins, .codex-plugin, and skills.
ChatGPT web and mobilePublic directory plugins onlyA Git marketplace cannot enable these surfaces. Public availability requires review through the OpenAI plugin submission portal.
Codex IDE extensionStandalone Agent Skills onlyThe 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 integrationsClaude marketplace pluginRun /plugin marketplace add jongio/skills, then /plugin install jongio-skills@jongio-skills.
CursorAgent Plugins 1.0 and Cursor marketplaceInstall https://github.com/jongio/skills from Customize, or import the repository as a marketplace.
Gemini CLI and its editor companionGemini extensionRun 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 OpenCodeNative Agent SkillsInstall 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

Versioning

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 sync

Use 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.

Dependency maintenance

Active development tooling uses Vally 0.20.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.20.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 two compatible transitive security fixes through scoped overrides: astro's sharp 0.35.5 (GHSA-wq5f-xc86-pv6w), and unifont's undici 8.12.3 (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. Astro 7.4.1 requires patched http-cache-semantics directly, so its obsolete override has been removed.

Vally tooling roots and generated skills also override only Copilot SDK's exact zod dependency to 4.6.7 for GHSA-mrhx-c7xc-m3w5. Remove this override when the pinned SDK supplies Zod 4.6.6 or newer. The override does not change Vally or SDK versions.

The tooling locks resolve body-parser 2.4.0 for GHSA-27r3-jxmh-p828 through Express's existing supported range. This patch passed the seven-day release-age gate on October 29, 2026; no override or age exception is needed.

Layout

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)

Adding a skill

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.

  1. skills/<name>/ with SKILL.md (500-line ceiling; overflow goes to references/), README.md, package.json, test/, and evals/<name>/eval.yaml. Use /create-skill <name> to create and register this complete shape.
  2. The skill table in this README.
  3. marketplace.json and the keywords array in plugin.json.
  4. site/src/content/skills/<name>.md, with thumb: pointing at images/thumb-<name>.png.
  5. The all= matrix in .github/workflows/skill-eval.yml.
  6. A tracked thumbnail at skills/<name>/thumbnail.png, generated from a prompt recorded in docs/thumbnail-prompts.md and listed in site/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.

Investigating nightly eval failures

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=true

Runs 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.

License

MIT — see LICENSE.