Not in the top 1,000 by GitHub stars

Upload-Post/skill-autoshorts

Daily viral-clip pipeline: Whisper + Gemini 3 Flash + Upload-Post. Picks one long video per day, cuts the best moments, asks you on your phone which to publish, and learns from engagement data over time.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e902b2a8d9dc → e902b2a8d9dc

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e902b2a8d9dc

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e902b2a8d9dcd0ee98e776b5e0455c6c1f30618a

158GitHub stars
2stars in 7 days
1skill in this repository
0commits in 30 days

Heat

2.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 1, 2026158

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

autoshorts

When your agent uses it

Daily pipeline that picks one long video from a folder, transcribes it with Whisper, uses Gemini 3 Flash multimodal to find every viral short-form moment, cuts each candidate with FFmpeg, adds a hook-text overlay, presents the candidates to the user for approval, and publishes the approved clips to TikTok / Instagram Reels / YouTube Shorts via the Upload-Post API. Use when the user wants to create shorts/reels/clips from longer videos, mentions autoshorts, viral clips, or content repurposing, or asks for the daily clip batch.

What it loads into context

Frontmatter

227 tokens

Always available to the agent

SKILL.md

5,211 tokens

When the skill is activated

Reference documents

4,037 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Setup (only if not yet configured)
  2. Orchestration model
  3. Daily workflow
  4. Weekly learning loop (`learn`)
  5. Operating notes

Scripts executed separately

  • autoshorts.py

Files

  • .env.exampleasset261 bytes
  • .gitignoreasset225 bytes
  • README.mddoc18,015 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • SKILL.mdcore21,547 bytes
  • autoshorts.pyruns42,572 bytes
  • requirements.txtdoc95 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • autoshorts

Repository facts

License
No license detected
Created
May 1, 2026
Last pushed
May 2, 2026
Forks
26
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 17 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 64 signals by file

.env.example

  • Access to secretsline 1
    [Credential-related source omitted]
  • Access to secretsline 3
    [Credential-related source omitted]

.gitignore

  • Access to secretsline 1
    [Credential-related source omitted]

