Skip to content
Back to skills

Update Ravenclaude

ASecurity

Bring a RavenClaude install up to date when it's stale, when new skills/agents aren't showing, or after upstream changes ship. Covers both hosts: under GitHub Copilot CLI the update is `git pull` in the marketplace clone then re-running `ravenclaude setup` (idempotent); under Claude Code it's `/plugin marketplace update ravenclaude` then `/reload-plugins`. Read this skill on triggers like 'update ravenclaude', 'ravenclaude is stale', 'refresh skills', or 'new skills not showing'.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
ai-agentsshellbashgit

Works with

  • claude code
  • terminal
  • cli
  • mcp

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add mcorbett51090/RavenClaude --skill update-ravenclaude --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Update Ravenclaude?

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

Security grade badge for Update Ravenclaude
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-update-ravenclaude/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-update-ravenclaude)

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: update-ravenclaude
description: "Bring a RavenClaude install up to date when it's stale, when new skills/agents aren't showing, or after upstream changes ship. Covers both hosts: under GitHub Copilot CLI the update is `git pull` in the marketplace clone then re-running `ravenclaude setup` (idempotent); under Claude Code it's `/plugin marketplace update ravenclaude` then `/reload-plugins`. Read this skill on triggers like 'update ravenclaude', 'ravenclaude is stale', 'refresh skills', or 'new skills not showing'."
---

# Skill: update-ravenclaude

This skill is the canonical reference for **how to refresh a RavenClaude install** so that newly shipped skills, agents, hooks, and posture changes take effect. The mechanics differ by host (GitHub Copilot CLI vs. Claude Code), so the skill covers both.

## When to use it

Reach for this skill on any of these signals:

- "update ravenclaude" / "bring ravenclaude up to date"
- "ravenclaude is stale" / "my version is behind"
- "refresh skills" / "reload skills"
- "new skills aren't showing" / "I don't see the agent/skill that was just added"
- after you know upstream shipped a change (a new plugin version, a new skill, a hook fix) and you want it locally

## Path B — GitHub Copilot CLI (the `git pull` + re-wire flow)

The Copilot bridge loads everything **live from your marketplace clone** — skills (`.claude/skills`), hooks (`.github/hooks`), MCP config, and the `rc` alias are all read live from disk. So an update is two steps:

```shell
# 1. Pull latest upstream changes into the marketplace clone
cd ~/RavenClaude && git pull

# 2. Re-wire skills, hooks, and posture into the current project
bash ~/RavenClaude/scripts/ravenclaude setup --project . [--with-plugin <name>]
```

Notes:

- **`--with-plugin <name>`** (e.g. `--with-plugin power-platform`) should be included **only if that plugin was part of your original setup**. A base, core-only update omits it.
- **`ravenclaude setup` is idempotent** — safe to re-run at any time. It re-wires the live surfaces and never clobbers an existing `.ravenclaude/comfort-posture.yaml`.
- `ravenclaude update` (a bare `git pull` + regenerate, no project re-wire) is the lighter form when you only need fresh marketplace content and don't need the current project re-wired.

### When the pull stalls on local changes (the common Copilot stall)

The marketplace clone is **both** the git checkout you pull into **and** the live runtime surface
Copilot reads from — so two tracked files get written by normal use and then block `git pull`:

| File | Written by | Upstream also edits it? |
|---|---|---|
| `.ravenclaude/comfort-posture.yaml` | you, `/set-posture`, the dashboard | yes |
| `.claude/settings.json` | `apply-comfort-posture.py` at session start | yes |

`git pull --ff-only` refuses to overwrite them, so the update stops before it starts. Resolve it
**before** re-running the update — do not let the session guess:

```shell
# See exactly what is dirty
git -C ~/RavenClaude status --porcelain --untracked-files=no

# Keep local tuning (robust — survives upstream editing the same file)
git -C ~/RavenClaude switch -c local-posture
git -C ~/RavenClaude commit -am 'local posture tuning'
git -C ~/RavenClaude switch main && git -C ~/RavenClaude pull --ff-only

# Discard a formatting-only diff (e.g. a stray space before a SKILL.md `---`)
git -C ~/RavenClaude checkout -- <path>
```

`git stash push … && git pull && git stash pop` is the quicker form, but it **conflicts whenever
upstream edited the same file** — which is exactly the posture/settings case above. Prefer the
branch. Untracked files (a staged contribution under `docs/staging/incoming/`) never block a pull;
leave them alone.

`ravenclaude update` reports the real git error and the dirty file list when this happens, and says
**"NOT up to date"** rather than a green "up to date" — it still re-materializes skills/hooks from
the unchanged checkout, so a stalled pull leaves you running the *old* content.

**It also exits non-zero**, so the signal survives for anything that reads an exit code rather than
the terminal — the dashboard's Update button derives its success flag from exactly that. Two
deliberate boundaries:

- **Only an attempted-and-failed pull is non-zero.** A `$MARKET` that is not a git checkout exits
  **0**: nothing was attempted, and the re-materialize genuinely succeeded.
- **Chain with `;`, not `&&`.** The `rc` function and the suggested alias both use `;` for this
  reason — the commonest cause of a failed pull is your own posture tuning, and `&&` would turn that
  into "Copilot will not start". A stale checkout is still a working checkout.

## Path A — Claude Code (the marketplace-update flow)

Claude Code caches installed plugins, so the refresh is a marketplace update followed by a reload:

```text
/plugin marketplace update ravenclaude
/reload-plugins
```

- Run `/reload-skills` as well if a **skill** specifically isn't showing after the reload.
- If the cache is genuinely broken (tool lockout, "decision helper missing"), escalate to `/reset-plugin-cache` (alias `/ragnarok`) — read its command doc first; it's high-blast-radius and dry-run by default.

## Why the two hosts differ

| Host | Loads plugin content… | Update is… |
|---|---|---|
| GitHub Copilot CLI | **live from the clone on disk** | `git pull` + `ravenclaude setup` (idempotent) |
| Claude Code | from a **cached copy** | `/plugin marketplace update` + `/reload-plugins` |

This is why a Copilot update is "just `git pull`" (the design pillar of the bridge — no re-install ever) while a Claude Code update has to invalidate and reload the cache.

## See also

- `GETTING_STARTED.md` § "Updating RavenClaude (Copilot CLI)" — the consumer-facing copy of the Copilot flow.
- `scripts/ravenclaude` — the `setup` / `install` / `update` / `status` subcommands.
- `commands/reset-plugin-cache.md` — the disaster-recovery reset for a broken Claude Code cache.

## Related: plugin lifecycle

Routine refresh is marketplace update + `/reload-plugins` (this skill). Per-project last-used tracking / deprecate notices live under comfort-posture `plugin_lifecycle:` — see `knowledge/concepts/plugin-lifecycle.md`. Do **not** use `/reset-plugin-cache` (/ragnarok) for routine cleanup or install.

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…