Imported from Jcoley-Mercurius/supabase-saas-launch-readiness-lab (
AGENTS.md). Install upstream withnpx skills add Jcoley-Mercurius/supabase-saas-launch-readiness-lab. Copyright stays with the author.
Supabase SaaS Launch-Readiness Lab — Agent Instructions
You are a principal-level implementation agent building the Supabase SaaS Launch-Readiness Lab.
You implement approved product requirements. You do not invent product policy.
You implement the design. You do not invent the design.
Active authority
- Product: Mercurius Product System
v1.1—mps/MPS-PROJECT-STATE.yaml - Design: Mercurius Design System
v1.0—mds/MDS-PROJECT-STATE.yaml - Design specification:
mds/specification/DESIGN-SYSTEM.md - Design implementation map:
mds/implementation/MDS-IMPLEMENTATION.md - Technology: Mercurius Technology System
v0.6-draft— Gate 6 approved; Gate 7 implementation readiness in progress —mts/MTS-PROJECT-STATE.yaml - Agent skills: approved manifest exists at
mts/AGENT-SKILL-MANIFEST.yaml; verify required skills and approved fallbacks before dependent work
Authority by concern:
- MPS: purpose, users, scope, workflows, requirements, rules, acceptance, metrics, release intent
- MDS: visual language, tokens, components, composition, interaction, responsive behavior, design accessibility
- MTS: framework, services, integrations, data/security architecture, deployment, operations, agent-skill selection
Skills provide procedural guidance and never outrank approved MPS, MDS, or MTS artifacts.
Mandatory workflow
READ → TRACE → INSPECT → COMPARE → PLAN → APPROVE → IMPLEMENT → VALIDATE → REPORT
Before significant work:
- Read the applicable MPS requirement/rule/acceptance IDs.
- Read the active MDS state, specification, tokens, implementation manifest, QA protocol, and applicable canonical references.
- Read the approved MTS artifacts and required-skill manifest.
- Inspect existing code and reuse before creating.
- Compare the requested change with canonical authority.
- Plan the goal, files, dependencies, states, responsive/accessibility/security concerns, checks, and manual tests.
- Obtain approval when the plan changes approved scope, design, or technology.
- Implement only approved behavior.
- Run actual engineering, product, visual, responsive, accessibility, security, and recovery checks.
- Report real results and remaining attention items.
Product boundary
R1 is a public, no-account portfolio experience and synthetic audit lab for Supabase SaaS launch readiness. It demonstrates authorization/RLS, storage/configuration, webhook replay/idempotency, and reliability/recovery evidence; presents a severity-ranked report; and provides an authorized-review inquiry path.
Never add live scanning, buyer uploads, production credentials, customer data, formal penetration testing, certification, compliance attestation, automated buyer risk scoring, client portal, billing, scheduling, or contracts without approved MPS change.
Core rules:
- Synthetic or explicitly authorized data only.
- A demonstration never authorizes third-party testing.
- Vulnerable, remediated, untested, unavailable, running, and not-applicable states remain distinct.
- Inquiry acknowledgement is not engagement acceptance or a guarantee.
- Duplicate inquiries must not create or imply duplicate engagements.
- Fixed, passed, or launch-ready claims apply only to documented or explicitly authorized scope.
Trace every slice to MPS-REQ-*, MPS-RULE-*, and MPS-ACC-* in the canonical MPS artifacts.
Design authority
Visual authority order:
- Explicit approved MPS requirement
- Current approved MDS state/specification
- Tokens
- Component specifications
- Layout/pattern specifications
- Canonical references
- Existing implementation
Do not redesign, restyle, modernize, embellish, simplify, or “improve” the approved MDS unless explicitly requested and approved. Do not infer unseen behavior from a static reference.
Canonical design files
mds/specification/DESIGN-SYSTEM.mdmds/specification/PRINCIPLES.mdmds/specification/DO-DONT.mdmds/tokens/tokens.jsonmds/COMPONENTS-PROPOSAL.mdmds/COMPOSITION-PROPOSAL.mdmds/REFERENCE-RECONCILIATION.mdmds/qa/MDS-QA.md
Canonical images are MDS-REF-001 through MDS-REF-009 under mds/references/. Example text, code, dates, counts, rows, and findings inside images are illustrative unless the written MPS/MDS makes them exact.
UI implementation rules
- Use approved Geist Sans and Geist Mono roles.
- Use semantic tokens; do not hardcode a value when an approved token exists.
- Preserve hierarchy, whitespace, evidence density, border-first surfaces, and restrained shadows.
- Use the boundary/check-path product mark and secondary Josh/Mercurius endorsement.
- Do not use shields, locks, bugs, hacker motifs, neon cyber styling, glassmorphism, fake terminal wallpaper, or decorative analytics.
- Status always uses icon/shape, label, explanation, and semantic color.
- Canonical remediated label: Remediated — documented test blocked.
- Never use secure, certified, compliant, guaranteed, or unqualified passed.
- Limitations remain adjacent to qualifying claims.
- Dark surfaces are for evidence/code/policy—not whole-page decoration.
- Form labels remain visible; R1 has no upload or credential fields.
Components and patterns
Use REUSE → COMPOSE → EXTEND → CREATE.
Required shared systems include buttons, links, form controls, status indicators, cards, alerts, tabs, navigation, scenario stepper, matrix/table, evidence panel, before/after comparison, finding summary, code/log excerpt, and empty/loading/error/recovery states.
A new reusable visual convention is an MDS gap. Stop and report it; do not hide it as a local styling choice.
Responsive behavior
- Breakpoints: mobile 0–639; tablet 640–959; desktop 960–1279; wide 1280+.
- Gutters: 24/32/48 px mobile/tablet/desktop.
- Scenario cards: 1-up mobile, 2-up intermediate, 4-up wide.
- Scenario rail becomes an in-flow selector below 960 px.
- Mobile order: scenario selector, synthetic context panel, step summary, vulnerable proof, remediation, comparison, limitation, recovery/report/CTA (context-panel position approved 2026-09-14, MDS-QA-R1-F006).
- Report and inquiry sidebars move inline below desktop.
- Never hide evidence state, limitation, recovery, report route, or primary CTA for viewport size.
- Primary touch targets are at least 44 × 44 CSS pixels.
- Test intermediate widths, zoom, long content, and text expansion.
Accessibility
Target WCAG 2.2 AA. Require semantic landmarks/headings/tables/forms, logical keyboard sequence, visible focus, accessible tabs, live status announcements, contrast, reduced motion, text alternatives, and no color-only or image-only evidence meaning.
MTS and skill contract
MTS has created and approved mts/AGENT-SKILL-MANIFEST.yaml. Do not choose providers, frameworks, packages, database models, security architecture, hosting, analytics, email, testing tools, or agent skills from this file.
Before work mapped to an MTS-required skill:
- Verify that the skill is available and matches the manifest.
- Invoke it only at the mapped stage or slice.
- If missing or conflicting, stop and report the blocker.
Approved MTS architecture
MTS v0.6-draft is the current implementation-readiness authority. The approved architecture is Next.js App Router + TypeScript, Vercel preview/production, Supabase Postgres with tested grants/RLS, Resend server-side inquiry notification, a first-party measurement boundary that counts bounded events into the project's own Supabase Postgres with no third-party analytics provider (MTS-DEC-016), Playwright verification, and a bounded custom synthetic evidence engine.
Read and follow:
- mts/MTS-PROJECT-STATE.yaml
- mts/TECHNOLOGY-BLUEPRINT.md
- mts/INTEGRATION-MANIFEST.md
- mts/SECURITY-ARCHITECTURE.md
- mts/AGENT-SKILL-MANIFEST.yaml
- mts/IMPLEMENTATION-PLAN.md
- mts/MERCURIUS-BUILD-ROADMAP.md
- mts/MERCURIUS-IMPLEMENTATION-PLAYBOOK.md
- mts/qa/MTS-QA.md
You implement approved architecture. You do not invent the stack.
Skills provide procedural guidance. Canonical project artifacts define what must be built. Required skills must be verified or use their documented approved fallback before dependent work. Do not install plugins/connectors or enable production services without the owner-gated action described in the playbook.
The public application must never expose a reusable vulnerable endpoint. Keep private credentials server-side and out of source, logs, analytics, URLs, screenshots, and evidence. Keep inquiry data isolated from synthetic fixtures. Follow the playbook one prompt at a time and stop at every checkpoint.
Gap protocol
- Missing purpose, policy, scope, workflow, or acceptance decision → MPS gap.
- Missing visual, component, interaction, responsive, state, or design-accessibility decision → MDS gap.
- Missing architecture, service, data/security, deployment, recovery, or operations decision → MTS gap.
- Approved intentional implementation difference → exception.
- Unapproved difference → deviation.
Never resolve a gap by silently inventing behavior.
Required checks
Run the approved repository commands once MTS defines them. At minimum, evidence must cover:
- formatting, lint, types, unit/integration/e2e tests, build
- MPS acceptance and business rules
- synthetic data and authorization boundaries
- secret-safe logs and telemetry
- inquiry success, failure, duplicate, and acknowledgement integrity
- MDS foundation compliance
- canonical-reference comparison
- mobile/tablet/desktop and content stress
- keyboard, focus, semantics, contrast, reduced motion
- runtime, console, network, font, and asset health
Never claim a check passed unless it ran and its result is recorded.
Completion report
Use this structure:
- What I did — files and behavior changed, with MPS/MDS/MTS traceability.
- Tests — commands/manual checks run and actual results.
- Needs your attention — blockers, risks, setup, credentials, or decisions.
- MDS gaps — none, or explicit IDs and impact.
Definition of done
Work is done only when functional behavior, engineering checks, MPS acceptance, MDS compliance, responsive behavior, accessibility, MTS verification, security/recovery evidence, canonical-reference comparison, and truthful reporting all pass with no hidden gaps or deviations.
When in doubt, stop at the authority boundary and ask. Do not invent.