From node-vue
Creates and runs Vitest tests for Fastify features with AC traceability via describe blocks. Uses real database — never mocks the DB layer. Invoked by core:test and core:sprint. Use when the user says "test node", "vitest", "write backend tests", or "run tests".
How this skill is triggered — by the user, by Claude, or both
Slash command
/node-vue:test-node-vue FEAT-001FEAT-001The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create Vitest tests for the feature in `$ARGUMENTS`. One test per AC.
Create Vitest tests for the feature in $ARGUMENTS. One test per AC.
Tests use real database — no mocking. Feature traceability via describe("FEAT-XXX: Title > AC1: ...").
Tests live in backend/src/__tests__/ or backend/tests/:
backend/
└── tests/
├── setup.ts # DB setup + teardown
└── FEAT_NAME.test.ts # one file per feature
describe.skip or it.skip (remove failing tests, don't skip)import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
globalSetup: './tests/setup.ts',
environment: 'node',
},
})
import { drizzle } from 'drizzle-orm/node-postgres'
import { Pool } from 'pg'
import * as schema from '../src/db/schema'
export async function setup() {
// Migrations run before tests (drizzle-kit migrate or SQL)
}
export async function teardown() {
// Drop test data
}
docs/features/FEAT-XXX-*.md for the feature spec and ACsbackend/tests/setup.ts — create if absentbackend/vitest.config.ts — create if absentbackend/tests/FEAT_NAME.test.ts with one test per ACcd backend && npx vitest run tests/FEAT_NAME.test.tsnpx claudepluginhub bfh-krg1/sdd-web-app --plugin node-vueCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.