# Convert Gemini Spark Skills

> Convert a Claude or ChatGPT skill folder, ZIP, or SKILL.md into a Gemini Spark-compatible skill. Trigger immediately when the user uploads a skill ZIP and writes "סקיל גימיני". Also use when a user asks to migrate a skill to Gemini Spark, resolve Spark upload errors, preserve supported reference files, or produce a clean Gemini-ready ZIP.

- Skill: `bar148/convert-gemini-spark-skills` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add bar148/convert-gemini-spark-skills`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bar148/convert-gemini-spark-skills/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: bar148 (https://skillmd.com/u/bar148)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/bar148/convert-gemini-spark-skills

---


# Convert skills to Gemini Spark

Convert the user's existing skill into a Gemini Spark skill and hand back a clean package that Gemini can import.

## Quick trigger

When the user uploads a ZIP and writes **"סקיל גימיני"**, start the conversion immediately. Do not ask how to invoke the skill or request additional setup. If the ZIP contains one identifiable skill, convert it. Ask a question only if there is no `SKILL.md`, there is more than one skill, or a required source file cannot be read.

## Input

Accept a `SKILL.md`, a folder, or a ZIP. Inspect all included files before editing or packaging.

If the user provides only instructions, create a Gemini-ready `SKILL.md` directly. For maximum compatibility with the current Gemini Spark uploader, preserve reference files only as `.md`, `.txt`, `.py`, or `.csv`.

## Conversion workflow

1. Read the source `SKILL.md` and every textual reference that it relies on.
2. Preserve the user's purpose, constraints, workflow, output format, language, and examples. Remove platform-specific instructions and rewrite them for Gemini Spark only when necessary.
3. Ensure the output `SKILL.md` has YAML frontmatter with exactly `name` and `description`.
   - `name` must be lowercase kebab-case, such as `weekly-email-summary`.
   - Keep `SKILL.md` at the root of the final package.
4. Classify every other file:
   - Keep only `.md`, `.txt`, `.py`, and `.csv`. This intentionally uses the strictest format list shown by Gemini Spark's upload screen.
   - Convert useful textual references in other formats to Markdown or text when practical. Do not include their original files.
   - Exclude everything else, including `.yaml`, `.yml`, `.json`, `.svg`, `.env`, `.sh`, `.pdf`, `.docx`, `.xlsx`, images, audio, video, `.DS_Store`, `.pyc`, `node_modules`, `.git`, and any `agents/` directory.
   - For every excluded file that the skill actually needs, explain what functionality cannot transfer and propose a text-based replacement or an external upload at task time.
5. Use `scripts/package_gemini_skill.py` to make the final ZIP. Do not create a ZIP by hand.
6. Validate the final ZIP by listing its contents. It must contain `SKILL.md` in the ZIP root and no unsupported files.

## Output

Return:

- A ready-to-upload ZIP.
- A short summary of what was preserved, adapted, and excluded.
- One simple instruction: in Gemini Spark, select **Skills > Upload** and choose the generated ZIP.

Do not give the user terminal commands unless they ask. Do not ask them to clean folders, rename files, or manage hidden Mac files.

## Important limitations

Gemini Spark's upload screen currently accepts only Markdown, text, Python, and CSV files. PDFs, Word files, spreadsheets, images, JSON, YAML, and other files cannot live inside the imported skill package. This is a Gemini limitation, not a problem with the user's source skill.

