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
Skill

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.
All reasons and checks

jdevalk/skills

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/jdevalk-skills

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

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

Skills

A code review skill with four independent probes, evidence-backed findings and a merge gate derived from JSON

SkillExtended access305Repository stars

A skills collection filtered and verified by JetBrains: Kotlin, Spring, Vue, deployment, documents and Google Workspace.

SkillExtended access388Repository stars

A code review skill across many languages and frameworks: architecture, performance, security, anti-patterns and common bugs

SkillMinimal access2.2KRepository stars

Over 200 skills by stack and practice: React, Next.js, Rails, Rust, Python, debugging, TDD and UI review

SkillMinimal access221Repository stars

Catalog of 46 versioned skills for code review, releases, CI and landing pages, installed as the lstack plugin or through npx.

PluginExtended access145Repository stars

Dozens of mizchi's agent skills: frontend audits, AWS, Cloudflare, SQL, Playwright and OpenTelemetry, installed one by one

SkillExtended access419Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
jdevalk/skills (this card)no111
Agentic SEO Skillno1,022audits SEO of sites, articles and repositories; jdevalk/skills adds WordPress and Astro CI, GitHub profile audits and readability
Codex SEOno152SEO 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.

---

Report a problem

Foxx AIjdevalk/skills
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.