ModLens Image Vision Bridge
liustack/modlens
Gives text-only models sight by running the modlens CLI on an image path or URL and returning structured JSON evidence with transcribed text, layout and semantics.
Update the libs/ SDK submodules (openai-go, anthropic-sdk-go, go-genai) to new upstream/fork versions, adapt tingly-box to API changes, and verify with build + vet + tests.
$ npx skills add tingly-dev/tingly-box --skill update-libs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tingly-dev/tingly-box update-libs --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/tingly-dev/tingly-box.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/update-libs .claude/skills/update-libs && 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 "update-libs" agent skill from https://github.com/tingly-dev/tingly-box/tree/main/.claude/skills/update-libs into .claude/skills/update-libs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-libs", 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/tingly-dev/tingly-box/tree/main/.claude/skills/update-libsType 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 tingly-dev/tingly-box --skill update-libs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tingly-dev/tingly-box update-libs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tingly-dev/tingly-box.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/update-libs .agents/skills/update-libs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "update-libs" agent skill from https://github.com/tingly-dev/tingly-box/tree/main/.claude/skills/update-libs into .agents/skills/update-libs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-libs", 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 tingly-dev/tingly-box --skill update-libs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tingly-dev/tingly-box update-libs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tingly-dev/tingly-box.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/update-libs .cursor/skills/update-libs && 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 "update-libs" agent skill from https://github.com/tingly-dev/tingly-box/tree/main/.claude/skills/update-libs into .cursor/skills/update-libs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-libs", 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/tingly-dev/tingly-box.git --path .claude/skills/update-libs--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 tingly-dev/tingly-box --skill update-libs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tingly-dev/tingly-box update-libs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tingly-dev/tingly-box.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/update-libs .gemini/skills/update-libs && 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 "update-libs" agent skill from https://github.com/tingly-dev/tingly-box/tree/main/.claude/skills/update-libs into .gemini/skills/update-libs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-libs", 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 tingly-dev/tingly-box update-libsInstalls 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 tingly-dev/tingly-box --skill update-libs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tingly-dev/tingly-box.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/update-libs .github/skills/update-libs && 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 "update-libs" agent skill from https://github.com/tingly-dev/tingly-box/tree/main/.claude/skills/update-libs into .github/skills/update-libs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-libs", 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 tingly-dev/tingly-box --skill update-libs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tingly-dev/tingly-box update-libs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tingly-dev/tingly-box.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/update-libs .opencode/skills/update-libs && 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 "update-libs" agent skill from https://github.com/tingly-dev/tingly-box/tree/main/.claude/skills/update-libs into .opencode/skills/update-libs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-libs", 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.
update-libsUpdate the libs/ SDK submodules (openai-go, anthropic-sdk-go, go-genai) to new upstream/fork versions, adapt tingly-box to API changes, and verify with build + vet + tests.
Update Libs is an agent skill from tingly-dev/tingly-box. Update the libs/ SDK submodules (openai-go, anthropic-sdk-go, go-genai) to new upstream/fork versions, adapt tingly-box to API changes, and verify with build + vet + tests. Use when asked to bump/update SDK submodules, sync libs to new tingly-dev/upstream tags, or fix breakage after a submodule bump.
Its SKILL.md is about 830 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 AI & LLM Engineering, covering LLM API integration. It works with Anthropic API, OpenAI and Go. The repository describes itself as: Your Intelligence, Orchestrated. Every builder. Every team. Every agent. For Everyone. The licence is MPL-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2d935b7. 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:
gitgoFrom 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:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Update Libs loads about 830 tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 322 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 tingly-dev/tingly-box at commit 2d935b7, republished under its MPL-2.0 licence (© tingly-dev). 322 words, ~830 tokens.
.claude/skills/update-libs/SKILL.md (or your agent's skills folder).libs/openai-go, libs/anthropic-sdk-go, libs/go-genai,
wired into go.mod via replace.OPENAI_GO_VERSION / ANTHROPIC_SDK_GO_VERSION /
GO_GENAI_VERSION at the top of Taskfile.yml (branch or tag names).task submodule:update checks out those refs and rewrites branch = in
.gitmodules to match — never hand-edit .gitmodules.Declare the target versions: edit the three vars in Taskfile.yml,
then run:
task submodule:updateNetwork fallback if git fetch over HTTPS fails (SSH usually works):
for d in libs/openai-go libs/anthropic-sdk-go libs/go-genai; do
git -C $d config url."git@github.com:".insteadOf "https://github.com/"
doneSet it per-submodule — submodule repos don't inherit superproject config.
Review the fork patches. The tingly-dev-* branches carry a small set
of deliberate patches over upstream. Verify each still exists and still
makes sense; a patch may have been deleted on purpose:
git -C libs/<sdk> fetch origin
git -C libs/<sdk> log --oneline origin/<upstream-ref>..<tingly-dev-ref>
git -C libs/<sdk> diff --stat origin/<upstream-ref>..<tingly-dev-ref>Fork patch commits are prefixed tingly-dev and explain their intent in
the commit body — read it before deciding anything.
Build-fix loop:
go build ./...Typical SDK breakage: plain fields become param.Opt[T]
(packages/param). Write with param.NewOpt(x), read with x.Value
(Opt[T] is a value struct; absent → zero value, no nil deref). Note that
identically-named fields on different structs may differ — one may stay
plain while another became Opt — so check the struct, not the field name.
Verify:
go vet ./internal/... ./cli/... ./ai/... ./imbot/...
go test ./internal/protocol/...For any failure, first attribute it: SDK-related or environment? (Failing on network fetches, temp-HOME layout, etc. is unrelated to the bump.) Do not claim verification passed on failures you didn't triage.
Evaluate behavior changes — do NOT blindly conform. When a test fails on changed semantics (not just types):
Commit in stages (never one big commit; the user's preferred order):
chore(taskfile): Taskfile.yml version vars only.chore(libs): submodule pointers + .gitmodules (follows the Taskfile).refactor/fix: API adaptation code + tests (always last).© tingly-dev, MPL-2.0. 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 .claude/skills/update-libs of tingly-dev/tingly-box.
Open the folder on GitHubat commit 2d935b7
Update Libs 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 |
|---|---|---|---|---|---|---|
| Update Libs this skilltingly-dev/tingly-box | 351 | — | ~830 | Automated safety check: Pass | MPL-2.0 | |
| ModLens Image Vision Bridgeliustack/modlens | 4.1k | — | ~1.3k | Automated safety check: Notes | MIT | |
| Claude APIKocoro-lab/Kocoro | 414 | 8 repos | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| Using Ccproxy Inspectorstarbaser/ccproxy | 348 | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Using Ccproxy APIstarbaser/ccproxy | 348 | — | ~4k | Automated safety check: Pass | Custom licence | |
| Get API Docssudomakes/backroad | 162 | — | ~1k | Automated safety check: Pass | MIT |
liustack/modlens
Gives text-only models sight by running the modlens CLI on an image path or URL and returning structured JSON evidence with transcribed text, layout and semantics.
Kocoro-lab/Kocoro
Build apps with the Claude API or Anthropic SDK. An agent skill from Kocoro-lab/Kocoro.
starbaser/ccproxy
Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic.
starbaser/ccproxy
Guides users through ccproxy as an OpenAI-compatible and Anthropic-compatible LLM API server with SDK integration, OAuth authentication, sentinel key substitution, model routing, and troubleshooting.
sudomakes/backroad
A skill your agent uses when you need documentation for a third-party library, SDK, or API before writing code that uses it — for example, "use the OpenAI API", "call the Stripe API", "use the…
growthxai/output
Wire encrypted credentials to environment variables using the credential: convention.
tingly-dev/tingly-box
Capture headless-Chrome screenshots of the tingly-box frontend (running locally in mock mode) so frontend changes can be visually verified in environments without a real browser.
Works with
Categories
Update the libs/ SDK submodules (openai-go, anthropic-sdk-go, go-genai) to new upstream/fork versions, adapt tingly-box to API changes, and verify with build + vet + tests. Update Libs is an agent skill from tingly-dev/tingly-box. Update the libs/ SDK submodules (openai-go, anthropic-sdk-go, go-genai) to new upstream/fork versions, adapt tingly-box to API changes, and verify with build + vet + tests.
Update Libs fits situations like: asked to bump/update SDK submodules; sync libs to new tingly-dev/upstream tags; fix breakage after a submodule bump.
Run `npx skills add tingly-dev/tingly-box --skill update-libs -a claude-code`. Or copy the skill folder (.claude/skills/update-libs in tingly-dev/tingly-box) into .claude/skills/update-libs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tingly-dev/tingly-box --skill update-libs -a codex`. Or copy the skill folder (.claude/skills/update-libs in tingly-dev/tingly-box) into .agents/skills/update-libs 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 tingly-dev/tingly-box --skill update-libs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-libs, .gemini/skills/update-libs, .github/skills/update-libs and .opencode/skills/update-libs in your project.
Going by SKILL.md and its folder, Update Libs needs the command-line tools its instructions call (git and go).
SKILL.md names 1 domain. In commands or code: github.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.
Update Libs is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 830 tokens (SKILL.md is roughly 3.3k 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 Update Libs: ModLens Image Vision Bridge (liustack/modlens, 4.1k stars), Claude API (Kocoro-lab/Kocoro, 414 stars), Using Ccproxy Inspector (starbaser/ccproxy, 348 stars) and Using Ccproxy API (starbaser/ccproxy, 348 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tingly-dev (a GitHub organization) maintains it in tingly-dev/tingly-box, which has 351 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.
Source: tingly-dev/tingly-box on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.