Project Tooling
alinaqi/maggy
gh, vercel, supabase, render CLI and deployment platform setup
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.
$ npx skills add PramodDutta/qaskills --skill ship-prod -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PramodDutta/qaskills ship-prod --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/PramodDutta/qaskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ship-prod .claude/skills/ship-prod && 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 "ship-prod" agent skill from https://github.com/PramodDutta/qaskills/tree/main/.claude/skills/ship-prod into .claude/skills/ship-prod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-prod", 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/PramodDutta/qaskills/tree/main/.claude/skills/ship-prodType 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 PramodDutta/qaskills --skill ship-prod -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PramodDutta/qaskills ship-prod --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PramodDutta/qaskills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ship-prod .agents/skills/ship-prod && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ship-prod" agent skill from https://github.com/PramodDutta/qaskills/tree/main/.claude/skills/ship-prod into .agents/skills/ship-prod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-prod", 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 PramodDutta/qaskills --skill ship-prod -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PramodDutta/qaskills ship-prod --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PramodDutta/qaskills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ship-prod .cursor/skills/ship-prod && 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 "ship-prod" agent skill from https://github.com/PramodDutta/qaskills/tree/main/.claude/skills/ship-prod into .cursor/skills/ship-prod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-prod", 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/PramodDutta/qaskills.git --path .claude/skills/ship-prod--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 PramodDutta/qaskills --skill ship-prod -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PramodDutta/qaskills ship-prod --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PramodDutta/qaskills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ship-prod .gemini/skills/ship-prod && 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 "ship-prod" agent skill from https://github.com/PramodDutta/qaskills/tree/main/.claude/skills/ship-prod into .gemini/skills/ship-prod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-prod", 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 PramodDutta/qaskills ship-prodInstalls 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 PramodDutta/qaskills --skill ship-prod -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PramodDutta/qaskills.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ship-prod .github/skills/ship-prod && 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 "ship-prod" agent skill from https://github.com/PramodDutta/qaskills/tree/main/.claude/skills/ship-prod into .github/skills/ship-prod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-prod", 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 PramodDutta/qaskills --skill ship-prod -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PramodDutta/qaskills ship-prod --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PramodDutta/qaskills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ship-prod .opencode/skills/ship-prod && 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 "ship-prod" agent skill from https://github.com/PramodDutta/qaskills/tree/main/.claude/skills/ship-prod into .opencode/skills/ship-prod/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-prod", 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.
ship-prodA 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.
Ship Prod is an agent skill from PramodDutta/qaskills. Use 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. "deploy", "ship it", "push this live", "is prod updated?", "the site still shows the old version".
Its SKILL.md is about 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 DevOps & Cloud. It works with Vercel and Git. 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.
Read from SKILL.md and the folder at commit 1d2a092. 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:
gitnpxvercelcurlpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
qaskills.shFrom 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.
Ship Prod loads about 1k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 341 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 PramodDutta/qaskills at commit 1d2a092, republished under its MIT licence (© PramodDutta). 341 words, ~1,044 tokens.
.claude/skills/ship-prod/SKILL.md (or your agent's skills folder).Deploys COMMITTED HEAD only, to the correct Vercel project, then proves the deploy landed. git push to main does not reliably auto-deploy; this skill is the deploy path.
qaskills.sh, project ID prj_rDKli4AyhHoXZXV8NHrs92Ncbf4f, org team_DGM6VSs6vhASlhktmHkSqPwn, account luckydutta96qaskills exists WITHOUT the domain. Never deploy there. Never accept interactive "link this directory?" defaults.vercel.json (shared build && web build); Node is pinned to 24.x via engines in packages/web/package.json (Vercel stopped building 20.x on 2026-10-01; the Neon HTTP driver is verified on 24)vercel --prod uploads the WORKING TREE, not git HEAD.vercel/project.json is gitignored, so fresh worktrees are unlinked: explicit env IDs required therecd /Users/promode/qaskills
vercel whoami # must be luckydutta96; else STOP, user must vercel login
git status --short # empty => clean path; anything => worktree path
git log -1 --oneline --stat | head -15 # confirm HEAD is exactly what you intend to ship
pnpm --filter @qaskills/shared build && pnpm --filter @qaskills/web build # never ship a red buildClean tree (no modified or untracked files that could ship):
cd /Users/promode/qaskills && npx vercel --prod --yesDirty tree (default assumption; the working tree here usually carries WIP):
DEPLOY_DIR=$(mktemp -d)/qaskills-deploy
git -C /Users/promode/qaskills worktree add "$DEPLOY_DIR" HEAD
cd "$DEPLOY_DIR"
VERCEL_ORG_ID=team_DGM6VSs6vhASlhktmHkSqPwn \
VERCEL_PROJECT_ID=prj_rDKli4AyhHoXZXV8NHrs92Ncbf4f \
npx vercel --prod --yes
cd /Users/promode/qaskills
git worktree remove "$DEPLOY_DIR" --forceCapture the deployment URL the CLI prints; it goes in the final summary.
npx vercel ls | head -5 # newest deployment: Ready, Production
curl -s -o /dev/null -w '%{http_code}\n' https://qaskills.sh # 200
# The specific change, visible live. Examples:
curl -s -o /dev/null -w '%{http_code}\n' https://qaskills.sh/blog/<new-slug> # new article: 200
curl -s https://qaskills.sh/<changed-page> | grep -c '<expected-marker>' # code change: >= 1All three must pass before saying "deployed". If the domain still serves old content while the new deployment is Ready, the alias did not move: npx vercel promote <deployment-url>.
npx vercel ls # find the previous Ready production deployment
npx vercel promote <previous-url> # fast path: point the domain backFor a code-level revert, git revert <sha> on main, then run this skill again.
| Symptom | Cause | Fix |
|---|---|---|
CLI asks to link / offers project qaskills | Unlinked dir, interactive defaults | Abort; re-run with both VERCEL_* env vars set |
Error: not authorized / wrong scope | Logged into another account | vercel whoami; user runs vercel login as luckydutta96 |
| Vercel build fails, local build green | Env-dependent code at import time | Lazy-init pattern (see CLAUDE.md); no secrets required at build |
| Deploy Ready but site unchanged | Domain alias on older deployment, or you shipped stale HEAD | vercel promote; confirm intended commit was in HEAD |
| WIP appeared on prod | Deployed dirty working tree directly | Roll back via promote, then redeploy via worktree |
© PramodDutta, MIT. 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 .claude/skills/ship-prod of PramodDutta/qaskills.
Open the folder on GitHubat commit 1d2a092
Ship Prod 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 |
|---|---|---|---|---|---|---|
| Ship Prod this skillPramodDutta/qaskills | 233 | — | ~1k | Automated safety check: Pass | MIT | |
| Project Toolingalinaqi/maggy | 707 | — | ~2.5k | Automated safety check: Notes | MIT | |
| Vercel CI Integrationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Vercel Deploy Integrationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.7k | Automated safety check: Pass | MIT | |
| DeployHouseofmvps/ultraship | 123 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Olore Vercel Latestolorehq/olore | 104 | — | ~620 | Automated safety check: Pass | MIT |
alinaqi/maggy
gh, vercel, supabase, render CLI and deployment platform setup
jeremylongshore/tons-of-skills-marketplace
Configure Vercel CI/CD with GitHub Actions, preview deployments, and automated testing.
jeremylongshore/tons-of-skills-marketplace
Deploy and manage Vercel production deployments with promotion, rollback, and multi-region strategies.
Houseofmvps/ultraship
Pre-flight checks then deploy. An agent skill from Houseofmvps/ultraship.
olorehq/olore
Local vercel documentation reference (latest). An agent skill from olorehq/olore.
vercel-labs/agent-skills
Deploys applications to Vercel as previews by default, picking a deploy method from the project's link state, git remote and team.
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.
PramodDutta/qaskills
A skill your agent uses when publishing SEO blog articles to qaskills.sh, e.g.
PramodDutta/qaskills
Comprehensive RESTful API testing patterns covering HTTP methods, status codes, request/response validation, authentication, error handling, and contract testing.
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…
PramodDutta/qaskills
End-to-end testing skill using Cypress for web applications, covering custom commands, network intercepts, fixtures, cy.session, and component testing patterns.
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…
Categories
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. Ship Prod is an agent skill from PramodDutta/qaskills.g.
Ship Prod fits situations like: deploying qaskills.sh to production; verifying whether a deploy landed; A push to main did not show up on the live site.
Run `npx skills add PramodDutta/qaskills --skill ship-prod -a claude-code`. Or copy the skill folder (.claude/skills/ship-prod in PramodDutta/qaskills) into .claude/skills/ship-prod in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PramodDutta/qaskills --skill ship-prod -a codex`. Or copy the skill folder (.claude/skills/ship-prod in PramodDutta/qaskills) into .agents/skills/ship-prod 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 PramodDutta/qaskills --skill ship-prod -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ship-prod, .gemini/skills/ship-prod, .github/skills/ship-prod and .opencode/skills/ship-prod in your project.
Going by SKILL.md and its folder, Ship Prod needs the command-line tools its instructions call (git, npx, vercel, curl and pnpm). Our summary lists: Node.js.
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.
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.
Ship Prod is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4.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 Ship Prod: Project Tooling (alinaqi/maggy, 707 stars), Vercel CI Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Vercel Deploy Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Deploy (Houseofmvps/ultraship, 123 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PramodDutta (a GitHub user) maintains it in PramodDutta/qaskills, which has 233 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.