Files
gh-hirefrank-hirefrank-mark…/skills/polar-integration-validator/SKILL.md
2025-11-29 18:45:50 +08:00

94 lines
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: polar-integration-validator
description: Autonomous validation of Polar.sh billing integration. Checks webhook endpoints, signature verification, subscription middleware, and environment configuration.
triggers: ["webhook file changes", "subscription code changes", "wrangler.toml updates", "billing-related modifications"]
---
# Polar Integration Validator SKILL
## Activation Patterns
This SKILL automatically activates when:
- Files matching `**/webhooks/polar.*` are created/modified
- Files containing "subscription" or "polar" in path are modified
- `wrangler.toml` is updated
- Environment variable files (`.dev.vars`, `.env`) are modified
- Before deployment operations
## Validation Rules
### P1 - Critical (Block Operations)
**Webhook Endpoint**:
- ✅ Webhook handler exists (`server/api/webhooks/polar.ts` or similar)
- ✅ Signature verification implemented (`polar.webhooks.verify`)
- ✅ All critical events handled: `checkout.completed`, `subscription.created`, `subscription.updated`, `subscription.canceled`
**Environment Variables**:
-`POLAR_ACCESS_TOKEN` configured (check `.dev.vars` or secrets)
-`POLAR_WEBHOOK_SECRET` in wrangler.toml
**Database**:
- ✅ Users table has `polar_customer_id` column
- ✅ Subscriptions table exists
- ✅ Foreign key relationship configured
### P2 - Important (Warn)
**Event Handling**:
- ⚠️ `subscription.past_due` handler exists
- ⚠️ Database updates in all event handlers
- ⚠️ Error logging implemented
**Subscription Middleware**:
- ⚠️ Subscription check function exists
- ⚠️ Used on protected routes
- ⚠️ Checks `subscription_status === 'active'`
- ⚠️ Checks `current_period_end` not expired
### P3 - Suggestions (Inform)
- Webhook event logging to database
- Customer creation helper function
- Subscription status caching
- Rate limiting on webhook endpoint
## Validation Output
```
🔍 Polar.sh Integration Validation
✅ P1 Checks (Critical):
✅ Webhook endpoint exists
✅ Signature verification implemented
✅ Environment variables configured
✅ Database schema complete
⚠️ P2 Checks (Important):
⚠️ Missing subscription.past_due handler
✅ Subscription middleware exists
✅ Protected routes check subscription
P3 Suggestions:
Consider adding webhook event logging
Add rate limiting to webhook endpoint
📋 Summary: 1 warning found
💡 Run /es-billing-setup to fix issues
```
## Escalation
Complex scenarios escalate to `polar-billing-specialist` agent:
- Custom webhook processing logic
- Multi-tenant subscription architecture
- Usage-based billing implementation
- Migration from other billing providers
## Notes
- Runs automatically on relevant file changes
- Can block deployments with P1 issues
- Queries Polar MCP for product validation
- Integrates with `/validate` and `/es-deploy` commands