PluginBench
Skill
Review
Audit score 70

ima-copilot

daymade/claude-code-skills

Install, diagnose, repair, and personalize Tencent IMA skill with fan-out search and priority boosting.

What is ima-copilot?

IMA Copilot is a wrapper layer for the official Tencent IMA skill that handles installation across multiple agents, API key setup, diagnosis and repair of known upstream issues, and intelligent fan-out search across knowledge bases. Use it when installing IMA, configuring credentials, encountering SKILL.md loading errors, or performing cross-knowledge-base searches.

  • Installs upstream ima-skill to Claude Code, Codex, and OpenClaw in a single command
  • Walks through API key setup with live validation against the IMA OpenAPI
  • Detects and repairs known upstream issues (e.g., missing YAML frontmatter) with explicit user consent
  • Provides fan-out search across IMA knowledge bases with priority boosting and awareness of per-KB result limits
  • Diagnoses installation and configuration problems without modifying files until user approval

How to install ima-copilot

npx skills add https://github.com/daymade/claude-code-skills --skill ima-copilot
Prerequisites
  • Node.js and npm (for npx skills add)
  • Access to https://ima.qq.com/agent-interface to create Client ID and API Key
  • At least one of: Claude Code, Codex, or OpenClaw installed
  • Bash shell for running diagnostic and installation scripts
Claude Code
Cursor
Windsurf
Cline

How to use ima-copilot

  1. 1.Run `bash scripts/install_ima_skill.sh` to download and install the latest upstream ima-skill across detected agents
  2. 2.Create a Client ID and API Key at https://ima.qq.com/agent-interface
  3. 3.Store credentials in ~/.config/ima/client_id and ~/.config/ima/api_key (mode 600) or set IMA_OPENAPI_CLIENTID and IMA_OPENAPI_APIKEY environment variables
  4. 4.Run `bash scripts/diagnose.sh` to detect any installation or configuration issues
  5. 5.Review the diagnostic report against references/known_issues.md and approve any needed repairs
  6. 6.Use the fan-out search capability by mentioning knowledge base searches; the skill will coordinate across all configured KBs with priority boosting

Use cases

Good for
  • Installing IMA skill across multiple coding agents for the first time
  • Setting up and validating IMA API credentials (Client ID and API Key)
  • Fixing 'Skipped loading skill(s) due to invalid SKILL.md' errors in notes and knowledge-base modules
  • Searching across multiple knowledge bases simultaneously while respecting configured priorities
  • Troubleshooting IMA integration issues and understanding what repairs are needed
Who it's for
  • Developers using Claude Code, Codex, or OpenClaw with Tencent IMA integration
  • Teams managing IMA knowledge bases and notes across multiple agents
  • Users encountering upstream ima-skill bugs or installation failures
  • Anyone needing cross-knowledge-base search with priority-aware result ranking

ima-copilot FAQ

What is the difference between IMA Copilot and ima-skill?

IMA Copilot is a wrapper layer that installs, configures, diagnoses, and repairs the official Tencent ima-skill. It does not fork or vendor ima-skill; instead, it provides installation automation, API key setup, bug detection, and intelligent search across knowledge bases.

Will IMA Copilot interfere with upstream ima-skill updates?

No. IMA Copilot never vendors or copies upstream files. When ima-skill ships a new release, users get the new version without interference. Repairs are applied at runtime and are idempotent, so they re-detect and re-fix issues after upstream updates if needed.

What happens if I don't have all three agents (Claude Code, Codex, OpenClaw) installed?

The installer auto-detects which agents are present and installs only to those. Agents that are not installed are skipped silently. If multiple agents are present, the first detected agent becomes the canonical copy and others are symlinked to it, so repairs propagate automatically.

How are API credentials stored and accessed?

Credentials are stored in XDG-style config files (~/.config/ima/client_id and ~/.config/ima/api_key) with mode 600 for security. Environment variables IMA_OPENAPI_CLIENTID and IMA_OPENAPI_APIKEY act as fall-back overrides and are checked first.

What does the fan-out search do?

Fan-out search coordinates queries across multiple IMA knowledge bases simultaneously, respects user-configured knowledge base priorities and boosts, and is aware of the 100-result-per-KB truncation limit to deliver comprehensive results.

Full instructions (SKILL.md)