README.md

  • Network accessline 5
    The idea is to keep a small backlog of long videos and forward a new one to your agent every time you record. The agent (Hermes / Openclaw / whatever you're running) saves it into the input folder for you — you don't manage paths yourself, 
  • Network accessline 17
    > Set up https://github.com/mutonby/skill-autoshorts for me. Read README.md.
  • Network accessline 28
    4. Register `SKILL.md` with whichever agent harness is running. For Claude Code, copy or symlink it into `~/.claude/skills/autoshorts/SKILL.md`. For Hermes / Openclaw follow their skill registration docs. 5. Create `.env` from `.env.example
  • Network accessline 29
    5. Create `.env` from `.env.example` and ask the user to paste the values you need:    - `GEMINI_API_KEY` — https://aistudio.google.com/apikey (free tier is enough).    - `UPLOAD_POST_API_KEY` and `UPLOAD_POST_PROFILE` — https://app.upload-
  • Network accessline 30
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 31
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Network accessline 32
    - Default `INPUT_FOLDER` and `OUTPUT_FOLDER` to `~/Documents/skill-autoshorts/input` and `.../output` unless the user says otherwise. Default `WHISPER_MODEL=medium` and `TIMEZONE=Europe/Madrid` (override if the user is in another timezone).
  • Network accessline 33
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 232
    [Credential-related source omitted]

SKILL.md

  • Network accessline 7
    author: mutonby   version: "2.0.0"   homepage: "https://github.com/mutonby/skill-autoshorts"
  • Network accessline 8
    version: "2.0.0"   homepage: "https://github.com/mutonby/skill-autoshorts" ---
  • Network accessline 9
    homepage: "https://github.com/mutonby/skill-autoshorts"
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 41
    ### 4. Upload-Post account - Sign up at https://upload-post.com → dashboard at https://app.upload-post.com.
  • Network accessline 42
    - Sign up at https://upload-post.com → dashboard at https://app.upload-post.com.
  • Network accessline 44
    [Credential-related source omitted]
  • Network accessline 46
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 65
    2. **`ffmpeg`** in `PATH` — if missing, ask the user to `brew install ffmpeg` (do not install yourself; system-wide installs deserve confirmation). 3. **`.env` file** — check that every required key is set and non-empty:    - `GEMINI_API_KE
  • Network accessline 66
    3. **`.env` file** — check that every required key is set and non-empty:    - `GEMINI_API_KEY` → if missing, ask: *"Falta la API key de Gemini. Pégamela (la generas en https://aistudio.google.com/apikey)."*    - `UPLOAD_POST_API_KEY` and `U
  • Network accessline 67
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Network accessline 68
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Network accessline 69
    - `INPUT_FOLDER` and `OUTPUT_FOLDER` → if missing, default to `~/Documents/skill-autoshorts/input` and `~/Documents/skill-autoshorts/output` and write them to `.env`.    - `WHISPER_MODEL` → default `medium`. `TIMEZONE` → default `Europe/Mad
  • Network accessline 71
    4. **Upload-Post platform health** — call `GET /api/uploadposts/users` and read `reauth_required` for each platform on the configured profile. If any platform requires reauth, surface it now so the user knows to either reauth (https://app.u
  • Dangerous shell operationline 197
    [Credential-related source omitted]
  • Network accessline 197
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Network accessline 198
    https://api.upload-post.com/api/uploadposts/users | python -m json.tool
  • Network accessline 201
    If any platform shows `"reauth_required": true`, warn the user — that platform's upload will fail. Either drop that platform from `--platforms` or pause and let the user reauthorize in https://app.upload-post.com.

autoshorts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 46
    VIDEO_EXTS = {".mp4", ".mov", ".mkv", ".m4v", ".webm"} GEMINI_MODEL = "gemini-3-flash-preview" UPLOAD_POST_BASE = "https://api.upload-post.com/api"
  • Network accessline 48
    UPLOAD_POST_BASE = "https://api.upload-post.com/api"
  • Access to secretsline 297
    [Credential-related source omitted]
  • Access to secretsline 298
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Access to secretsline 324
    [Credential-related source omitted]
  • Access to secretsline 543
    [Credential-related source omitted]
  • Access to secretsline 545
    [Credential-related source omitted]
  • Access to secretsline 546
    [Credential-related source omitted]
  • Network accessline 588
    with video.open("rb") as fh:         files = {"video": (video.name, fh, "video/mp4")}         res = requests.post(
  • Network accessline 589
    files = {"video": (video.name, fh, "video/mp4")}         res = requests.post(             f"{UPLOAD_POST_BASE}/upload",
  • Network accessline 590
    res = requests.post(
  • Access to secretsline 592
    [Credential-related source omitted]
  • Access to secretsline 751
    [Credential-related source omitted]
  • Access to secretsline 752
    [Credential-related source omitted]
  • Access to secretsline 754
    [Credential-related source omitted]
  • Access to secretsline 756
    [Credential-related source omitted]
  • Network accessline 786
    [Credential-related source omitted]
  • Network accessline 787
    [Credential-related source omitted]
  • Network accessline 788
    [Credential-related source omitted]
  • Access to secretsline 865
    [Credential-related source omitted]
  • Access to secretsline 937
    [Credential-related source omitted]
  • Access to secretsline 939
    [Credential-related source omitted]
  • Access to secretsline 995
    [Credential-related source omitted]

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 61 facts
  • Network access in prose of documentationREADME.md:5Low confidence
  • Network access in prose of documentationREADME.md:17Low confidence
  • Network access in prose of documentationREADME.md:28Low confidence
  • Network access in prose of documentationREADME.md:29Low confidence
  • Network access in prose of documentationREADME.md:30Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueREADME.md:30Low confidence
  • Network access in prose of documentationREADME.md:31Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueREADME.md:31Low confidence
  • Network access in prose of documentationREADME.md:32Low confidence
  • Network access in prose of documentationREADME.md:33Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueREADME.md:33Low confidence
  • Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:232Low confidence
  • Network access in the frontmatter of the SKILL.mdSKILL.md:7Low confidence
  • Network access in the frontmatter of the SKILL.mdSKILL.md:8Low confidence
  • Network access in the frontmatter of the SKILL.mdSKILL.md:9Low confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:30High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:32High confidence
  • Network access in prose of the SKILL.mdSKILL.md:41Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:42Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:44Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:46Low confidence
  • Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:46Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:65Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:66Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:67Low confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:67Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:68Low confidence
  • Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:68Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:69Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:71Low confidence
  • Dangerous shell operation in code of the SKILL.mdSKILL.md:197High confidence
  • Network access in code of the SKILL.mdSKILL.md:197High confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:197Low confidence
  • Network access in code of the SKILL.mdSKILL.md:198High confidence
  • Network access in prose of the SKILL.mdSKILL.md:201Low confidence
  • Executable script in code of a file that runsautoshorts.py:1High confidence
  • Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoshorts.py:32Low confidence
  • Network access in code of a file that runsautoshorts.py:46High confidence
  • Network access in code of a file that runsautoshorts.py:48High confidence
  • Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoshorts.py:297Low confidence
  • Access to secrets in code of a file that runsautoshorts.py:298High confidence
  • Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoshorts.py:299Low confidence
  • Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoshorts.py:324Low confidence
  • Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoshorts.py:543Low confidence
  • Access to secrets in code of a file that runsautoshorts.py:545High confidence
  • Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoshorts.py:546Low confidence
  • Network access in code of a file that runsautoshorts.py:588High confidence
  • Network access in code of a file that runsautoshorts.py:589High confidence
  • Network access in code of a file that runsautoshorts.py:590High confidence
  • Access to secrets in code of a file that runsautoshorts.py:592High confidence

and 11 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.