| name | gemini-ai |
| description | Integrates Gemini AI for content generation. Use when adding AI features, generating project descriptions, implementing rate limiting, or working with geminiService.ts. Includes prompting guidelines and error handling. |
Gemini AI Integration Skill
Instructions
- Server functions in
src/services/geminiService.ts
- Use
'use server' directive
- Return structured JSON via schema
- Apply rate limiting (3/draft, 10/day)
- Korean language with "Chef" persona
Existing Functions
generateProjectContent(draft) โ { shortDescription, description, tags }
refineDescription(rawDescription) โ refined markdown
AI Rate Limits
- 3 generations per draft
- 10 generations per day per user
- 5-second cooldown between requests
Prompting Style
- Role: "SideDish ํ๋ซํผ์ ์์ ์๋ํฐ"
- Language: Korean (์์ฐ์ค๋ฌ์ด ํด์์ฒด)
- Culinary metaphors: subtle, not forced
- Banned: "์ต๊ณ ์", "ํ์ ์ ์ธ", "ํ๊ธฐ์ ์ธ"
Usage in Components
import { generateProjectContent } from '@/services/geminiService'
import { canGenerate, recordGeneration } from '@/lib/aiLimitService'
if (!canGenerate(draftId)) {
toast.error('AI ์์ฑ ํ์๋ฅผ ์ด๊ณผํ์ต๋๋ค.')
return
}
const result = await generateProjectContent(draft)
recordGeneration(draftId)
For complete templates, error handling, and UI components, see reference.md.