Source of truth, from daymade/claude-code-skills.


name: ima-copilot description: >- Installs, diagnoses, repairs, and personalizes the official Tencent IMA skill (a wrapper around upstream ima-skill, not a replacement), including fan-out search across IMA knowledge bases with priority boosting. Use when the user mentions IMA / 腾讯 IMA / ima-skill, needs IMA API key setup, 知识库搜索 / 笔记搜索, or hits "Skipped loading skill(s) due to invalid SKILL.md" (ima-skill's missing-YAML-frontmatter bug).

IMA Copilot

One-command installer, troubleshooter, and personalization layer for the official Tencent IMA skill.

Overview

The official Tencent IMA skill (ima-skill) exposes a powerful OpenAPI for notes and knowledge base operations, but its installation flow is designed for a specific proprietary agent and recent releases have shipped submodule files that fail strict SKILL.md loaders. IMA Copilot solves both problems:

  1. Installs ima-skill to Claude Code, Codex, and OpenClaw in a single command via the vercel-labs/skills open installer.
  2. Walks the user through API key setup with a live validation call.
  3. Detects known upstream issues and — with explicit user consent — fixes them in place, without ever forking, vendoring, or mirroring any part of the upstream package.
  4. Provides a fan-out search strategy that respects user-configured knowledge base priorities and boosts, with awareness of the 100-result per-KB truncation limit.

Architectural principles (do not violate)

This skill is a wrapper layer around ima-skill. The wrapper contract is non-negotiable:

  • Never vendor upstream files. This skill directory does not contain any copy, fork, or excerpt of ima-skill's own content. When ima-skill ships a new release, users get the new release without any interference from this wrapper.
  • Repairs happen at runtime, not at ship time. If an upstream bug needs patching, this skill carries the instructions for how to patch, not the patched files. Running a repair is idempotent: rerunning after an upstream update re-detects and re-fixes anything that came back.
  • Always ask before touching upstream files. Modifying ~/.claude/skills/ima-skill/**, ~/.agents/skills/ima-skill/**, or any other upstream install directory requires explicit user consent via AskUserQuestion. No silent patching.
  • Teach rather than hide. When a fix is applied, show the user exactly what changed and where the backup was saved. This is how users learn to maintain their own installs.

What this skill does

CapabilityEntry pointDetail
1. Install upstream ima-skill to 3 agentsscripts/install_ima_skill.shSee references/installation_flow.md
2. Configure API credentials (XDG style)Inline workflow belowSee references/api_key_setup.md
3. Diagnose and fix known upstream issuesscripts/diagnose.sh + workflow belowSee references/known_issues.md
4. Fan-out search with priority boostingscripts/search_fanout.pySee references/search_best_practices.md

Routing

When this skill is triggered, classify the user's intent and jump to the corresponding capability:

User says something like…Go to
"装 ima"、"install ima-skill"、"把 ima 装一下"、"我想用 ima"Capability 1
"配 ima 的 key"、"configure ima credentials"、"ima API key"Capability 2
"ima 报错"、"SKILL.md warning"、"frontmatter 错误"、"ima 加载失败"Capability 3
"搜 X"、"在 ima 里搜 X"、"跨知识库搜索"、"扇出搜 X"Capability 4
"帮我从头跑一遍 ima"1 → 2 → 3 → 4 in sequence

When in doubt, start with Capability 3 (diagnose) — it surfaces exactly which capabilities are blocked and in what order.

Capability 1: Install upstream ima-skill

The installer downloads the latest official release from https://app-dl.ima.qq.com/skills/, stages it in a temp directory, and hands off to npx skills add <local-path> to distribute it across Claude Code, Codex, and OpenClaw.

To run it:

bash scripts/install_ima_skill.sh

The script auto-detects which of the three target agents are installed on the user's machine. For agents that are not present, it skips silently rather than installing anywhere the user hasn't opted in. For agents that are present, it installs globally (-g) in vercel skills' default symlink mode: the first detected agent's directory becomes the canonical copy, and the remaining agents are symlinked to it. This means a repair or an upgrade applied once propagates automatically to every agent — diagnose.sh detects this sharing and dedupes its reports so you don't see the same issue multiple times.

For a version override, detection logic, troubleshooting, and the full file-by-file layout produced by the installer, read references/installation_flow.md.

Capability 2: Configure API credentials

Credentials are stored in XDG style, decoupled from any agent's skill directory:

  • ~/.config/ima/client_id (mode 600)
  • ~/.config/ima/api_key (mode 600)
  • ~/.config/ima/ (mode 700)

Environment variables IMA_OPENAPI_CLIENTID and IMA_OPENAPI_APIKEY act as fall-back overrides — the wrapper reads the environment first, then the config file.

Step through the setup with the user:

  1. Open https://ima.qq.com/agent-interface and create a new Client ID and API Key.
  2. Write both values into the XDG config path (or export the environment variables).
  3. Make a single liveness call against https://ima.qq.com/openapi/wiki/v1/search_knowledge_base with {"query": "", "cursor": "", "limit": 1} to confirm the credentials are accepted — a code: 0, msg: success response means ready.

The full script and the exact request/response schema lives in references/api_key_setup.md.

Capability 3: Diagnose and fix known issues

This is the reason this skill exists. The upstream package has real bugs that break loading on certain agents, and the fixes are well-understood but need user consent to apply. The diagnose/repair workflow is the core contract of this skill.

Step 1 — Run the read-only diagnosis

bash scripts/diagnose.sh

diagnose.sh never modifies any file. It prints a structured report with one line per check:

✅ upstream ima-skill installed (claude-code)
✅ upstream ima-skill installed (codex)
❌ upstream ima-skill NOT installed (openclaw)
✅ API credentials valid (search_knowledge_base returned 12 KBs)
⚠️ ISSUE-001: notes/SKILL.md missing YAML frontmatter (claude-code)
⚠️ ISSUE-001: knowledge-base/SKILL.md missing YAML frontmatter (claude-code)
⚠️ ISSUE-001: notes/SKILL.md missing YAML frontmatter (codex)
⚠️ ISSUE-001: knowledge-base/SKILL.md missing YAML frontmatter (codex)

Step 2 — Parse the report and ask the user

For each ⚠️ or ❌ line, look up the issue in references/known_issues.md. That file is the source of truth for:

  • What the issue is (symptom, root cause)
  • Which repair strategies exist (A, B, skip)
  • The exact shell commands for each strategy
  • What files each strategy touches
  • Why the upstream maintainer probably hasn't fixed it yet

Step 3 — Ask for explicit consent before touching upstream files

Use AskUserQuestion for every issue that has more than one repair strategy. Frame it plainly — the user may not know what "YAML frontmatter" means. Describe what the bug does to them in user terms ("loader skips two files silently, so note-search and knowledge-base-search don't actually work"), then describe each strategy in terms of the outcome, not the mechanism.

Never offer a single "just fix it" option when multiple strategies exist. The user's pick may legitimately differ based on factors the skill cannot observe — e.g., they might prefer Strategy B (minimal diff) if they plan to manually compare with upstream.

Step 4 — Execute the chosen strategy

Every repair command in references/known_issues.md is written to be:

  • Idempotent — rerunning after the fix is already applied does nothing harmful and prints a clear "already fixed" message.
  • Backed up — the repair copies the original file to /tmp/ima-copilot-backups/<timestamp>/<relative-path> before modifying anything, then tells the user the backup location.
  • Reversible — the user can restore from the backup with a single cp command shown at the end.

Step 5 — Re-run diagnose to confirm

After the repair, run diagnose.sh a second time and show the user the diff. The issue should flip from ⚠️ to ✅. If it does not, stop and surface the raw before/after to the user instead of silently retrying — unexpected failures here usually mean upstream shipped an unforeseen change.

An important note about upstream updates

Every repair is temporary in the sense that ima-skill upgrades replace everything. This is by design: the skill does not fight upstream for persistent state. When the user upgrades ima-skill via Capability 1, Step 4 of diagnose will again flag the fixed issue, and the user can rerun the repair. This is a feature, not a bug — if upstream eventually fixes the issue, the repair becomes unnecessary and diagnose.sh will report ✅ with no prompt.

Capability 4: Personalized fan-out search

IMA's OpenAPI has three hard constraints that any serious search workflow must account for:

  1. No cross-knowledge-base endpoint. search_knowledge requires a single knowledge_base_id per call. Cross-KB search is a client-side fan-out, not an API feature.
  2. No relevance score in results. info_list items only carry media_id, title, parent_folder_id, and highlight_content. Any ranking beyond insertion order must happen on the client.
  3. Silent 100-result truncation. search_knowledge returns at most 100 hits per KB with no is_end or next_cursor field in the response. High-frequency queries are silently capped.

scripts/search_fanout.py implements the full workaround:

python3 scripts/search_fanout.py "<query>"

The script reads ~/.config/ima/copilot.json for personalization (priority KBs, skip list, strategy), calls search_knowledge_base to enumerate KBs, fans out search_knowledge calls in parallel, detects truncation by exact-100 length match, and renders results grouped by KB with priority groups at the top.

The personalization file is per-user and private. This skill ships only a template — see config-template/copilot.json.example. A user with no config file gets a neutral default: fan out all accessible KBs, sort groups by hit count, no boosting.

For the full algorithm, truncation handling strategy, rendering format, and a walkthrough of the evidence-based decision to allow a "subset KB skip" (e.g., a curated KB that is a strict subset of a master KB can be safely skipped to reduce duplicate hits), read references/search_best_practices.md.

What this skill refuses to do

  • Never vendor upstream content. This directory does not contain and will never contain a copy of ima-skill/SKILL.md, ima-skill/notes/**, ima-skill/knowledge-base/**, or any other upstream file. Anyone adding such files to this skill should be rejected.
  • Never pin an upstream version in SKILL.md. The installer script carries a default version for fallback purposes, but SKILL.md itself is version-agnostic to survive upstream releases without requiring a skill bump.
  • Never silently patch upstream files. Every modification path requires an explicit AskUserQuestion and the user's active choice.
  • Never hardcode a user's knowledge base names. The priority_kbs and skip_kbs fields in copilot.json are 100% user-configured. Example values in config-template/copilot.json.example are illustrative only.
  • Never skip the backup step when executing a repair, no matter how trivial the diff.

File layout

ima-copilot/
├── SKILL.md                         # This file — entry and routing
├── scripts/
│   ├── install_ima_skill.sh         # Download → stage → npx skills add to 3 agents
│   ├── diagnose.sh                  # Read-only health report
│   └── search_fanout.py             # Fan-out search with priority grouping
├── references/
│   ├── installation_flow.md         # Capability 1 deep dive
│   ├── api_key_setup.md             # Capability 2 deep dive
│   ├── known_issues.md              # Issue registry — source of truth for repairs
│   └── search_best_practices.md     # Capability 4 deep dive
└── config-template/
    └── copilot.json.example         # Template for ~/.config/ima/copilot.json

Related skills

More from daymade/claude-code-skills and the wider catalog.

LLllm-icon-finder logo

llm-icon-finder

daymade/claude-code-skills

Finding and accessing AI/LLM model brand icons from lobe-icons library. Use when users need icon URLs, want to download brand logos for AI models/providers/applications (Claude, GPT, Gemini, etc.), or request icons in SVG/PNG/WEBP formats.

612 installs
MAmacos-cleaner logo

macos-cleaner

daymade/claude-code-skills

Diagnose and safely reclaim macOS disk space from caches, logs, Docker, and duplicates.

1.7k installs
MEmeeting-minutes-taker logo

meeting-minutes-taker

daymade/claude-code-skills

Transform raw meeting transcripts into structured, evidence-based meeting minutes with speaker identification and multi-version merging.

1.4k installs
MEmermaid-tools logo

mermaid-tools

daymade/claude-code-skills

Extract Mermaid diagrams from markdown and generate high-quality PNG images automatically.

1.4k installs
PDpdf-creator logo

pdf-creator

daymade/claude-code-skills

Convert markdown files to professional PDF documents with proper Chinese font support, theme system, and visual self-check. Use whenever the user asks to create PDFs, convert markdown to PDF, generate printable documents, or needs documents formatted for print or mobile reading. This skill MUST be used instead of manual pandoc/Chrome invocations — it handles CJK typography, Chrome header/footer suppression, and mandatory visual verification that manual approaches miss. **Scope — markdown → PDF only.** For Word (.docx) output use `minimax-docx`; this skill does not produce docx and the two pipelines are intentionally orthogonal.

627 installs
PPppt-creator logo

ppt-creator

daymade/claude-code-skills

Deprecated PPT creation skill—use deck-creator instead.

1.9k installs