agentsclimarketplace

Supabase email templates

Skill Ampli-Group/agentic-mobile-blueprint/.agents/skills/supabase-email-templates

The production-ready foundation for shipping mobile and web apps. Auth, deployment, monitoring, and CI/CD — already wired together.

Install
npx -y skills add Ampli-Group/agentic-mobile-blueprint --skill supabase-email-templates

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.5 KB, as published. Nobody here has run it

Supabase Email Templates

Customize Supabase Auth email templates for local development and production.

When to use

  • Create custom email templates (password reset, confirmation, etc.)
  • Test templates locally with Inbucket
  • Deploy templates to production

Template Types

Use exact names: recovery, confirmation, invite, magic_link, email_change

Setup

1. Create template at supabase/templates/emails/recovery.html:

<body style="margin: 0; padding: 0;">
  <table style="max-width: 600px; margin: 0 auto;">
    <tr><td style="padding: 40px; text-align: center;">
      <h1>Your App</h1>
      <a href="{{ .ConfirmationURL }}" 
         style="display: inline-block; padding: 12px 32px; 
                background: #2563eb; color: #fff; border-radius: 6px;">
        Reset Password
      </a>
    </td></tr>
  </table>
</body>

2. Configure in supabase/config.toml (path relative to project root):

[auth.email.template.recovery]
subject = "Reset your password"
content_path = "./supabase/templates/emails/recovery.html"

3. Restart auth container:

docker restart supabase_auth_<project-name>

Local Testing

Test with Inbucket at http://localhost:54324:

# Send test email
curl -X POST 'http://localhost:54321/auth/v1/recover' \
  -H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

# View at http://localhost:54324

Template Variables

Available: {{ .ConfirmationURL }}, {{ .Email }}, {{ .SiteURL }}, {{ .Token }}

Troubleshooting

Default template still showing?

  • After supabase start, always restart auth: docker restart supabase_auth_<project>
  • Send new test email (old emails cached)

Template not found (404)?

  • After renaming files: supabase stop && supabase start
  • Then restart auth container

Template parse errors?

  • Use inline CSS only
  • Avoid rgba() in CSS values
  • Use hex colors only

Production Deployment

Templates deploy via GitHub Actions using deploy-templates.js:

- name: Deploy Email Templates
  run: node ./supabase/templates/deploy-templates.js
  env:
    SUPABASE_PROJECT_REF: ${{ secrets.SUPABASE_PROJECT_ID }}
    SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}

Best Practices

Use inline CSS only, max 600px width, table layouts, test in Inbucket first

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.