Agent skill

Gpt4free Provider Sync

by dotnetdreamer in dotnetdreamer/open-screenshot-generator

Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same.

MITAuto-check passedDevelopment

Install Gpt4free Provider Sync

skills CLI
$ npx skills add dotnetdreamer/open-screenshot-generator --skill gpt4free-provider-sync -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dotnetdreamer/open-screenshot-generator gpt4free-provider-sync --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dotnetdreamer/open-screenshot-generator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/gpt4free-provider-sync .claude/skills/gpt4free-provider-sync && rm -rf skills-src

Use ~/.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/

Facts

Skill name
gpt4free-provider-sync
GitHub stars
126
Token cost
~2.3k tokens
SKILL.md length
1,007 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same.

  • Works in 5 steps: Get the real changelog (the release… → Map it against OUR two provider surfaces → The relevance filter (why most changes… → …
  • Asked to check gpt4free
  • SKILL.md covers 1. Get the real changelog (the…, 2. Map it against OUR two…, 3. The relevance filter (why… and 4. Adding a browser provider…, plus 2 more sections
  • Calls npm; reaches api.github.com and raw.githubusercontent.com

What it does

Gpt4free Provider Sync is an agent skill from dotnetdreamer/open-screenshot-generator. Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same. Use when asked to "check gpt4free", "see what providers gpt4free added/changed", sync/compare our providers against gpt4free, or add a new web AI provider. Also holds the full checklist for wiring a new browser (webview) provider end to end.

Its SKILL.md is about 2.3k 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 Development, covering Changelog and release notes. It works with Tauri. The repository describes itself as: Open source Canva with CLI/GUI, AI Agent, MCP for App Store and Play Store screenshots. Free alternative to AppScreens, AppLaunchpad and Previewed. The licence is MIT.

When your agent uses it

  • Asked to check gpt4free
  • See what providers gpt4free added/changed
  • Sync/compare our providers against gpt4free
  • Add a new web AI provider

Example prompts

  • “s AI providers need the same. Use when asked to”
  • “see what providers gpt4free added/changed”
  • “/gpt4free-provider-sync”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Get the real changelog (the release notes are empty)
  2. Map it against OUR two provider surfaces
  3. The relevance filter (why most changes are "do nothing")
  4. Adding a browser provider (wire ALL of these)
  5. Build + verify

What it can do on your machine

Read from SKILL.md and the folder at commit 556578e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.github.com
    • raw.githubusercontent.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gpt4free Provider Sync loads about 2.3k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,007 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from dotnetdreamer/open-screenshot-generator at commit 556578e, republished under its MIT licence (© dotnetdreamer). 1,007 words, ~2,319 tokens.

Download SKILL.mdSave it as .claude/skills/gpt4free-provider-sync/SKILL.md (or your agent's skills folder).
name
gpt4free-provider-sync
description
Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same. Use when asked to "check gpt4free", "see what providers gpt4free added/changed", sync/compare our providers against gpt4free, or add a new web AI provider. Also holds the full checklist for wiring a new browser (webview) provider end to end.
metadata.internal
true

gpt4free provider sync

Our AI providers are "inspired by" xtekky/gpt4free. Periodically the user wants to know what gpt4free changed provider-wise in its recent releases, and whether we should mirror it. This skill is the repeatable procedure plus the wiring checklist for adding a provider.

Standing rule from the user: present the analysis and get their confirmation BEFORE changing any code. They confirm the analysis first, then decide what (if anything) to build.

1. Get the real changelog (the release notes are empty)

gpt4free's GitHub Releases carry no prose, just a "Full Changelog" link. Do NOT trust a WebFetch of the releases page for provider detail, and the HTML compare page often answers "This comparison is taking too long to generate." Use the compare API instead.

  1. Last N release tags (newest first): https://api.github.com/repos/xtekky/gpt4free/releases?per_page=6 -> read each tag_name.
  2. To cover the last 3 releases, diff the release just before them against the newest: base = tags[3], head = tags[0], so https://api.github.com/repos/xtekky/gpt4free/compare/<tags[3]>...<tags[0]> (e.g. v7.8.1...v7.8.4 covers v7.8.2, v7.8.3, v7.8.4).
  3. From that JSON read:
    • files[]: each { filename, status }. Filter to paths containing Provider (g4f/Provider/...). status is added / removed / renamed / modified. added/removed provider files are the signal that a provider was introduced or dropped; renamed (e.g. a single Foo.py becoming a foo/ package) is usually just a refactor of the same service.
    • commits[].commit.message: quote provider-naming messages ("Delete old GLM", "Add X", etc.).
    • If files looks truncated (GitHub caps compare at ~300 files, and total_commits is large), fall back to per-file history under g4f/Provider/.
  4. Cross-check the live registry for what class each model uses: https://raw.githubusercontent.com/xtekky/gpt4free/main/g4f/models.py.

2. Map it against OUR two provider surfaces

We only have two, and most gpt4free churn touches neither.

  • Browser (webview) adapters in webAdapters.ts (WEB_ADAPTERS + the WebProviderId union). These drive a logged-in site's chat UI in a hidden Tauri window. This is gpt4free's needs_auth / nodriver "chromium" equivalent. Current set: claude, chatgpt, gemini, copilot, deepseek, qwen, perplexity, glm.
  • Keyless free endpoints in freeProviders.ts (pollinations, ollama, lmstudio). OpenAI-compatible HTTP, free on purpose only.

3. The relevance filter (why most changes are "do nothing")

gpt4free ships dozens of providers; the majority are reverse-engineered free HTTP endpoints that break the moment a vendor patches their site. We deliberately do not mirror those (see the freeProviders.ts header comment). Only act on:

  • (a) a change to a site we already drive (selector/host/auth shifts, usually the needs_auth providers), or
  • (b) a genuinely new browser-drivable chat site with a real free tier, worth adding as a new webview adapter, or
  • (c) a new keyless-by-design, OpenAI-compatible endpoint (candidate for freeProviders.ts).

Ignore, and say so explicitly in the analysis: router/loader refactors, disk-cache/FileStorage infra, captcha-bypass tweaks, lazy-loading, build/test fixes, and the constant churn of throwaway free-API providers (Blackbox, DeepInfra, PuterJS, etc.).

Write the verdict per surface: "none of the changed files touch a site we drive; nothing to port" is the common and correct outcome. A provider gpt4free merely reorganized (like GLM's file->package move in v7.8.x) is not new; call it out but do not treat it as a keep-up item.

Show full SKILL.md (509 more words)Show less

4. Adding a browser provider (wire ALL of these)

Learned adding GLM (chat.z.ai). Miss one and it half-breaks silently.

  1. webAdapters.ts - add the id to the WebProviderId union AND an entry to WEB_ADAPTERS. This one file is the source of truth: the UI picker, host routing (adapterForHost), WEB_PROVIDERS, and extensionMatchPatterns() all derive from it. Selectors always rot, so provide layered lists and mark tested: false. For loggedOut, prefer a stable sign-in testid/anchor; avoid a generic a[href*="login"] (false-positives lock signed-in users out). Note whether the site allows anonymous/guest use.
  2. web_session.rs - add ("<id>", "<fresh-chat-url>") to the PROVIDERS array. The desktop window opens from THIS map, not from webAdapters. Omitting it makes the window fail with "unknown provider".
  3. extension/src/adapters/<id>.ts - one line: registerAdapter('<id>'); (copy any sibling).
  4. extension/manifest.json - add https://<host>/* to BOTH host_permissions and web_accessible_resources[0].matches (and the description provider list).
  5. package.json build:extension - append extension/src/adapters/<id>.ts. The esbuild input list is explicit, not a glob, so a new adapter file is otherwise never built.
  6. src-tauri/capabilities/assistant.json - add https://<host>/* to remote.urls. This is the one that fails SILENTLY. The injected agent reports back over Tauri events (core:event:allow-emit), and Tauri only allows emit from remote origins on this whitelist. Miss it and the agent installs, boots, and drives the page but every event is dropped by the ACL (the agent's send() swallows the emit error), so the shell sees NOTHING: no ready, so the queued job never dispatches, and the run just hangs. Symptom when testing: agentInstalled: true on the page but zero abs-web-event. Capabilities are compiled into the exe by tauri-build, so this needs a rebuild.

Nothing else in the UI needs touching: WebSessionModePanel.tsx renders straight from WEB_PROVIDER_IDS (a new provider shows with a "not tested" badge automatically), and PROMPT_BUDGETS in AgentStartScreen.tsx is a Partial map (only ChatGPT has a hard cap; an absent provider falls back to the full prompt, which is fine).

5. Build + verify

npm run build:assistant-agent   # rebundles the injected agent (webAssistantAgent.ts). It is include_str!'d into the exe at COMPILE time, so a running tauri:dev never picks up selector edits until a rebuild.
npm run build:extension         # confirms the new adapter file compiles into dist/adapters/<id>.js
npm run typecheck               # 3 pre-existing errors are known/unrelated: CanvasArea.tsx:296, TextElement.tsx:91, TextElement.tsx:117. Your change must add zero new ones.

New adapters are best-effort until selectors are verified against the live site. Live-testing recipe (scratch Tauri instance, copied profile, CDP harness, op-log forensics) is in the tauri-desktop-integration memory; the embedded-webview architecture and the hard-won login/iframe correctness rules are in embedded-webview-account-mode.

Reasoning-model providers (GLM, DeepSeek R1, Qwen QwQ)

A reasoning model shows a "thinking" placeholder for many seconds before its answer. waitForReply's only guard against returning early is the streaming (stop-button) selector — if it's dead/guessed, the text-settle heuristic (1.2s) returns the stable "thinking" placeholder as the answer and the plan parser rejects it. Since these sites often have no stable CSS stop button, add a per-adapter isGenerating?: () => boolean hook (reads the live "Thinking…/Skip"-style control by text; CSS can't match text) — it's OR'd into waitForReply's streaming check. Capture the in-progress control live (CDP button-dump while it generates) rather than guessing. Also: these models can't fetch the hosted catalog (reply CANNOT_FETCH), and some (GLM) emit a junk JSON skeleton alongside the sentinel — the AgentStartScreen URL branch caches 'fail' on the sentinel regardless of junk JSON and uses extractJsonCandidates + token-match (not first-only extractJson), so verify a new reasoning provider's can't-fetch verdict actually caches (else every run re-pays the URL round-trip).

© dotnetdreamer, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/gpt4free-provider-sync of dotnetdreamer/open-screenshot-generator.

Open the folder on GitHubat commit 556578e

Compare with similar skills

Gpt4free Provider Sync 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.

Gpt4free Provider Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gpt4free Provider Sync this skilldotnetdreamer/open-screenshot-generator126—~2.3kAutomated safety check: PassMIT
Yaak Changelogmountain-loop/yaak19k—~1.6kAutomated safety check: PassMIT
Release Generate Release Notesmountain-loop/yaak19k—~548Automated safety check: PassMIT
Cline Desktop App Releasecline/cline70k—~4.5kAutomated safety check: PassApache-2.0
Cut Releasedelexw/claude-code-trace3761 repos~1.4kAutomated safety check: PassMIT
Store Submitzhitongblog/solomd1.2k—~1.7kAutomated safety check: NotesMIT

Similar skills

  • Yaak Changelog

    mountain-loop/yaak

    Create or edit Yaak changelogs. An agent skill from mountain-loop/yaak.

    19k GitHub stars~1.6k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Generate Yaak release notes from git history and PR metadata, including feedback links and full changelog compare links.

    19k GitHub stars~548 tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Covers preparing, tagging and publishing a Cline desktop app release on the stable, beta or nightly channel through the desktop-publish GitHub workflow.

    70k GitHub stars~4.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Cut Release

    delexw/claude-code-trace

    Cuts a new versioned release of claude-code-trace end-to-end without asking any questions.

    376 GitHub starsUsed in 1 repo~1.4k tokens
    DevelopmentAuto-check passed
  • Store Submit

    zhitongblog/solomd

    Publish a SoloMD release to the stores that have no usable submission API — Google Play Console and Microsoft Partner Center — by driving them through the local Unzoo Browser REST API.

    1.2k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check: notes
  • Release Version

    GOODBOY008/r-shell

    Release a new r-shell version and create a published GitHub release with contributor credits.

    153 GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from dotnetdreamer/open-screenshot-generator

All 13 skills in this repo
  • App Preview Video

    dotnetdreamer/open-screenshot-generator

    Builds an App Store App Preview video (and a Play Store or landing page promo cut) from a screen recording of the app, using the open-screenshot-generator CLI (osg video): it starts from one of 20…

    126 GitHub stars~3.3k tokensUpdated 3 days ago
    Auto-check passed
  • App Screenshots

    dotnetdreamer/open-screenshot-generator

    Drive Open Screenshot Generator headlessly (puppeteer-core + Edge) to take UI screenshots, add palette elements, upload device screenshots, export artboard PNGs, and regenerate the 3D device…

    126 GitHub stars~5.1k tokensUpdated 3 days ago
    Auto-check: notes
  • Editor Tools

    dotnetdreamer/open-screenshot-generator

    Drives the live Open Screenshot Generator editor tool by tool over MCP, using osg mcp to expose the design tools (artboards, elements, backgrounds, fonts, the asset libraries, templates, App Preview…

    126 GitHub stars~3.8k tokensUpdated 3 days ago
    Auto-check passed
  • Stock Image Assets

    dotnetdreamer/open-screenshot-generator

    Add properly licensed Adobe Stock photos to the Images palette library (e.g.

    126 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Store Compliance

    dotnetdreamer/open-screenshot-generator

    Checks that rendered store assets will actually be accepted, and then ships them, using the open-screenshot-generator CLI: osg verify audits the produced PNGs and MP4s against App Store and Google…

    126 GitHub stars~3k tokensUpdated 3 days ago
    Auto-check passed
  • Store Localization

    dotnetdreamer/open-screenshot-generator

    Ships one screenshot design in many App Store and Play Store languages using the open-screenshot-generator CLI (osg localize): it adds store locales to an existing project, writes per language copy…

    126 GitHub stars~3.8k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Gpt4free Provider Sync

What does Gpt4free Provider Sync do?

Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same. Gpt4free Provider Sync is an agent skill from dotnetdreamer/open-screenshot-generator. Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same.

When should I use Gpt4free Provider Sync?

Gpt4free Provider Sync fits situations like: asked to check gpt4free; see what providers gpt4free added/changed; sync/compare our providers against gpt4free; add a new web AI provider.

How do I install Gpt4free Provider Sync in Claude Code?

Run `npx skills add dotnetdreamer/open-screenshot-generator --skill gpt4free-provider-sync -a claude-code`. Or copy the skill folder (.claude/skills/gpt4free-provider-sync in dotnetdreamer/open-screenshot-generator) into .claude/skills/gpt4free-provider-sync in your project. Claude Code loads it when a task matches its description.

How do I install Gpt4free Provider Sync in Codex?

Run `npx skills add dotnetdreamer/open-screenshot-generator --skill gpt4free-provider-sync -a codex`. Or copy the skill folder (.claude/skills/gpt4free-provider-sync in dotnetdreamer/open-screenshot-generator) into .agents/skills/gpt4free-provider-sync in your project. Codex loads it when a task matches its description.

Can I use Gpt4free Provider Sync in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnetdreamer/open-screenshot-generator --skill gpt4free-provider-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gpt4free-provider-sync, .gemini/skills/gpt4free-provider-sync, .github/skills/gpt4free-provider-sync and .opencode/skills/gpt4free-provider-sync in your project.

What does Gpt4free Provider Sync need to run?

Going by SKILL.md and its folder, Gpt4free Provider Sync needs the command-line tools its instructions call (npm). Our summary lists: Node.js.

Does Gpt4free Provider Sync access the network?

SKILL.md names 2 domains. In commands or code: api.github.com and raw.githubusercontent.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Gpt4free Provider Sync safe to install?

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.

What licence does Gpt4free Provider Sync use?

Gpt4free Provider Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gpt4free Provider Sync use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gpt4free Provider Sync?

Skills that share tags, products or a category with Gpt4free Provider Sync: Yaak Changelog (mountain-loop/yaak, 19k stars), Release Generate Release Notes (mountain-loop/yaak, 19k stars), Cline Desktop App Release (cline/cline, 70k stars) and Cut Release (delexw/claude-code-trace, 376 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gpt4free Provider Sync?

dotnetdreamer (a GitHub user) maintains it in dotnetdreamer/open-screenshot-generator, which has 126 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

Source: dotnetdreamer/open-screenshot-generator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.