claude/skills/effect-testing/SKILL.md
Use when writing tests for Effect.ts code
npx skillsauth add nounder/dotfiles effect-testingInstall 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.
test.it("should fail with ValidationError", async () => {
const program = Effect.gen(function* () {
const result = yield* Effect.exit(operation("invalid"))
if (result._tag === "Failure") {
test.expect(ValidationError.isValidationError(result.cause)).toBe(true)
const error = result.cause as ValidationError
test.expect(error.field).toBe("input")
} else {
test.fail("Expected operation to fail")
}
})
await Effect.runPromise(program)
})
import * as TestClock from "effect/TestClock"
test.it("should handle delay", async () => {
const program = Effect.gen(function* () {
const fiber = yield* Effect.fork(
Effect.gen(function* () {
yield* Effect.sleep("5 seconds")
return "completed"
}),
)
// Advance test clock (not wall clock)
yield* TestClock.adjust("5 seconds")
const result = yield* Effect.Fiber.join(fiber)
return result
})
const result = await Effect.runPromise(program)
test.expect(result).toBe("completed")
})
tsc # Type check
bun test <file> # Test specific file
bun test # All tests
testing
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
development
Use when writing Zig code. Contains Zig 0.15 API changes and patterns.
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.