Gemini Omni
calesthio/OpenMontage
Generate and conversationally edit short videos with Google Gemini Omni Flash (gemini-omni-flash-preview).
Use the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation +…
$ npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sundial-org/awesome-openclaw-skills google-gemini-media --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-gemini-media .claude/skills/google-gemini-media && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "google-gemini-media" agent skill from https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-media into .claude/skills/google-gemini-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-gemini-media", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-mediaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sundial-org/awesome-openclaw-skills google-gemini-media --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/google-gemini-media .agents/skills/google-gemini-media && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-gemini-media" agent skill from https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-media into .agents/skills/google-gemini-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-gemini-media", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sundial-org/awesome-openclaw-skills google-gemini-media --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/google-gemini-media .cursor/skills/google-gemini-media && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "google-gemini-media" agent skill from https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-media into .cursor/skills/google-gemini-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-gemini-media", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sundial-org/awesome-openclaw-skills.git --path skills/google-gemini-media--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sundial-org/awesome-openclaw-skills google-gemini-media --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/google-gemini-media .gemini/skills/google-gemini-media && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "google-gemini-media" agent skill from https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-media into .gemini/skills/google-gemini-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-gemini-media", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sundial-org/awesome-openclaw-skills google-gemini-mediaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/google-gemini-media .github/skills/google-gemini-media && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "google-gemini-media" agent skill from https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-media into .github/skills/google-gemini-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-gemini-media", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sundial-org/awesome-openclaw-skills google-gemini-media --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/google-gemini-media .opencode/skills/google-gemini-media && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "google-gemini-media" agent skill from https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/google-gemini-media into .opencode/skills/google-gemini-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-gemini-media", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
google-gemini-mediaUse the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation +…
Google Gemini Media is an agent skill from sundial-org/awesome-openclaw-skills. Use the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation + understanding".
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Image generation, AI video generation and Text to speech and voice. It works with Google Gemini. The repository describes itself as: Top OpenClaw skills, with the most popular and useful ones. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b80cde2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlnpmjqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
generativelanguage.googleapis.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GEMINI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Google Gemini Media loads about 4.5k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,512 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from sundial-org/awesome-openclaw-skills at commit b80cde2, republished under its MIT licence (© sundial-org). 1,512 words, ~4,528 tokens.
.claude/skills/google-gemini-media/SKILL.md (or your agent's skills folder).This Skill consolidates six Gemini API capabilities into reusable workflows and implementation templates:
Convention: This Skill follows the official Google Gen AI SDK (Node.js/REST) as the main line; currently only Node.js/REST examples are provided. If your project already wraps other languages or frameworks, map this Skill's request structure, model selection, and I/O spec to your wrapper layer.
npm install @google/genaicurl; if you need to parse image Base64, install jq (optional).GEMINI_API_KEYx-goog-api-key: $GEMINI_API_KEYInline (embedded bytes/Base64)
Files API (upload then reference)
files.upload(...) (SDK) or POST /upload/v1beta/files (REST resumable)file_data / file_uri in generateContentEngineering suggestion: implement
ensure_file_uri()so that when a file exceeds a threshold (for example 10-15MB warning) or is reused, you automatically route through the Files API.
inline_data (Base64) in response parts; in the SDK use part.as_image() or decode Base64 and save as PNG/JPG..pcm or wrap into .wav (commonly 24kHz, 16-bit, mono).Important: model names, versions, limits, and quotas can change over time. Verify against official docs before use. Last updated: 2026-01-22.
gemini-3-flash-preview for image, video, and audio understanding (choose stronger models as needed for quality/cost).veo-3.1-generate-preview (generates 8-second video and can natively generate audio).gemini-2.5-flash-preview-tts (native TTS, currently in preview).SDK (Node.js) minimal template
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
model: "gemini-2.5-flash-image",
contents:
"Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
});
const parts = response.candidates?.[0]?.content?.parts ?? [];
for (const part of parts) {
if (part.text) console.log(part.text);
if (part.inlineData?.data) {
fs.writeFileSync("out.png", Buffer.from(part.inlineData.data, "base64"));
}
}REST (with imageConfig) minimal template
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent" -H "x-goog-api-key: $GEMINI_API_KEY" -H "Content-Type: application/json" -d '{
"contents":[{"parts":[{"text":"Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"}]}],
"generationConfig": {"imageConfig": {"aspectRatio":"16:9"}}
}'REST image parsing (Base64 decode)
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"A minimal studio product shot of a nano banana"}]}]}' \
| jq -r '.candidates[0].content.parts[] | select(.inline_data) | .inline_data.data' \
| base64 --decode > out.png
# macOS can use: base64 -D > out.pngUse case: given an image, add/remove/modify elements, change style, color grading, etc.
SDK (Node.js) minimal template
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const prompt =
"Add a nano banana on the table, keep lighting consistent, cinematic tone.";
const imageBase64 = fs.readFileSync("input.png").toString("base64");
const response = await ai.models.generateContent({
model: "gemini-2.5-flash-image",
contents: [
{ text: prompt },
{ inlineData: { mimeType: "image/png", data: imageBase64 } },
],
});
const parts = response.candidates?.[0]?.content?.parts ?? [];
for (const part of parts) {
if (part.inlineData?.data) {
fs.writeFileSync("edited.png", Buffer.from(part.inlineData.data, "base64"));
}
}Best practice: use chat for continuous iteration (for example: generate first, then "only edit a specific region/element", then "make variants in the same style").
To output mixed "text + image" results, set response_modalities to ["TEXT", "IMAGE"].
You can set in generationConfig.imageConfig or the SDK config:
aspectRatio: e.g. 16:9, 1:1.imageSize: e.g. 2K, 4K (higher resolution is usually slower/more expensive and model support can vary).import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const imageBase64 = fs.readFileSync("image.jpg").toString("base64");
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: [
{ inlineData: { mimeType: "image/jpeg", data: imageBase64 } },
{ text: "Caption this image, and list any visible brands." },
],
});
console.log(response.text);import { GoogleGenAI, createPartFromUri, createUserContent } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const uploaded = await ai.files.upload({ file: "image.jpg" });
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: createUserContent([
createPartFromUri(uploaded.uri, uploaded.mimeType),
"Caption this image.",
]),
});
console.log(response.text);Append multiple images as multiple Part entries in the same contents; you can mix uploaded references and inline bytes.
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const prompt =
"A cinematic shot of a cat astronaut walking on the moon. Include subtle wind ambience.";
let operation = await ai.models.generateVideos({
model: "veo-3.1-generate-preview",
prompt,
config: { resolution: "1080p" },
});
while (!operation.done) {
await new Promise((resolve) => setTimeout(resolve, 10_000));
operation = await ai.operations.getVideosOperation({ operation });
}
const video = operation.response?.generatedVideos?.[0]?.video;
if (!video) throw new Error("No video returned");
await ai.files.download({ file: video, downloadPath: "out.mp4" });Key point: Veo REST uses :predictLongRunning to return an operation name, then poll GET /v1beta/{operation_name}; once done, download from the video URI in the response.
aspectRatio: "16:9" or "9:16"resolution: "720p" | "1080p" | "4k" (higher resolutions are usually slower/more expensive)Polling fallback (with timeout/backoff) pseudocode
const deadline = Date.now() + 300_000; // 5 min
let sleepMs = 2000;
while (!operation.done && Date.now() < deadline) {
await new Promise((resolve) => setTimeout(resolve, sleepMs));
sleepMs = Math.min(Math.floor(sleepMs * 1.5), 15_000);
operation = await ai.operations.getVideosOperation({ operation });
}
if (!operation.done) throw new Error("video generation timed out");import { GoogleGenAI, createPartFromUri, createUserContent } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const uploaded = await ai.files.upload({ file: "sample.mp4" });
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: createUserContent([
createPartFromUri(uploaded.uri, uploaded.mimeType),
"Summarize this video. Provide timestamps for key events.",
]),
});
console.log(response.text);import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
model: "gemini-2.5-flash-preview-tts",
contents: [{ parts: [{ text: "Say cheerfully: Have a wonderful day!" }] }],
config: {
responseModalities: ["AUDIO"],
speechConfig: {
voiceConfig: {
prebuiltVoiceConfig: { voiceName: "Kore" },
},
},
},
});
const data =
response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data ?? "";
if (!data) throw new Error("No audio returned");
fs.writeFileSync("out.pcm", Buffer.from(data, "base64"));Requirements:
multiSpeakerVoiceConfigvoice_name supports 30 prebuilt voices (for example Zephyr, Puck, Charon, Kore, etc.).Provide controllable directions for style, pace, accent, etc., but avoid over-constraining.
import { GoogleGenAI, createPartFromUri, createUserContent } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const uploaded = await ai.files.upload({ file: "sample.mp3" });
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: createUserContent([
"Describe this audio clip.",
createPartFromUri(uploaded.uri, uploaded.mimeType),
]),
});
console.log(response.text);© sundial-org, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/google-gemini-media of sundial-org/awesome-openclaw-skills.
Open the folder on GitHubat commit b80cde2
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sundial-org/awesome-openclaw-skills, which our catalogue first saw on October 7, 2026.
Google Gemini Media next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Google Gemini Media this skillsundial-org/awesome-openclaw-skills | 663 | 1 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Gemini Omnicalesthio/OpenMontage | 66k | — | ~2.1k | Automated safety check: Notes | AGPL-3.0 | |
| Gemini Interactions APIAyuilos/Miffan | 225 | — | ~4.6k | Automated safety check: Pass | AGPL-3.0 | |
| Fal AI Mediaaffaan-m/ECC | 277k | 4 repos | ~1.9k | Automated safety check: Pass | MIT | |
| GeminiAnil-matcha/awesome-muse-connectors | 1.3k | — | ~778 | Automated safety check: Pass | MIT | |
| Gemini API Devgoogle-gemini/gemini-skills | 4.3k | — | ~5.1k | Automated safety check: Pass | Apache-2.0 |
calesthio/OpenMontage
Generate and conversationally edit short videos with Google Gemini Omni Flash (gemini-omni-flash-preview).
Ayuilos/Miffan
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses…
affaan-m/ECC
Unified media generation via fal.ai MCP — image, video, and audio.
Anil-matcha/awesome-muse-connectors
Google Gemini media generation: Nano Banana images, Imagen 4 images, Veo video, TTS, model listing.
google-gemini/gemini-skills
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice…
aaronyi97/wedding-video-guided-wizard
Guide a creator through a real couple's custom wedding video, from a shareable story intake card and Kimi writing pack through narration, external GPT image prompts, image-to-video packs, music and…
sundial-org/awesome-openclaw-skills
UI/UX design intelligence and implementation guidance for building polished interfaces.
sundial-org/awesome-openclaw-skills
Create and deploy single-page static websites to GitHub Pages with autonomous workflow.
sundial-org/awesome-openclaw-skills
Modify Clawd, the Claude Code mascot. An agent skill from sundial-org/awesome-openclaw-skills.
sundial-org/awesome-openclaw-skills
Professional Figma design analysis and asset export. An agent skill from sundial-org/awesome-openclaw-skills.
sundial-org/awesome-openclaw-skills
AI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching.
sundial-org/awesome-openclaw-skills
Text-to-speech conversion using node-edge-tts npm package for generating audio from text.
Works with
Categories
Use the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation +…. Google Gemini Media is an agent skill from sundial-org/awesome-openclaw-skills. Use the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation + understanding".
Google Gemini Media fits situations like: tasks that involve Image generation; tasks that involve AI video generation; tasks that involve Text to speech and voice.
Run `npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a claude-code`. Or copy the skill folder (skills/google-gemini-media in sundial-org/awesome-openclaw-skills) into .claude/skills/google-gemini-media in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a codex`. Or copy the skill folder (skills/google-gemini-media in sundial-org/awesome-openclaw-skills) into .agents/skills/google-gemini-media in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sundial-org/awesome-openclaw-skills --skill google-gemini-media -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-gemini-media, .gemini/skills/google-gemini-media, .github/skills/google-gemini-media and .opencode/skills/google-gemini-media in your project.
Going by SKILL.md and its folder, Google Gemini Media needs the command-line tools its instructions call (curl, npm and jq) and credentials named GEMINI_API_KEY. Our summary lists: Node.js; A credential in GEMINI_API_KEY.
SKILL.md names 1 domain. In commands or code: generativelanguage.googleapis.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Google Gemini Media is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Google Gemini Media: Gemini Omni (calesthio/OpenMontage, 66k stars), Gemini Interactions API (Ayuilos/Miffan, 225 stars), Fal AI Media (affaan-m/ECC, 277k stars) and Gemini (Anil-matcha/awesome-muse-connectors, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sundial-org (a GitHub organization) maintains it in sundial-org/awesome-openclaw-skills, which has 663 GitHub stars. The repository holds 383 skills in this directory. The repository was last updated on March 7, 2026.
Source: sundial-org/awesome-openclaw-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.