.claude/skills/rule-lambda/SKILL.md
Rule mapping for lambda
npx skillsauth add carrot-foundation/methodology-rules rule-lambdaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply this rule whenever work touches:
**/*.lambda.tsLambda handlers are the entry points for AWS Lambda invocations. They must remain thin wrappers that connect the Lambda runtime to the processor.
A typical Lambda handler file:
import { wrapHandler } from '@carrot-fndn/shared/lambda';
import { VehicleValidationProcessor } from './vehicle-validation.processor';
const processor = new VehicleValidationProcessor();
export const handler = wrapHandler(processor);
The handler should contain no business logic. All evaluation, validation, and transformation happens in the processor.
Let errors propagate naturally to the Lambda runtime:
// Correct - errors propagate for retry
export const handler = wrapHandler(processor);
// Wrong - swallowing errors prevents retries
export const handler = async (event: unknown) => {
try {
return await processor.execute(event);
} catch {
return { statusCode: 500, body: 'Error' };
}
};
AWS Lambda has built-in retry mechanisms for asynchronous invocations. Swallowing errors defeats this reliability mechanism.
E2E tests exercise the full handler path including event deserialization:
import { handler } from './vehicle-validation.lambda';
import { validInput, invalidInput } from './vehicle-validation.test-cases';
describe('VehicleValidation Lambda E2E', () => {
it('should return approved for valid input', async () => {
const result = await handler(validInput);
expect(result.resultStatus).toBe('APPROVED');
});
});
These tests complement the processor unit tests by verifying the integration between the handler and processor layers.
databases
Create and modify Zod schemas for runtime validation with proper type inference.
testing
Write Vitest unit tests following project conventions with proper stubs and assertions.
tools
Autonomously implement a task following project conventions with iterative verification.
testing
Analyze a pull request diff and provide structured feedback on correctness, conventions, and quality.