Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Webiny-only. Run all checks required before packages are ready for publish: deps, build, lint, format, tests.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -20% | 0% |
Webiny-only skill. Run all checks required before packages are ready for publish.
rg "^\s*(it|test|it\.each|test\.each)\s*\(" packages/<name>/__tests__ -t ts --count-matches | awk -F: '{s+=$2} END {print s}'shards = ceil(count / 32). If shards is 1, no --shard flag needed./dev/null or pipe through tail as needed.bashyarn > /dev/null 2>&1
webiny packagebashyarn webiny-scripts generate-webiny-package
bashyarn 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.
bashnode scripts/generateTsConfigsInPackages.js
bashnode scripts/checkPackageNodeModules.js
bashyarn adio
Must output "All dependencies in order!" to pass.
bashyarn format:fix > /dev/null 2>&1
This auto-fixes formatting issues. No manual intervention needed.
bashyarn eslint
This only checks — it does not auto-fix. If eslint reports errors, fix them manually, then restart from step 1.
bashyarn build --no-cache 2>&1 | tail -10
bashnode 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:
apiapi-acoapi-audit-logsapi-coreapi-file-managerapi-file-manager-acoapi-headless-cmsapi-headless-cms-acoapi-headless-cms-bulk-actionsapi-headless-cms-ddbapi-headless-cms-import-exportapi-headless-cms-schedulerapi-headless-cms-tasksapi-headless-cms-workflowsapi-mailerapi-record-lockingapi-schedulerapi-sync-systemapi-website-builderapi-website-builder-schedulerapi-websocketsapi-workflowsapp-admincognitodb-dynamodbformhandlerhandler-awsapi-graphqllexical-converterpluginsreact-compositionreact-propertiesreact-rich-text-lexical-renderertasksutilsbash# 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" # ... etc
Run 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:
api-acoapi-audit-logsapi-file-managerapi-file-manager-acoapi-headless-cmsapi-headless-cms-acoapi-headless-cms-bulk-actionsapi-headless-cms-import-exportapi-mailerapi-schedulerapi-workflowstasksPackages that need ONLY yarn test:os (not in step 11):
api-dynamodb-to-elasticsearchapi-elasticsearch-tasksapi-headless-cms-ddb-esapi-headless-cms-es-tasksapi-opensearchbashyarn test:os packages/<name> 2>&1 | grep "Test Files"
bashgit status
Report any unexpected uncommitted changes from the steps above.
If the lists seem stale, re-derive them:
bash# 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
Other measured skills in the registry, with their headline benchmark lift.