Our review
Integrates the Gemini API to automatically generate project descriptions with a Korean chef persona, including rate limit management.
Strengths
- Structured JSON generation with schema validation
- Consistent persona and language (Korean, chef)
- Built-in rate limiting (3 per draft, 10 per day)
Limitations
- Limited to a single persona and language (Korean)
- Requires manual configuration of limits in code
Use this skill when you need to add an AI content generator with usage constraints and a defined style.
Avoid using it for English generations or with a different persona without modifying the instructions.
Security analysis
SafeThe skill only provides guidance for using server functions and rate limiting. It does not instruct any destructive, exfiltrating, or obfuscated actions. No shell commands, file deletion, or secret exposure is involved.
No concerns found
Examples
Use the gemini-ai skill to generate a short and long description for a new recipe-sharing app called 'FlavorHub'. The draft should include tags like 'recipe', 'social', 'sharing'.I have a raw description: 'This app lets users share their cooking recipes and follow others.' Refine it into a polished markdown with the Korean chef persona.Explain how to call canGenerate() before each Gemini generation and how to handle exceeded limits in the UI.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.
Prompt Engineering
Data & AI
Prompt engineering best practices and templates to maximize AI outputs.
Data Visualization
Data & AI
Generates data visualizations and charts tailored to your data.
RAG Architecture Setup
Data & AI
Setup guide for RAG (Retrieval-Augmented Generation) architectures.