Skip to content
Back to skills

Context Hub Setup

ASecurity

Check the Serena and Context7 plugin prerequisites and report what is missing, with the install command for each. Use when you say `set up context hub`, `check my plugin prerequisites`, or `troubleshoot MCP connectivity`. Do NOT use to actually gather context for a task (use context-gather), and do NOT use to search memory (use memory-search).

  • 47 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aipythongobashfastapiapidocumentation

Works with

  • claude code
  • api
  • mcp

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add rjmurillo/ai-agents --skill context-hub-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Context Hub Setup?

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

Security grade badge for Context Hub Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rjmurillo-context-hub-setup/badge)](https://www.skillsdirectory.com/skills/rjmurillo-context-hub-setup)

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: context-hub-setup
version: 1.0.0
description: Check the Serena and Context7 plugin prerequisites and report what is missing, with the install command for each. Use when you say `set up context hub`, `check my plugin prerequisites`, or `troubleshoot MCP connectivity`. Do NOT use to actually gather context for a task (use context-gather), and do NOT use to search memory (use memory-search).
license: MIT
user-invocable: true
metadata:
  routing:
    role: explicit-only
    invoker: user
    trigger: a user asks to check Serena and Context7 plugin prerequisites
    user-facing: true
    rationale: Automatic routing would be noisy. It only diagnoses local plugin setup, which a user asks for on purpose. No issue names a future invoker.
---

# Context Hub Setup

Check the plugins the context skills depend on, and report what is missing.

Migrated from `.claude/commands/context-hub-setup.md` under ADR-064, which makes
skills the single user-invocable surface.

## Triggers

`set up context hub`, `check my plugin prerequisites`,
`troubleshoot MCP connectivity`, `what plugins am I missing`

## Prerequisites

Context Hub requires these plugins to be installed:

1. **Serena** - Symbol-level code analysis and the `.serena/memories/` store (required for `using-serena-symbols` and the memory skills)
2. **Context7** - Framework documentation (recommended for `/context-gather`)

## Process

### Step 1: Check Plugin Prerequisites

First, check if the required plugins are installed:

```bash
claude plugins list
```

Look for:

- `serena` or similar (for code analysis)
- `context7` or similar (for framework docs)

**If Serena is not installed:**

```text
To use Serena symbol analysis, install the Serena plugin:

  claude plugins install serena

Or search for it in the marketplace:

  claude plugins search serena
```

**If Context7 is not installed:**

```text
For framework documentation in /context-gather, install Context7:

  claude plugins install context7 --marketplace pleaseai/claude-code-plugins

Or search for it:

  claude plugins search context7
```

### Step 2: Verify Complete Setup

Report status of all components:

```text
Context Hub Setup Status:
-------------------------
Serena Plugin:  [Installed / Not installed - run: claude plugins install serena]
Context7 Plugin: [Installed / Not installed - run: claude plugins install context7 --marketplace pleaseai/claude-code-plugins]

Commands available:
- context-gather - Multi-source context retrieval
```

Memory search reads committed files rather than querying a server:

```bash
python3 "${COPILOT_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-.claude}}/skills/memory/scripts/search_memory.py" "topic"
```

It reads the markdown under `.serena/memories/`, so it works whether or not the
Serena MCP server is reachable. The plugin-root prefix resolves the script in a
vendored install, where a bare `.claude/` path does not exist.

### Step 3: Quick Test (Optional)

Offer to test the setup:

**Test Serena (if installed):**

```text
Ask Claude to use Serena's get_symbols_overview on a file in your project
```

**Test Context7 (if installed):**

```text
Ask about a framework: "How does FastAPI dependency injection work?"
```

## Troubleshooting

**Plugin issues:**

- Re-run: `claude plugins install <plugin-name>`
- Check marketplace: `claude plugins search <name>`

## Notes

- Serena and Context7 are plugins, not MCPs - install via `claude plugins install`
- Serena memories are committed markdown under `.serena/memories/`. They stay readable when the MCP layer is down.

## Completion Criteria

The Context Hub setup is **complete** when ALL of the following are true:

| Criterion | Verification |
|-----------|------------|
| Serena plugin status reported | Output shows "Installed" or explicit "Not installed" message |
| Context7 plugin status reported | Output shows "Installed" or explicit "Not installed" message |
| Setup status block printed | Step 2 status block has been emitted to the user |

### Stop Condition

After printing the Step 2 status block, the command is complete. Do not continue polling, re-checking, or offering additional tests unless the user explicitly requests a re-run with `/context-hub-setup` again.

If the user chooses to run the optional Step 3 quick tests, those are supplementary and do not affect completion status.

## Verification

- [ ] Serena plugin status reported as Installed or explicitly Not installed
- [ ] Context7 plugin status reported as Installed or explicitly Not installed
- [ ] The Step 2 status block was printed to the user
- [ ] Each missing plugin was reported with its exact install command
- [ ] Stopped after the status block rather than polling or re-checking

## Anti-Patterns

| Avoid | Why | Instead |
|-------|-----|---------|
| Reporting a missing plugin without its install command | The user has to go find the command, which is the whole job | Print the install line beside the status |
| Polling or re-checking after the status block | The stop condition is explicit; a re-check reads as progress and is noise | Stop once Step 2 has printed |
| Calling Serena or Context7 an MCP server | They install through the plugin command, so the wrong noun sends the user to the wrong fix | Say plugin, and give the plugin install command |
| Treating a missing Serena as a blocked memory search | Memory search reads committed markdown and works with the MCP layer down | Report the gap and note that memory search still works |

## Extension Points

- **A third prerequisite.** Add a Step 1 check and a Step 2 status row together,
  so a plugin cannot be checked without being reported.
- **Other harnesses.** The install commands are Claude Code's. A harness with a
  different plugin manager changes those lines and nothing else.

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…