npx claudepluginhub metasaver/claude-marketplace --plugin core-claude-pluginWant just this skill?
Then install: npx claudepluginhub u/[userId]/[slug]
Use when verifying code is production-ready. Runs build, lint, and test commands to check compilation, code quality, and test suite. Essential validation step for /build and /audit commands.
This skill uses the workspace's default tool permissions.
Production Check Skill
Purpose: Verify code is production-ready by running build, lint, and test commands
Trigger: After code changes, before deployment or sign-off
Input: Working directory, package manager (pnpm)
Output: { passed: boolean, build_result, lint_result, test_result, failures[] }
Workflow
1. Verify working directory and package manager
- Confirm cwd is monorepo root
- Verify pnpm is available (
pnpm --version) - If package manager not found: return error
2. Run pnpm build
- Execute:
pnpm build(orpnpm build --filter=...if scoped) - Capture stdout/stderr
- Status: ✓ pass or ✗ fail
- If turbo available: runs in parallel (turbo handles dependencies)
3. Run pnpm lint
- Execute:
pnpm lint - Capture stdout/stderr
- Status: ✓ pass or ✗ fail
- Non-blocking if only warnings
4. Run pnpm test
- Execute:
pnpm test(orpnpm test --runfor CI mode) - Capture stdout/stderr
- Status: ✓ pass or ✗ fail
- Can fail tests but collect results
5. Aggregate results
- Collect all failures into array
- Return final status (passed = all 3 commands succeeded)
- Provide diagnostic output for fixing
Output Format
Success Case:
{
"passed": true,
"build_result": {
"status": "pass",
"duration": "12s"
},
"lint_result": {
"status": "pass",
"warnings": 0
},
"test_result": {
"status": "pass",
"tests": "42 passed"
},
"failures": []
}
Failure Case:
{
"passed": false,
"build_result": {
"status": "fail",
"error": "TypeScript compilation failed",
"stderr": "src/types.ts:45: error TS2322: Type 'string' not assignable to type 'number'"
},
"lint_result": {
"status": "pass"
},
"test_result": {
"status": "fail",
"error": "2 tests failed",
"stderr": "FAIL src/__tests__/auth.spec.ts"
},
"failures": [
"Build failed: TypeScript compilation",
"Tests failed: 2 tests in src/__tests__/auth.spec.ts"
]
}
Error Handling
| Scenario | Action |
|---|---|
| pnpm not found | Return error, ask user to install pnpm |
| Wrong working dir | Return error, ask user to run from monorepo root |
| Build fails | Stop, return build error details for fixing |
| Lint warnings only | Continue (non-blocking), log warnings |
| Tests fail | Continue (collect results), return test error list |
| Unknown error | Capture stderr, return for debugging |
Key Rules
- Root execution: Always run from monorepo root (
pwdmust show root) - Turbo optimization: If turbo.json exists, pnpm build uses turbo (automatic)
- Parallel execution: Build runs in parallel (turbo handles), lint and test sequential
- Capture output: All stdout/stderr captured for diagnostics
- No modifications: Read-only execution, no file changes
Integration
Called by:
/buildcommand (validation phase)/auditcommand (quality validation)validation-phaseskill (before reporting)
Calls: pnpm scripts (no subagents)
Next step: Report results to calling agent for decision
Example
Input:
cwd: "/home/user/monorepo"
package_manager: "pnpm"
Execution:
$ cd /home/user/monorepo
$ pnpm build
→ ✓ Build succeeded (12s)
$ pnpm lint
→ ✓ Lint passed
$ pnpm test --run
→ ✓ 42 tests passed
Output:
{
"passed": true,
"build_result": { "status": "pass", "duration": "12s" },
"lint_result": { "status": "pass", "warnings": 0 },
"test_result": { "status": "pass", "tests": "42 passed" },
"failures": []
}
Configuration
| Setting | Value | Rationale |
|---|---|---|
| User | root | Monorepo root required |
| Timeout | 5 minutes max | Allow large test suites |
| Fail-fast | No (collect all) | Show all issues in one pass |
| Format | JSON output | Machine-readable for agents |
Similar Skills
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.