home / skills / younesbenallal / seo-skills / seo-audit-report

seo-audit-report skill

/seo-audit-report

npx playbooks add skill younesbenallal/seo-skills --skill seo-audit-report

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.6 KB
---
name: seo-audit-report
description: Document how to scaffold a Vite+React SEO audit report that ingest Search Console data, stores it in sql.js, and visualizes query/page KPIs.
---

# SEO audit report (scaffold instructions)

Use this skill when the user wants an interactive, client-side report that imports Search Console exports and keeps them in a lightweight SQLite database for repeated inspection.

## Required inputs
- Project directory name.
- Data source: GSC MCP export (JSON/CSV) or manual file.
- Persistence target: in-browser IndexedDB via `sql.js`.

## Workflow

1. **Scaffold the project**
   - Run `npm create vite@latest <project-name> -- --template react-ts` (or `bun create vite@latest ...` if Bun is preferred).
   - Enter the new folder and install deps (`npm install`/`bun install`).
   - Use `exa` (or web search) to confirm the latest Vite React template command if the tooling switches.

2. **Add dependencies**
   - Install `react`, `react-dom` (if not already) along with `zod`.
   - Install runtime helpers: `sql.js` for the SQLite engine and `idb-keyval` for Persisting exported bytes.
   - Keep `typescript` + `vite` dev dependencies aligned with the template.

3. **Implement the app**
   - Configure `sql.js` using the `sql-wasm.wasm` bundle; wrap initialization in a helper to reuse across hooks.
   - Build an import flow that accepts CSV/JSON and normalizes rows into `{ date, query, page, clicks, impressions, ctr, position }`.
   - Store normalized rows into a `gsc_rows` table with indexes on `date`, `query`, and `page`, then export the database and persist via `idb-keyval`.
   - Surface KPIs: total clicks/impressions/CTR/weighted position, top queries, top pages, and CTR gap opportunities filtered by impressions/position buckets.
   - Include file + fetch controls (`<input type="file">`, fetch from `/gsc/latest.json`), custom filters, and a reset button.
   - Style the layout with CSS variables and card/grid patterns, keeping readability front-and-center (sticky header, callouts, narrow text width).

4. **Run & iterate**
   - Start the dev server with `npm run dev` or `bun run dev`.
   - Load sample exports (provide a `public/gsc/latest.json` for convenience) and verify persistence across reloads.
   - Document expected import schema and heuristics for CTR opportunities in README or inline comments.

## Tool checks
- When unsure which packages to add or how to initialize `sql.js`, run an `exa` search such as `exa "vite react sql.js setup"` to gather up-to-date commands.
- Refer to the `Skill creation process` section of `seo-skills/README.md` when expanding the skill further.