upstash/context7 · warning

Review other skills from this repository carefully before in

Error message

Review other skills from this repository carefully before installing.

What it means

After successfully listing a repository's skills, the registry response includes blockedSkillsCount > 0 — skills removed from the listing because they matched prompt-injection patterns. The CLI prints an error stating N skill(s) were blocked and not shown, followed by this warning advising the user that the remaining skills from the same repository deserve extra scrutiny before install.

Source

Thrown at packages/cli/src/commands/skill.ts:327

    }

    if (!data.skills || data.skills.length === 0) {
      spinner.warn(pc.yellow(`No skills found in ${repo}`));
      return;
    }

    const skillsWithRepo = data.skills
      .map((s) => ({ ...s, project: repo }))
      .sort((a, b) => (b.installCount ?? 0) - (a.installCount ?? 0));

    spinner.succeed(`Found ${data.skills.length} skill(s)`);

    if (data.blockedSkillsCount && data.blockedSkillsCount > 0) {
      log.blank();
      log.error(
        `${data.blockedSkillsCount} skill(s) blocked due to prompt injection and not shown.`
      );
      log.warn("Review other skills from this repository carefully before installing.");
    }

    if (options.all || data.skills.length === 1) {
      selectedSkills = skillsWithRepo;
    } else {
      const indexWidth = data.skills.length.toString().length;
      const maxNameLen = Math.max(...data.skills.map((s) => s.name.length));
      const popularityColWidth = 13;
      const choices = skillsWithRepo.map((s, index) => {
        const indexStr = pc.dim(`${(index + 1).toString().padStart(indexWidth)}.`);
        const paddedName = s.name.padEnd(maxNameLen);
        const popularity = formatPopularity(s.installCount) + " ".repeat(popularityColWidth - 4);
        const trust = formatTrust(s.trustScore);

        const skillUrl = s.url || `https://github.com${s.project}`;
        const skillLink = terminalLink(s.name, skillUrl, pc.white);
        const repoLink = terminalLink(s.project, `https://github.com${s.project}`, pc.white);
        const metadataLines = [

View on GitHub (pinned to 5284672feb)

Solutions

  1. Read the source of each remaining skill on GitHub before installing anything from that repository.
  2. Prefer skills from maintainers you trust, or copy the skill content into your own repo and install from there.
  3. Report the repository to the registry maintainers if you confirm malicious content.
Defensive patterns

Strategy: validation

Validate before calling

if (typeof data.blockedSkillsCount === "number" && data.blockedSkillsCount > 0) {
  // treat this repo as elevated-risk: audit remaining skills before install
  console.warn(`${data.blockedSkillsCount} skills were hidden by the injection scanner.`);
}

Type guard

function repoHasBlockedSkills(data: {
  blockedSkillsCount?: number;
}): boolean {
  return (data.blockedSkillsCount ?? 0) > 0;
}

Prevention

When it happens

Trigger: Listing skills for a repository where at least one skill was filtered by server-side injection scanning; the command still succeeds and shows the unblocked skills, but this advisory is emitted right after the 'Found N skill(s)' success line.

Common situations: Community repositories with mixed quality where one malicious skill got the author flagged; users evaluating unfamiliar repos via `context7 skill add <repo>`.

Related errors


AI-assisted analysis of upstash/context7@5284672feb (2026-08-18). Data as JSON: /api/errors/08ee8342eb00e160. Report an issue: GitHub.