Skip to main content

add-cursor-ambassador

Adds Cursor Directory ambassador badges by name or email via Supabase. Resolves the person and sets users.is_ambassador. Use when the user asks to add, grant, or promote an ambassador, ambassador badge, or Cursor Ambassador.

소스 정보

저장소
cursor/community-plugins
최근 소스 활동
2026년 5월 19일 17:56
감지된 SKILL.md 언어
영어
스타
4,005
포크
669

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
add-cursor-ambassador
description
Adds Cursor Directory ambassador badges by name or email via Supabase. Resolves the person and sets users.is_ambassador. Use when the user asks to add, grant, or promote an ambassador, ambassador badge, or Cursor Ambassador.
disable-model-invocation
true
# Add Cursor Ambassador Grant the **Cursor Ambassador** badge (`users.is_ambassador`) for [cursor.directory](https://cursor.directory). The user provides a **name** or **email** (one person per invocation unless they list several). The person must already have a cursor.directory account. ## Prerequisites - **Supabase MCP** connected (`user-supabase` server). - **Project ID**: `knhgkaawjfqqwmsgmxns` (Cursor Directory). ## Workflow Copy and track progress: ``` - [ ] Step 1: Resolve identifier → user row(s) - [ ] Step 2: Confirm if multiple matches - [ ] Step 3: Set is_ambassador = true - [ ] Step 4: Verify and report profile URL ``` ### Step 1: Resolve identifier **If input looks like an email** (contains `@`), normalize: `trim().toLowerCase()`. **Lookup by email:** ```sql SELECT id, name, slug, email, is_ambassador FROM public.users WHERE lower(email) = lower('<email>') LIMIT 5; ``` **If input is a name** (or ambiguous), search: ```sql SELECT id, name, slug, email, is_ambassador FROM public.users WHERE name ILIKE '%<name>%' ORDER BY name LIMIT 20; ``` **If input is a UUID**, treat as user id: ```sql SELECT id, name, slug, email, is_ambassador FROM public.users WHERE id = '<uuid>'::uuid; ``` Use MCP `execute_sql` with `project_id: knhgkaawjfqqwmsgmxns`. ### Step 2: Disambiguate | Matches | Action | | ------- | ------ | | 0 | Stop. Tell the user no matching account was found. They must sign up first; then run this skill again. | | 1 | Use that row | | 2+ | Show a short table (name, slug, email) and ask which person to promote. Do not guess. | ### Step 3: Promote If `is_ambassador` is already `true`, report they are already an ambassador and link their profile. Otherwise: ```sql UPDATE public.users SET is_ambassador = true WHERE id = '<user_id>' RETURNING id, name, slug, email, is_ambassador; ``` Report: **promoted** with profile URL `https://cursor.directory/u/<slug>`. ### Step 4: Verify ```sql SELECT id, name, slug, email, is_ambassador FROM public.users WHERE id = '<user_id>'::uuid; ``` ## Response template ```markdown ## Ambassador: <name or email> **Status:** promoted | already ambassador | not found **Profile:** https://cursor.directory/u/<slug> **Email:** <email> ``` ## Removing ambassadors Only when the user explicitly asks to remove or revoke: ```sql UPDATE public.users SET is_ambassador = false WHERE id = '<user_id>' RETURNING id, name, slug, email; ``` ## Notes - Badge UI: `AmbassadorBadge` when `is_ambassador` is true; listed under `/members` → Ambassadors tab. - If the legacy `/api/cron/sync-ambassadors` job is still scheduled in Vercel, disable it so it does not fight manual grants. ## Batch adds For multiple people, run Steps 1–3 once per person. Summarize results in a table at the end.
GitHub에서 보기