Troubleshooting

SkillCloud & infra

Troubleshoots common issues. Covers CDK deploy failures, Docker build errors, Lambda agent issues, test failures, and OpenClaw compatibility. Use when encountering errors during development or deployment.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Troubleshooting skill

What this skill tells your AI

The instructions your AI receives, as published by serithemage/serverless-openclaw in .agents/skills/troubleshoot/SKILL.md and read by ahel’s review.

Problem to investigate: $ARGUMENTS

Full references:

Common Issues & Solutions

CDK / Synth

ProblemCauseSolution
Cannot find asset during cdk synthpackages/web/dist/ missingRun cd packages/web && npx vite build first
CDK Bootstrap version mismatchOutdated bootstrapRun cdk bootstrap
ROLLBACK_FAILED on SecretsStackAwsCustomResource partial failureaws cloudformation delete-stack --stack-name SecretsStack --deletion-mode FORCE_DELETE_STACK, then redeploy
ECR repository already existsCDK trying to create existing repoUse --force delete or Repository.fromRepositoryName()
Cross-stack export removal errorStack import in useUse --exclusively flag + SSM decoupling pattern

Docker Build

ProblemCauseSolution
TS error with openclaw dynamic importStatic analysis of dynamic pathUse variable path: const mod = await import(/* @vite-ignore */ path)
OCI manifest push errorDefault buildx provenanceAdd --provenance=false flag to docker buildx build
npm ci fails (husky postinstall)prepare script runs in containernpm pkg delete scripts.prepare && npm ci

Lambda Agent

ProblemCauseSolution
Cannot find packagePackage installed globally, not in LAMBDA_TASK_ROOTInstall in $LAMBDA_TASK_ROOT, not /usr/local
exports map resolution failureNode ESM named exportsUse file:// URL import: import(\file://${path}`)`
Bedrock discovery timeout (56s)Auto-discovery scans all regionsSet bedrockDiscovery.enabled: false in OpenClaw config
extensionAPI not foundNot in exports mapUse file:// URL: import(\file://${ocRoot}/dist/extensionAPI.js`)`

OpenClaw Compatibility

ProblemCauseSolution
v2026.2.14 breaks: scope errorDefault-deny scope system, device pairing requiredPin to v2026.2.13 (fastest compatible)
operator.write strippedMissing device pairing in v2026.2.14+Use v2026.2.13 or implement device pairing
device field validation failsEmpty publicKey/signature stringsOmit device field entirely (it's Optional)
client.mode: "operator" invalidNot a valid Literal typeUse "backend" or "node"

Tests

ProblemCauseSolution
vi.mock variable not in scopeHoisting moves mock above variable declarationUse vi.hoisted() for variables referenced in mocks
E2E tests run with unit testsDefault vitest include matches all .test.tsExclude **/*.e2e.test.ts in vitest.config.ts
workspace:* not resolvedpnpm syntax used in npm workspaceUse "*" for workspace dependencies

AWS / IAM

| Problem | Cause | Solution | | -------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------- | ---------------------------------- | | launchType + capacityProviderStrategy conflict | Cannot specify both in RunTask | Remove launchType, use capacityProviderStrategy only | | Lambda env var {{resolve:ssm-secure:...}} fails | Not supported for Lambda env vars | Pass SSM path as env var, resolve at runtime via resolveSecrets() | | ECS Task new secret inaccessible | Execution role not updated | Add ssm:GetParameters to execution role policy | | Empty env vars from .env | export $(cat .env | xargs) silently sets empty | Verify with ${#VAR} length check |

Signals

GitHub stars
195
Forks
40
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
troubleshoot-serithemage
Source
github.com/serithemage/serverless-openclaw