Start a shared local Supabase stack once before all scenarios and reset
the database (drop/recreate public schema + clear migration history) between
each run. This lets agents apply migrations via `supabase db push` against a
real Postgres instance instead of mock shell scripts.
- Add supabase-setup.ts: startSupabase / stopSupabase / resetDB / getKeys
- Update runner.ts to start/stop Supabase and inject keys into process.env
- Update agent.ts to point MCP config at the local Supabase HTTP endpoint
- Update preflight.ts to check supabase CLI availability and Docker socket
- Update scaffold.ts to seed workspace with supabase/config.toml
- Add passThreshold support (test.ts / results.ts / types.ts) for partial pass
- Delete mock shell scripts (mocks/docker, mocks/psql, mocks/supabase)
- Update Dockerfile/docker-compose to mount Docker socket for supabase CLI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add per-test pass/fail parsing from vitest verbose output, thread prompt
content and individual test results through the runner, and rewrite
uploadToBraintrust with experiment naming (model-variant-timestamp),
granular scores (pass, test_pass_rate, per-test), rich metadata, and
tool-call tracing via experiment.traced(). Also document --force flag
for cached mise tasks and add Braintrust env vars to AGENTS.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Host now only needs Docker + ANTHROPIC_API_KEY to run evals. Adds
multi-stage Dockerfile, mock supabase/docker/psql scripts, entrypoint,
docker-compose for local use, and switches CI to Docker-based execution.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: extract SKILL.md body into AGENTS.md with H1 title and Overview section
Build system now parses SKILL.md body to extract H1 heading as the AGENTS.md
title and places remaining content under an Overview section. Adds validation
that SKILL.md body starts with H1, directory name is kebab-case, and name
field matches directory name.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: AGENTS.md is now SKILL.md body with frontmatter stripped
Build now generates AGENTS.md by extracting the SKILL.md markdown body
(everything after YAML frontmatter). CLAUDE.md remains a symlink to
AGENTS.md. Removes content generation logic (Structure, Usage, Overview,
Reference Categories, Available References sections) — SKILL.md is the
single source of truth for agent instructions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add Structure and Usage sections to AGENTS.md, validate H1 title matches directory name
Build now generates AGENTS.md as: H1 Title > Structure > Usage > rest of
SKILL.md body. Validates that SKILL.md body starts with H1 heading and
that the title in kebab-case matches the directory name.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Remove support for nested subdirectories in references/.
All markdown reference files must now be placed directly in
the references/ directory (e.g., references/auth-signup.md).
- Replace getMarkdownFilesRecursive with getMarkdownFiles (flat)
- Simplify parseAllSections to only read root _sections.md
- Update getReferenceFiles to skip subdirectories
- Keep deprecated getMarkdownFilesRecursive alias for compatibility
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Add getMarkdownFilesRecursive() for recursive file scanning
- Add parseAllSections() to parse _sections.md from subdirectories
- Add parseSectionsFromFile() helper function
- Update buildSkill() and validateSkill() to use new functions
- Export new functions for use by validate.ts
This allows organizing reference files in product-specific subdirectories
(e.g., references/db/ for database files) while keeping _sections.md in
each subdirectory.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* refactor: generic skills build system with auto-discovery
- Rename postgres-best-practices-build → skills-build
- Add auto-discovery: scans skills/ for subdirectories with metadata.json
- Build/validate all skills or specific skill with -- argument
- Update root AGENTS.md and CONTRIBUTING.md with new structure
- No configuration needed to add new skills
Usage:
npm run build # Build all skills
npm run build -- skill-name # Build specific skill
npm run validate # Validate all skills
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix ci
* more generic impact levels
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Install Biome as the project formatter and linter
- Configure Biome with recommended settings
- Add format, lint, and check scripts to package.json
- Restore CI workflow from git history (commit 0a543e1)
- Extend CI with new Biome job for format and lint checks
- Apply Biome formatting to all TypeScript files
- Fix linting issues (use node: protocol, template literals, forEach pattern)
CI now runs on:
- All pushes to main branch
- All pull requests
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Update version from 0.1.0 to 1.0.0 across all files:
- skills/postgres-best-practices/AGENTS.md
- skills/postgres-best-practices/SKILL.md
- skills/postgres-best-practices/metadata.json
- packages/postgres-best-practices-build/package.json
- packages/postgres-best-practices-build/package-lock.json
- packages/postgres-best-practices-build/src/build.ts
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Skeleton structure for Supabase PostgreSQL experts to add performance
optimization rules. Modeled after Vercel's react-best-practices-build.
Includes:
- Build system (parser, validator, builder)
- Skill manifest and metadata
- Rule templates and writing guidelines
- CI workflow for validation
- Getting started guide for Postgres team
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>