claude-code-setup-opslisted
Install: claude install-skill hellokianben-collab/vishal-agarwal-context
# Claude Code setup ops
The recurring failure this prevents: something gets installed, appears to work in the folder it was
installed from, and then silently does not exist anywhere else. It has happened with an MCP server,
with skills, and with plugins.
**The one rule: everything installs at user scope. Always. And say so out loud when you do it.**
---
## 1. Decide what kind of thing it is
| You were given | It is a | Install with |
|---|---|---|
| `claude mcp add …` / an HTTP URL ending `/mcp` | **MCP server** | `claude mcp add … -s user` |
| `npx skills add owner/repo` | **skill bundle** | `npx skills add …` then verify path |
| A GitHub repo URL with `SKILL.md` at root | **single skill** | clone into `~/.claude/skills/<name>` |
| A GitHub repo with `.claude-plugin/` or a marketplace manifest | **plugin** | add marketplace, then enable |
| `--header "x-api-key: …"` in the command | MCP **with a key** | never commit the key; see §5 |
If it is ambiguous, look at the repo root before running anything:
```bash
curl -s https://api.github.com/repos/<owner>/<repo>/contents/ | grep '"name"'
```
## 2. MCP servers — scope is the whole game
```bash
# correct
claude mcp add --transport http <name> <url> -s user
# with a header (key comes from the user, never hardcoded in a repo)
claude mcp add --transport http <name> <url> --header "x-api-key: $KEY" -s user
# stdio server
claude mcp add <name> -s user -- npx -y <package>
```
**Fixing one that was installed local:**
```bas