grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding,…
Webiny-only. Run all checks required before packages are ready for publish: deps, build, lint, format, tests.
$ npx -y skills add webiny/webiny-js --skill preflight --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/preflightContext preview
The summary Claude sees to decide when to auto-load this skill.
Webiny-only. Run all checks required before packages are ready for publish: deps, build, lint, format, tests.
name: preflight description: "Webiny-only. Run all checks required before packages are ready for publish: deps, build, lint, format, tests."
Webiny-only skill. Run all checks required before packages are ready for publish.
yarn > /dev/null 2>&1
yarn webiny-scripts generate-webiny-package
yarn webiny sync-dependencies
Verify `packages/cli/files/duplicates.json` is an empty array (`[]`). If it contains entries, there are duplicate dependency versions that must be resolved before continuing.
node scripts/generateTsConfigsInPackages.js
node scripts/checkPackageNodeModules.js
yarn adio
Must output "All dependencies in order!" to pass.
yarn format:fix > /dev/null 2>&1
This auto-fixes formatting issues. No manual intervention needed.
yarn eslint
This only checks — it does not auto-fix. If eslint reports errors, fix them manually, then restart from step 1.
yarn build --no-cache 2>&1 | tail -10
node scripts/checkDistPaths.js
Verifies no `src/` paths remain in built output.
Run `yarn test` for each package below, sequentially. Count active tests first and shard at 32.
**Packages that need `yarn test`:**
# 1. Count active tests
count=$(rg "^\s*(it|test|it\.each|test\.each)\s*\(" packages/<name>/__tests__ -t ts --count-matches | awk -F: '{s+=$2} END {print s}')
shards=$(( (count + 31) / 32 ))
# 2a. If shards <= 1, run without sharding
yarn test packages/<name> 2>&1 | grep "Test Files"
# 2b. If shards > 1, run each shard sequentially
yarn test packages/<name> --shard=1/$shards 2>&1 | grep "Test Files"
yarn test packages/<name> --shard=2/$shards 2>&1 | grep "Test Files"
# ... etcRun `yarn test:os` for each package below, sequentially. Count active tests first and shard at 32.
**Packages that need BOTH `yarn test` (step 11) AND `yarn test:os`:**
**Packages that need ONLY `yarn test:os` (not in step 11):**
yarn test:os packages/<name> 2>&1 | grep "Test Files"
git status
Report any unexpected uncommitted changes from the steps above.
If the lists seem stale, re-derive them:
# All testable packages (have vitest.config.ts) find packages -maxdepth 2 -name "vitest.config.ts" | sed 's|packages/||;s|/vitest.config.ts||' | sort # Packages with ddb-os support grep -rl "ddb-os" --include="ci.config.json" packages/ | sed 's|packages/||;s|/ci.config.json||' | sort # Check if a package has standalone ddb tests too grep -o '"ddb"' packages/<name>/ci.config.json
Open-source content platform. Self-hosted on AWS serverless. Built as a TypeScript framework you extend with code, not a closed product you configure through a UI. Runs on Lambda, DynamoDB, S3, and CloudFront inside your own AWS account. Scales automatically.
Repo: webiny/webiny-js
Interview the user relentlessly about a plan or design until reaching shared understanding,…
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved…
Use when running tests. Shows how to run tests for a single package, including OpenSearch…
Generate, refresh, and maintain Webiny MCP server skills from source documentation and…
Create a PRD through user interview, codebase exploration, and module design, then submit as…
Adding a new feature flag to the Webiny system. Use this skill when creating a new feature…