Update .NET OS Packages
dotnet/core
Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.
Add a project/tool/repository to the awesome-ev-charging generated listing.
$ npx skills add juherr/awesome-ev-charging --skill add-project -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install juherr/awesome-ev-charging add-project --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/juherr/awesome-ev-charging.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-project .claude/skills/add-project && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-project" agent skill from https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-project into .claude/skills/add-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-project", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-projectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add juherr/awesome-ev-charging --skill add-project -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install juherr/awesome-ev-charging add-project --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/juherr/awesome-ev-charging.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/add-project .agents/skills/add-project && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-project" agent skill from https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-project into .agents/skills/add-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-project", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add juherr/awesome-ev-charging --skill add-project -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install juherr/awesome-ev-charging add-project --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/juherr/awesome-ev-charging.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/add-project .cursor/skills/add-project && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-project" agent skill from https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-project into .cursor/skills/add-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-project", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/juherr/awesome-ev-charging.git --path .agents/skills/add-project--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add juherr/awesome-ev-charging --skill add-project -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install juherr/awesome-ev-charging add-project --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/juherr/awesome-ev-charging.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/add-project .gemini/skills/add-project && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-project" agent skill from https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-project into .gemini/skills/add-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-project", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install juherr/awesome-ev-charging add-projectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add juherr/awesome-ev-charging --skill add-project -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/juherr/awesome-ev-charging.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/add-project .github/skills/add-project && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-project" agent skill from https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-project into .github/skills/add-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-project", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add juherr/awesome-ev-charging --skill add-project -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install juherr/awesome-ev-charging add-project --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/juherr/awesome-ev-charging.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/add-project .opencode/skills/add-project && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-project" agent skill from https://github.com/juherr/awesome-ev-charging/tree/main/.agents/skills/add-project into .opencode/skills/add-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-project", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-projectAdd a project/tool/repository to the awesome-ev-charging generated listing.
Add Project is an agent skill from juherr/awesome-ev-charging. Add a project/tool/repository to the awesome-ev-charging generated listing. Use this whenever the user wants to add, list, or feature a GitHub repo in the awesome list — including handling an "Add a link" GitHub issue (e.g. "traite l'ajout de l'issue 27", "add ocpp-debugkit to the list", "ajoute ce repo à la liste"). Covers the full pipeline: make the repo discoverable, ingest → enrich → render, pin the requested category if the classifier diverges, commit the right files, and close the issue. Do NOT hand-edit…
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Technical documentation. It works with GitHub. The repository describes itself as: Awesome list of tools for Electric Vehicles. The licence is CC0-1.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2799ade. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghmisepythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Project loads about 2.1k tokens when it runs. Until then it costs about 180 tokens; SKILL.md has 897 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from juherr/awesome-ev-charging at commit 2799ade, republished under its CC0-1.0 licence (© juherr). 897 words, ~2,051 tokens.
.claude/skills/add-project/SKILL.md (or your agent's skills folder).The published project listing (## Tools and Resources in README.md, between
<!-- BEGIN GENERATED PROJECTS --> / <!-- END GENERATED PROJECTS -->) is
generated by pipeline.py. You never edit it by hand — you change the
pipeline inputs and re-render. This skill walks the full, correct sequence so a
new entry lands in the right section with a clean commit history.
Read CONTRIBUTING.md and AGENTS.md in the repo root for the authoritative
"why" behind each step; this skill is the executable "how".
Scope check. This skill is for adding (or removing) a specific repo. If the
task is just a periodic metadata refresh of the whole listing — re-run the
pipeline to pick up new stars / dormant status, with no repo to add — use the
refresh-metadata skill instead: it handles the cache-vs-TTL decision and lands
a single chore(data) commit rather than the source+data split below.
From the request (often a GitHub issue opened with the "Add a link" template), extract three things:
owner/repo — the GitHub repo to add.Main > Sub (e.g. OCPP > Misc). Valid main
categories live in CATEGORY_TREE in pipeline.py; subcategories are free-form.If the request is a bare URL, still resolve owner/repo and confirm the repo
exists before touching anything:
gh api repos/<owner>/<repo> --jq '{full_name, description, stars: .stargazers_count, pushed_at, archived, fork: .fork}'If it's archived or a fork, mention that to the user — it may still be added but
will land in the Dormant / To refine blocks.
mise trust has been run (mise pins Python 3.11 and auto-activates .venv).gh auth token works — the mise tasks wire it in for GitHub API + the
GraphQL-only Stars lists. Check with gh auth token >/dev/null && echo OK.ingestingest only builds records for repos it can discover. The repo qualifies if
any of these is true — check in this order and do the least invasive thing:
TOPICS GitHub topic (e.g. tagged ocpp), orSTARRED_LISTS (juherr/ev,
mateogreil/ev-mobility), orREADME.md, orowner/repo to ADDITIONAL_REPOS in
pipeline.py.When unsure, just add it to ADDITIONAL_REPOS — it's idempotent and explicit.
A repo can be discovered by several sources at once (the CSV source column
shows the +-joined provenance); that's fine.
To remove instead, add its full_name to EXCLUDED_REPOS and skip to render.
repos.csvmise run ingestConfirm the repo is present:
grep "<owner>/<repo>" repos.csvmise run enrichpushed_at, so only new/changed repos hit the LLM. Never pass --refresh
here — it re-classifies everything and would overwrite any hand-pinned cells.Then check what category the classifier assigned:
grep "<owner>/<repo>" classifications.csvMain > Sub matches the requested category → good,
nothing to do.categories cell in classifications.csv (leave
pushed_at untouched — it's the cache key), then re-run mise run enrich
(cache reuse, no LLM call) so the edit flows into repos.enriched.csv. A repo
can hold several categories separated by |.--refresh, add
an entry to CATEGORY_OVERRIDES in pipeline.py (key is the lowercased
owner/repo, e.g. "owner/repo": "Main > Sub"); this applies at render time
and needs no enrich.python pipeline.py render --readme README.mdVerify the entry landed:
grep -n "<owner>/<repo>" README.md legacy-projects.mdThe block a repo lands in (Selection vs collapsed Dormant / To refine) is
decided by a promotion score (star lists / contributor status), not by you — so
a low-star repo showing up under To refine is expected, not a bug.
Re-running ingest/enrich commonly re-discovers and re-classifies other
repos whose upstream pushed_at changed since the last run (the cache reuse
key is pushed_at). So the diff on README.md / classifications.csv is often
much larger than your single addition. This is normal pipeline drift, not a bug.
Sanity-check that nothing regressed to an empty category unexpectedly:
git --no-pager diff --statCommit only the meaningful files. Generated artifacts repos.csv,
repos.enriched.csv, cache_github/, list.txt are git-ignored — never commit
them. Split into two commits so the issue's actual source change is traceable
and the data refresh is separate. The first commit only exists when you actually
edited pipeline.py — a repo discovered through TOPICS, a STARRED_LISTS
entry or a README link needs no source change, so go straight to the second:
# 1) the source change for the issue — skip if pipeline.py is unchanged
git add pipeline.py
git commit -m "feat(data): add <repo> to ADDITIONAL_REPOS
Requested in issue #<N>. <one-line description>. Classified as <Main > Sub>.
Closes #<N>"
# 2) the regenerated listing (includes unrelated refresh drift)
git add classifications.csv README.md legacy-projects.md
git commit -m "chore(data): refresh project listing (adds <repo>)
Re-ran enrich + render. Injects <repo> (<Main > Sub>) and refreshes N
repos whose upstream pushed_at changed since the last enrichment."Conventions to honor:
Co-Authored-By: trailer
naming an assistant, and no mention of one in the body, whichever assistant
you are. This is a standing preference for this user.feat
commit on pipeline.py + README.md is enough.Closes #<N> in the commit auto-closes it on push to the default branch. If you
only committed locally or want to comment, do it explicitly:
gh issue close <N> --repo juherr/awesome-ev-charging \
--comment "Added — see <commit sha>. It now appears under <Main > Sub>."Ask the user before pushing/closing if they haven't clearly authorized it — outward-facing actions need confirmation.
README.md between the GENERATED markers by hand.classifications.csv, README.md,
legacy-projects.md, and (if changed) pipeline.py.--refresh when you want to keep hand-pinned classifications.© juherr, CC0-1.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/add-project of juherr/awesome-ev-charging.
Open the folder on GitHubat commit 2799ade
Add Project next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Project this skilljuherr/awesome-ev-charging | 175 | — | ~2.1k | Automated safety check: Pass | CC0-1.0 | |
| Update .NET OS Packagesdotnet/core | 22k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Beautify GitHub Readmeoil-oil/beautify-github-readme | 1.8k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Library Documentation Seekerwithkynam/vibecode-pro-max-kit | 1.1k | 2 repos | ~1k | Automated safety check: Notes | MIT | |
| Update .NET Supported OS Matrixdotnet/core | 22k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Debate ReviewamElnagdy/review-skills | 132 | 2 repos | ~986 | Automated safety check: Pass | MIT |
dotnet/core
Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.
oil-oil/beautify-github-readme
Redesign GitHub README homepages or create project-native pure SVG, hybrid SVG-composed PNG/WebP, and opt-in animated GIF assets.
withkynam/vibecode-pro-max-kit
Looks up library and framework documentation through Context7 first, with bundled Node scripts as a fallback that fetch and analyze llms.txt files.
dotnet/core
Audits and updates the supported-os.json files for .NET releases, checking them against upstream lifecycle data and regenerating the markdown with the release-notes tool.
amElnagdy/review-skills
Two-model debate review of a GitHub PR, GitLab MR, Azure DevOps PR, or local working tree, posted as inline comments or printed.
agent-substrate/substrate
Posts pull request review findings as GitHub draft (pending) inline comments for a human to edit and submit, instead of publishing them straight to the PR author.
juherr/awesome-ev-charging
Refresh the awesome-ev-charging project listing's metadata (stars, forks, pushedat, dormant/archived signals) and re-render it into README.md — the periodic maintenance pass, with no new repo to add…
Works with
Categories
Add a project/tool/repository to the awesome-ev-charging generated listing. Add Project is an agent skill from juherr/awesome-ev-charging. Add a project/tool/repository to the awesome-ev-charging generated listing.
Add Project fits situations like: feature a GitHub repo in the awesome list — including handling an Add a link GitHub issue (e.g; tasks that involve Technical documentation.
Run `npx skills add juherr/awesome-ev-charging --skill add-project -a claude-code`. Or copy the skill folder (.agents/skills/add-project in juherr/awesome-ev-charging) into .claude/skills/add-project in your project. Claude Code loads it when a task matches its description.
Run `npx skills add juherr/awesome-ev-charging --skill add-project -a codex`. Or copy the skill folder (.agents/skills/add-project in juherr/awesome-ev-charging) into .agents/skills/add-project in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add juherr/awesome-ev-charging --skill add-project -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-project, .gemini/skills/add-project, .github/skills/add-project and .opencode/skills/add-project in your project.
Going by SKILL.md and its folder, Add Project needs the command-line tools its instructions call (git, gh, mise and python). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Add Project is published under the CC0-1.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Project: Update .NET OS Packages (dotnet/core, 22k stars), Beautify GitHub Readme (oil-oil/beautify-github-readme, 1.8k stars), Library Documentation Seeker (withkynam/vibecode-pro-max-kit, 1.1k stars) and Update .NET Supported OS Matrix (dotnet/core, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
juherr (a GitHub user) maintains it in juherr/awesome-ev-charging, which has 175 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 5, 2026.
Source: juherr/awesome-ev-charging on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.