Agent skill

Add Seed Skills

by PramodDutta in PramodDutta/qaskills

A skill your agent uses when adding or editing QA skills in seed-skills/ or getting them onto the live qaskills.sh catalog, e.g.

MITAuto-check: notesTesting & QA

Install Add Seed Skills

skills CLI
$ npx skills add PramodDutta/qaskills --skill add-seed-skills -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PramodDutta/qaskills add-seed-skills --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PramodDutta/qaskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-seed-skills .claude/skills/add-seed-skills && rm -rf skills-src

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

Facts

Skill name
add-seed-skills
GitHub stars
235
Token cost
~1.4k tokens
SKILL.md length
480 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when adding or editing QA skills in seed-skills/ or getting them onto the live qaskills.sh catalog, e.g.

  • Works in 6 steps: Dedup the slug (directory name = slug) → Write seed-skills//SKILL.md → Validate every file → …
  • Editing QA skills in seed-skills/
  • SKILL.md covers Format contract (parser reality), Steps, Failure modes and Red flags
  • Calls curl, pnpm and git; reaches qaskills.sh

What it does

Add Seed Skills is an agent skill from PramodDutta/qaskills. Use when adding or editing QA skills in seed-skills/ or getting them onto the live qaskills.sh catalog, e.g. "add N new skills", "create a seed skill for X", "seed the database", "the skill page is empty", "skill 404s on the site".

Its SKILL.md is about 1.4k 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 Testing & QA. The repository describes itself as: QA Skills Directory QA Skills is a curated directory of testing-specific skills for AI coding agents (Claude Code, Cursor, Copilot, etc.). The licence is MIT.

When your agent uses it

  • Editing QA skills in seed-skills/
  • Getting them onto the live qaskills.sh catalog

