Skip to content
Back to skills

Installing Mcps

ASecurity

Install, set up, configure, repair or fix a libi extension (on-device tracking, transcription, speech, music, downloads). Not for connecting a media provider such as an image or video service; that is libi.suggest_provider.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
ai-agentsshell

Works with

  • mcp

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add Nagellabs/libi --skill installing-mcps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Installing Mcps?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Installing Mcps
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nagellabs-installing-mcps/badge)](https://www.skillsdirectory.com/skills/nagellabs-installing-mcps)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: installing-mcps
description: "Install, set up, configure, repair or fix a libi extension (on-device tracking, transcription, speech, music, downloads). Not for connecting a media provider such as an image or video service; that is libi.suggest_provider."
---

# Installing libi extensions

Use this for a request like "install the <Name> extension (id: `<mcpId>`)" or "the <Name> extension failed to
install or run; diagnose and repair it". The install plan is the single source of truth; this skill only drives
it. Done means the extension's own check passes and the user has been told.

## Install

1. **Signal start.** `libi.update_dep_status({ mcpId, status: "installing" })` right away, so the UI badge shows
   work underway. It records status only; nothing it does installs anything.
2. **Fetch the plan** with `libi.get_install_plan({ mcpId })` and read all of it before acting. It names the exact
   calls, commands, download sizes and consent checkpoints, and the plan wins over anything here.
3. **Follow it step by step**, with your shell and file tools for the commands and files it asks for. Some plans
   install through a dedicated tool instead (`libi-tracking` uses `libi.install_tracking_engine`); when the plan
   names one, call it rather than improvising the install by hand. Update the user at meaningful checkpoints
   ("downloading model weights, about 480 MB", "environment sync complete"), not every sub-step.
4. **Verify with the check that belongs to this extension, then mark installed.** There is no generic verify
   tool, and the wrong one gives a confident answer about something else.
   - `libi-tracking`, and only it: `libi.verify_install()` with no arguments. It runs the engine self-test and
     records the dependency state the tracking gate reads. Another extension's id is refused, because its
     `missing[]` is always the tracking engine's.
   - Every other extension (`whisper`, `local-tts`, `local-music`, `youtube-download`, `libi-export`) has no server
     and no self-test. Re-call the tool that returned `status: "needs_install"` (`libi.generate_music`,
     `libi.generate_speech`, `libi.analysis_transcribe_audio`, `libi.download_video`): that re-checks the same
     gate the install had to satisfy. For a dependency-by-dependency readout, re-run `libi.get_install_plan` and
     read its `dependencies`.

   When the check passes: `libi.update_dep_status({ mcpId, status: "installed" })`. Only `libi-tracking` runs an
   MCP server, so only it gets `libi.extension({ action: "restart", mcpId: "libi-tracking" })`. Then tell the user the
   extension is installed and ready.
5. **On failure**, `libi.update_dep_status({ mcpId, status: "failed", error })` with the last clear error and the
   failing command or step, then show the error verbatim and ask how to proceed. Do not retry silently: it may need
   the user (disk space, permissions, a network proxy).

## Repair

For "failed to install or run", "diagnose and repair", or a check that still fails after an install:

1. `libi.extension({ action: "diagnose", mcpId })` and read the snapshot (server status, last error, dependency states, env
   sanity). Know what is wrong before touching anything.
2. Fetch the plan (it has a recovery section), signal `installing`, and follow the recovery section exactly.
3. Run the same extension-specific check as install step 4. Passing: mark installed, restart `libi-tracking` if
   that is the one, and tell the user. Still failing: mark `failed`, surface the error verbatim, and ask.

## Consent and being stuck

When the plan says to ask before a large download (model weights over about 100 MB, say), ask, and keep the
disclosure the plan specifies. When stuck, state which step failed, show the error verbatim, and ask whether to
retry, skip or abort. Do not invent a fix the plan does not contain.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.