jdevalk/skills
Auditing skills for GitHub repositories and profiles, WordPress, EmDash and Astro CI, site SEO, text readability and metadata.
- 111 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The skills create project files and GitHub Actions workflows, and some set up automated deployment.
- `wp-static-clone` contacts a live site and downloads its pages.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/jdevalk-skillsDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The skills create project files and GitHub Actions workflows, and some set up automated deployment.
- `wp-static-clone` contacts a live site and downloads its pages.
This is third-party code. Review the repository files before installing.
What it does
jdevalk/skills is a collection of skills, each of which audits a project against a scored checklist and produces drop-in replacements. `github-repo` audits a repository and creates README, CONTRIBUTING, SECURITY and issue and PR templates, while `github-profile` reviews a profile and writes a profile README. `wp-github-actions`, `emdash-github-actions` and `astro-github-actions` set up GitHub Actions for WordPress plugins, EmDash plugins and Astro sites. `astro-seo` and `static-seo` audit SEO for Astro sites and for any static HTML. `readability-check`, `content-seo` and `metadata-check` assess readability, a post chance of ranking and short strings such as titles. `wp-readme-optimizer` rewrites a WordPress.org plugin `readme.txt`, and `wp-static-clone` turns a live WordPress site into static HTML.
Who it is for. Authors of open repositories, WordPress plugins and Astro sites who want an audit with ready-made fixes.
Good fit when
- An open repository looks untidy: no SECURITY file, issue templates or CODEOWNERS.
- A WordPress.org plugin needs WPCS, PHPUnit checks and automated deployment.
- An Astro site lacks JSON-LD, a sitemap and IndexNow.
- A post is checked against search intent and a focus keyphrase before publishing.
- A WordPress site is moving to static hosting.
Not a fit when
- Russian texts and sites: readability is calibrated for English.
- A project on another stack: recipes are built for Astro, WordPress and EmDash.
- A live WordPress site is not reachable from outside: `wp-static-clone` copies a published site.
Example request
Audit the SEO of my Astro site and propose ready code for JSON-LD and a sitemap.Limitations
The readability check is calibrated for readers with English as a second language, so its score does not fit Russian text. SEO recipes route through the `@jdevalk/astro-seo-graph` package. `wp-static-clone` deals with Cloudflare bot protection, so check a site terms before copying it. The optional `SessionStart` hook updates skills with `npx skills update -g -y` on every session start, `/clear` and context compaction.
How to disable. Delete the installed skills from the agent skill directory. If you added the `SessionStart` hook with `npx skills update`, remove it from `settings.json`.
FAQ
How do I install a single skill from the set?
`npx skills add jdevalk/skills --skill astro-seo` installs only `astro-seo`. Without `--skill` the command installs every skill in the repository.
Which agents are supported?
The skills CLI supports Claude Code, Cursor, Cline, GitHub Copilot and 20-plus other agents. Pick the agent with the `--agent` flag.
How do I update the skills?
Use `npx skills update` for all or `npx skills update astro-seo` for one. To flag stale skills at session start, add a `SessionStart` hook to the Claude Code `settings.json`.
How does `astro-seo` differ from `static-seo`?
They share one audit framework. `astro-seo` gives recipes through `@jdevalk/astro-seo-graph`, while `static-seo` works with plain HTML, JSON-LD and `sitemap.xml` for Hugo, Jekyll, 11ty and others.
What does `readability-check` assess?
Readability of English text across ten categories with a Flesch Reading Ease score. For each issue the skill quotes the passage and gives a concrete fix.
Discussion
No questions or reviews yet.
Related
Skillskyy-logs code-review-skill
code-review-skill
A code review skill with four independent probes, evidence-backed findings and a merge gate derived from JSON
A skills collection filtered and verified by JetBrains: Kotlin, Spring, Vue, deployment, documents and Google Workspace.
A code review skill across many languages and frameworks: architecture, performance, security, anti-patterns and common bugs
Over 200 skills by stack and practice: React, Next.js, Rails, Rust, Python, debugging, TDD and UI review
Catalog of 46 versioned skills for code review, releases, CI and landing pages, installed as the lstack plugin or through npx.
Dozens of mizchi's agent skills: frontend audits, AWS, Cloudflare, SQL, Playwright and OpenTelemetry, installed one by one
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| jdevalk/skills (this card) | no | 111 | |
| Agentic SEO Skill | no | 1,022 | audits SEO of sites, articles and repositories; jdevalk/skills adds WordPress and Astro CI, GitHub profile audits and readability |
| Codex SEO | no | 152 | SEO audits inside Codex CLI with roles; jdevalk/skills works across agents and covers repositories and CI |
README in short
Each skill has its own folder with a README that lays out the checklist, recipes and sources. Other skills chain into `metadata-check`: `astro-seo`, `static-seo`, `wp-readme-optimizer`, `github-repo` and `github-profile`.
README badge
Original SKILL.md
--- name: astro-seo description: > Audits and improves SEO for Astro sites. Use when the user asks to audit, set up, or improve SEO on an Astro site, or mentions head metadata, structured data, JSON-LD, sitemaps, IndexNow, Open Graph images, schema endpoints, NLWeb, hreflang, or search engine indexing in an Astro project. Produces drop-in code routed through `@jdevalk/astro-seo-graph` and chains into `metadata-check` for generated SEO strings. --- # Astro SEO Audits and improves the SEO setup of an Astro site against the full stack described in [Astro SEO: the definitive guide](https://joost.blog/astro-seo-complete-guide/). The skill covers nine areas — technical foundation, structured data, content, site structure, performance, sitemaps and indexing, agent discovery, redirects, and analytics — and produces drop-in code for anything missing or weak. The opinionated spine of this skill is [`@jdevalk/astro-seo-graph`](https://github.com/jdevalk/seo-graph). Most of the fixes route through it. If the project doesn't use it yet, installing it is the first recommendation. **Code recipes live in `AGENTS.md`** — read it when you need to implement a specific fix. This file has the workflow and audit checklist. ## Workflow 1. **Detect the project** — confirm this is an Astro site and understand its shape. 2. **Audit** — score nine categories and produce actionable findings. 3. **Improve** — generate or modify files to close the gaps. Recipes are in `AGENTS.md`. 4. **Metadata pass** — invoke `metadata-check` on every short string the skill generated (titles, descriptions, schema `description` fields, FAQ answers, frontmatter excerpts). 5. **Verify** — run the build, check validations pass, remind the user about non-file tasks (Search Console, Bing Webmaster Tools, IndexNow key verification). --- ## Phase 0: Detect the project Confirm the basics before auditing: - `astro.config.mjs` / `astro.config.ts` exists. - `package.json` has `astro` as a dependency. - **`site:` is set in `astro.config`** — canonicals, sitemaps, and OG image URLs all derive from this. If it's missing, empty, or `http://localhost`, flag it as a blocking issue before anything else. This is the single most common misconfiguration. - Content collections in `src/content/` (or legacy `src/pages/` markdown). - **Deployment target** — read `package.json`, `vercel.json`, `netlify.toml`, `wrangler.toml`, or `public/_headers` to determine the host. This drives redirect and header syntax in Phase 2. - **Is `@jdevalk/astro-seo-graph` already installed?** If yes, record the version and which features are wired (grep for `<Seo`, `seoGraph(`, `createSchemaEndpoint`, `createSchemaMap`, `FuzzyRedirect`, `createIndexNowKeyRoute`, `createMarkdownEndpoint`, `createApiCatalog`, `gitLastmod`). **Check the installed version against the latest on npm** with `npm view @jdevalk/astro-seo-graph version`. If the project is behind, recommend an upgrade in Phase 2 before auditing feature gaps — the package ships new defaults and fixes regularly, and an outdated version is a plausible cause for any audit finding. Phase 2 branches on this. - **Is the site multilingual?** Check for `i18n` in `astro.config` or multiple locale directories under `src/content/`. If yes, hreflang matters; if no, skip it. Ask only what you can't detect. Don't ask the user what the site is about — read `astro.config.mjs` and the homepage content. ---