AI Skill Report Card
Creating Gemini App Skills
Guides creation and management of Gemini Apps skills (reusable custom instructions with optional reference files) for use across Gemini chats and tasks. Use when a user wants to build, edit, upload, structure, or troubleshoot a Gemini Apps skill, write a SKILL.md file, or understand how skills, tasks, and schedules relate in Gemini Apps.
Quick Start14 / 15
To create a minimal valid Gemini Apps skill, produce a SKILL.md with lowercase hyphenated name, description, and instructions:
Markdown--- name: bank-statement-formatter description: Converts uploaded bank statement text into a formatted expense spreadsheet (CSV). ---
Recommendation▾
Add a brief negative example showing a malformed or rejected skill (e.g., wrong naming, missing SKILL.md location) alongside the good ones for contrast.
Instructions
- Parse each transaction line for date, description, amount, and category.
- Normalize dates to YYYY-MM-DD.
- Output a CSV with columns: Date, Description, Category, Amount, Running Balance.
- Flag any transaction over $500 with a "REVIEW" tag in a Notes column.
Package this alone, or in a folder with supporting reference files (e.g., `category-list.csv`), as a `.zip` for upload on the Skills page.
Workflow13 / 15
Progress:
- Clarify the skill's single responsibility (what task/workflow it automates)
- Choose creation method: conversational (Gemini-assisted), template edit, blank manual, or file/folder upload
- Write
name(lowercase, hyphen-separated, e.g.my-new-skill) - Write
description(clear, third-person, states what it does) - Write
instructions(step-by-step, specific, references any reference files needed) - Add reference files only if uploading (check allowed types; strip hidden binaries like
.DS_Store,.pyc) - Verify total upload size < 100 MB
- Verify no scripts require internet access or external site actions
- Place
SKILL.mdin the root of the folder/zip - Create/save, then test by invoking with
/or@in a chat, or let Gemini auto-apply it - Activate/deactivate as needed on the Skills page
Recommendation▾
Workflow checklist is strong but could be split into phases (define → build → package → test) for easier scanning.
Examples17 / 20
Example 1: Homework helper skill Input: "Create a skill that helps with calculus homework but never gives direct answers, using my past quizzes to judge my level." Output:
Markdown--- name: calculus-tutor description: Guides calculus homework help using Socratic questioning; never provides direct final answers, and calibrates difficulty using uploaded past quiz results. ---
Recommendation▾
Consider trimming the frontmatter description slightly — it's a bit long and could be tightened without losing meaning.
Instructions
- When shown a calculus problem, ask guiding questions instead of solving it directly.
- Reference uploaded past-quiz.pdf to gauge the student's current skill level and known weak topics.
- If the student is stuck after 3 guiding questions, give a partial hint (not the full method).
- Never output a final numeric or symbolic answer directly — only confirm correctness of the student's own answer.
**Example 2: Combining skills for a task**
Input: "I want Gemini to use my 'Travel Booking' skill and 'Gmail Writing' skill together to rebook a flight and email confirmation."
Output: In the task thread, type `/Travel Booking` and `/Gmail Writing` (or `@` if using updated shortcut) to invoke both; Gemini applies Travel Booking's instructions to handle the rebooking logic, then Gmail Writing's tone/format instructions to draft the confirmation email — no separate skill needs to be created, just reference both existing skills in one prompt.
Best Practices
- Keep each skill scoped to one coherent capability — compose complex workflows by combining multiple skills rather than writing one giant skill.
- Write instructions as concrete, numbered steps, not vague goals.
- Reference other skills by name inside instructions to build layered workflows.
- Name skills descriptively and consistently (gerund or domain-noun style, always lowercase-hyphenated).
- When uploading files, include only what Gemini needs to reference — trim unused or hidden files before zipping.
- Prefer editing via the Skills page (direct field edit or "Edit with Gemini") over recreating from scratch.
- Test a new skill in a real chat/task immediately after creation to confirm it triggers and behaves as expected.
- Deactivate (don't delete) skills you're unsure about — deletion is irreversible.
Common Pitfalls
- Using uppercase, spaces, or underscores in the skill name instead of lowercase-hyphenated form.
- Uploading binary formats like
.docx,.doc,.xlsx— only plain-text-based and specified rich-media formats are supported. - Forgetting to place
SKILL.mdin the root of the uploaded folder/zip. - Including hidden system/binary files (
.DS_Store,.pyc) that break the upload. - Writing scripts or instructions that assume internet access or external API/website calls — unsupported.
- Exceeding the 100 MB total size limit for a skill's files.
- Assuming skill edits to files can be partial — updating reference files requires re-uploading the entire skill package.
- Confusing a "skill" (how) with a "task" (what) or "schedule" (when) — a skill alone doesn't run on its own schedule.