Example prompts

  • “add N new skills”
  • “create a seed skill for X”
  • “seed the database”
  • “/add-seed-skills”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Dedup the slug (directory name = slug)
  2. Write seed-skills//SKILL.md
  3. Validate every file
  4. Seed PRODUCTION (the dangerous step)
  5. Verify live (the only proof that counts)
  6. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 1d2a092. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • pnpm
    • git
    • node
    • vercel

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • qaskills.sh

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add Seed Skills loads about 1.4k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 480 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:70
    **Never use the `DATABASE_URL` from `.env.local`.** It points at a stale non-prod database; seeding it changes nothing o
  • NoteMentions a .env fileSKILL.md:73
    . Get the prod URL: run `vercel env pull .env.vercel-prod --environment=production` yourself (worked from the agent as o
  • NoteMentions a .env fileSKILL.md:110
    `total` did not grow | Seeded the stale `.env.local` DB | Step 4.2, re-seed with the real prod URL |
  • NoteMentions a .env fileSKILL.md:116
    - Exporting DATABASE_URL from `.env.local` "because it is right there"

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.

SKILL.md

The full file from PramodDutta/qaskills at commit 1d2a092, republished under its MIT licence (© PramodDutta). 480 words, ~1,361 tokens.

Download SKILL.mdSave it as .claude/skills/add-seed-skills/SKILL.md (or your agent's skills folder).
name
add-seed-skills
description
Use when adding or editing QA skills in seed-skills/ or getting them onto the live qaskills.sh catalog, e.g. "add N new skills", "create a seed skill for X", "seed the database", "the skill page is empty", "skill 404s on the site".

Add Seed Skills

Pipeline: seed-skills/<slug>/SKILL.md -> validator -> seed.ts upsert into the PROD database -> live catalog. These are PRODUCT catalog skills (Zod schema with testingTypes/languages), not Claude Code workflow skills; never confuse the two formats.

Format contract (parser reality)

packages/web/src/db/seed.ts parses frontmatter with regex, not a YAML library:

  • Every value on ONE line; a wrapped description parses as truncated garbage
  • Arrays INLINE ONLY: tags: [a, b, c]. YAML block lists (- item) parse as EMPTY arrays
  • Zod limits: name 1-100 chars, description 10-500 chars, version semver, testingTypes >= 1, languages >= 1
  • Allowed values come from packages/shared/src/constants/ (testing types, frameworks, languages, domains, agent slugs); check there before inventing one

Template (model the body on seed-skills/playwright-e2e/SKILL.md):

markdown
---
name: Human Readable Skill Name
description: One line, 10-500 chars, what the skill teaches an agent to do.
version: 1.0.0
author: thetestingacademy
license: MIT
tags: [tag-one, tag-two]
testingTypes: [e2e]
frameworks: [playwright]
languages: [typescript]
domains: [web]
agents: [claude-code, cursor, github-copilot, windsurf, cline]
---

# Skill Title

Real instructions: principles, project structure, code samples, checklists.
This body becomes fullDescription: it renders on the skill page and is what
the CLI downloads. Aim for 100+ lines of substance; an empty or thin body
is a broken product page.

Steps

1. Dedup the slug (directory name = slug)
bash
ls /Users/promode/qaskills/seed-skills | grep -i "<core-term>"
curl -s -o /dev/null -w '%{http_code}\n' "https://qaskills.sh/api/skills/<slug>"   # want 404
2. Write seed-skills/<slug>/SKILL.md

Frontmatter per the contract above, then the full body.

3. Validate every file
bash
cd /Users/promode/qaskills
pnpm --filter @qaskills/shared build && pnpm --filter @qaskills/skill-validator build
for d in <slug-one> <slug-two>; do
  node packages/skill-validator/dist/cli.js "seed-skills/$d/SKILL.md" || echo "INVALID: $d"
done

Also eyeball that arrays are inline and the description is one line (the validator uses the real YAML parser and can pass files the seed regex still mangles).

4. Seed PRODUCTION (the dangerous step)

Never use the DATABASE_URL from .env.local. It points at a stale non-prod database; seeding it changes nothing on the live site. This mistake has burned a full session before.

  1. Baseline: curl -s 'https://qaskills.sh/api/skills?limit=1' and record the top-level total.
  2. Get the prod URL: run vercel env pull .env.vercel-prod --environment=production yourself (worked from the agent as of 2026-07-07; the file is gitignored). If the pull is blocked, ask the user to run that exact command and wait.
  3. Seed with the explicit URL (strip any surrounding quotes from the value):
bash
cd /Users/promode/qaskills
export DATABASE_URL='<prod-url-without-quotes>'
pnpm --filter @qaskills/web db:seed

seed.ts is an upsert (onConflictDoUpdate on skills): safe to re-run, it will not delete the live rows that exist only in prod. Never substitute custom SQL, and never run UPDATE/DELETE against prod without explicit user approval.

Show full SKILL.md (186 more words)Show less
5. Verify live (the only proof that counts)
bash
curl -s 'https://qaskills.sh/api/skills?limit=1'                       # total must equal baseline + N
curl -s "https://qaskills.sh/api/skills/<slug>/content" | head -20     # frontmatter + body, not empty
curl -s -o /dev/null -w '%{http_code}\n' "https://qaskills.sh/skills/thetestingacademy/<slug>"  # 200 (adjust author segment if different)

total unchanged, or slug 404s => you seeded the wrong database. STOP. Do not retry blindly; re-verify which URL was exported and report the mismatch.

6. Commit
bash
git -C /Users/promode/qaskills add seed-skills/<slug-one> seed-skills/<slug-two>
git -C /Users/promode/qaskills commit -m "feat(skills): add <N> <theme> seed skills"
git -C /Users/promode/qaskills push origin main

No web redeploy is needed for catalog changes (pages read the DB), but commit so the repo stays the source of truth.

Failure modes

SymptomCauseFix
Skill live but tags/types emptyBlock-list arrays or multi-line values in frontmatterConvert to inline arrays, single lines, re-seed
Skill page renders only the short descriptionMissing/empty markdown bodyWrite the body, re-seed (upsert refreshes fullDescription)
Live total did not growSeeded the stale .env.local DBStep 4.2, re-seed with the real prod URL
Validator passes but seed drops fieldsValidator parses real YAML, seed.ts regex does notObey the format contract, not just the validator
Connection error on seedQuoted URLStrip the quotes from DATABASE_URL (Node 24 is fine: the seeder uses the Neon HTTP path)

Red flags

  • Exporting DATABASE_URL from .env.local "because it is right there"
  • Skipping the baseline/after total comparison
  • Frontmatter-only SKILL.md ("body later")
  • Writing DELETE/UPDATE SQL to "fix" prod data

© PramodDutta, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/add-seed-skills of PramodDutta/qaskills.

Open the folder on GitHubat commit 1d2a092

Compare with similar skills

Add Seed Skills 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.

Add Seed Skills compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Seed Skills this skillPramodDutta/qaskills235—~1.4kAutomated safety check: NotesMIT
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
Diagnosing Bugsfossasia/eventyay-interpretation1.6k32 repos~2.1kAutomated safety check: PassApache-2.0
TDDpietheinstrengholt/rssmonster56430 repos~906Automated safety check: PassMIT
TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph11211 repos~2.4kAutomated safety check: PassNone
TDDsanity-io/sanity6.4k20 repos~1kAutomated safety check: PassMIT

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Diagnosing Bugs

    fossasia/eventyay-interpretation

    Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.

    1.6k GitHub starsUsed in 32 repos~2.1k tokens
    Testing & QAAuto-check passed
  • TDD

    pietheinstrengholt/rssmonster

    Test-driven development. An agent skill from pietheinstrengholt/rssmonster.

    564 GitHub starsUsed in 30 repos~906 tokens
    Testing & QAAuto-check passed
  • TDD Workflow

    hellangleZ/burn-in-cceverywhere-ralph

    A skill your agent uses when writing new features, fixing bugs, or refactoring code.

    112 GitHub starsUsed in 11 repos~2.4k tokens
    Testing & QAAuto-check passed
  • TDD

    sanity-io/sanity

    Official

    Test-driven development with red-green-refactor loop. An agent skill from sanity-io/sanity.

    6.4k GitHub starsUsed in 20 repos~1k tokens
    Testing & QAAuto-check passed
  • Context Driven Development

    Ibrahim-3d/orchestrator-supaconductor

    A skill your agent uses when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md…

    381 GitHub starsUsed in 9 repos~2.9k tokens
    Testing & QAAuto-check passed

More from PramodDutta/qaskills

All 11 skills in this repo
  • Publish SEO Batch

    PramodDutta/qaskills

    A skill your agent uses when publishing SEO blog articles to qaskills.sh, e.g.

    235 GitHub stars~2.2k tokensUpdated 7 days ago
    Auto-check passed
  • Ship Prod

    PramodDutta/qaskills

    A skill your agent uses when deploying qaskills.sh to production, verifying whether a deploy landed, or when a push to main did not show up on the live site, e.g.

    235 GitHub stars~1k tokensUpdated 7 days ago
    Auto-check passed
  • API Testing REST

    PramodDutta/qaskills

    Comprehensive RESTful API testing patterns covering HTTP methods, status codes, request/response validation, authentication, error handling, and contract testing.

    235 GitHub stars~4.9k tokensUpdated 7 days ago
    Auto-check passed
  • Claude Code QA

    PramodDutta/qaskills

    The complete QA skill for Claude Code — turn Claude into an expert QA engineer that picks the right test type, writes reliable Playwright, Cypress, and pytest tests, eliminates flaky tests, enforces…

    235 GitHub stars~2.3k tokensUpdated 7 days ago
    Auto-check passed
  • Cypress E2E

    PramodDutta/qaskills

    End-to-end testing skill using Cypress for web applications, covering custom commands, network intercepts, fixtures, cy.session, and component testing patterns.

    235 GitHub stars~3.4k tokensUpdated 7 days ago
    Auto-check passed
  • E2E Testing Claude Code

    PramodDutta/qaskills

    Make Claude Code write and maintain end-to-end tests like a senior SDET — Playwright and Cypress flows with stable locators, the Page Object Model, fixtures, reused auth state, network mocking, and…

    235 GitHub stars~1.4k tokensUpdated 7 days ago
    Auto-check passed

Categories

Questions about Add Seed Skills

What does Add Seed Skills do?

A skill your agent uses when adding or editing QA skills in seed-skills/ or getting them onto the live qaskills.sh catalog, e.g. Add Seed Skills is an agent skill from PramodDutta/qaskills.g.

When should I use Add Seed Skills?

Add Seed Skills fits situations like: editing QA skills in seed-skills/; getting them onto the live qaskills.sh catalog.

How do I install Add Seed Skills in Claude Code?

Run `npx skills add PramodDutta/qaskills --skill add-seed-skills -a claude-code`. Or copy the skill folder (.claude/skills/add-seed-skills in PramodDutta/qaskills) into .claude/skills/add-seed-skills in your project. Claude Code loads it when a task matches its description.

How do I install Add Seed Skills in Codex?

Run `npx skills add PramodDutta/qaskills --skill add-seed-skills -a codex`. Or copy the skill folder (.claude/skills/add-seed-skills in PramodDutta/qaskills) into .agents/skills/add-seed-skills in your project. Codex loads it when a task matches its description.

Can I use Add Seed Skills in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PramodDutta/qaskills --skill add-seed-skills -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-seed-skills, .gemini/skills/add-seed-skills, .github/skills/add-seed-skills and .opencode/skills/add-seed-skills in your project.

What does Add Seed Skills need to run?

Going by SKILL.md and its folder, Add Seed Skills needs the command-line tools its instructions call (curl, pnpm, git, node and vercel).

Does Add Seed Skills access the network?

SKILL.md names 1 domain. In commands or code: qaskills.sh; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Add Seed Skills safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Add Seed Skills use?

Add Seed Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Seed Skills use?

About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Seed Skills?

Skills that share tags, products or a category with Add Seed Skills: Web Application Testing (anthropics/skills, 180k stars), Diagnosing Bugs (fossasia/eventyay-interpretation, 1.6k stars), TDD (pietheinstrengholt/rssmonster, 564 stars) and TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Seed Skills?

PramodDutta (a GitHub user) maintains it in PramodDutta/qaskills, which has 235 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 4, 2026.

Source: PramodDutta/qaskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.