Skip to content
Back to skills

Ramp

ASecurity

Area-scoped deep-dive briefing for context-switching into a JellyRock subsystem. Loads the scoped CLAUDE.md, the matching architecture topic doc, area-relevant tech-debt slugs, recent commits scoped to the area, and skills/agents that mention the area. Use when switching into `components`, `components/video`, `components/data`, `source`, `source/api`, `source/utils`, `tests`, `locale`, or `scripts` after >2 weeks not touching it, or when a sub-agent needs scoped briefing before research. Comp...

  • 45 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 20, 2026
toolsbashnodegitapi

Works with

  • api

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add jellyrock/jellyrock --skill ramp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ramp?

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

Security grade badge for Ramp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jellyrock-ramp/badge)](https://www.skillsdirectory.com/skills/jellyrock-ramp)

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: ramp
description: Area-scoped deep-dive briefing for context-switching into a JellyRock subsystem. Loads the scoped CLAUDE.md, the matching architecture topic doc, area-relevant tech-debt slugs, recent commits scoped to the area, and skills/agents that mention the area. Use when switching into `components`, `components/video`, `components/data`, `source`, `source/api`, `source/utils`, `tests`, `locale`, or `scripts` after >2 weeks not touching it, or when a sub-agent needs scoped briefing before research. Complements /catchup (which is global).
model: sonnet
effort: low
---

# /ramp `<area>` — area-scoped deep-dive briefing

Mandated by the JellyRock onboarding discipline for area-switches >2 weeks. Complements `/catchup` (global) by zooming into a specific subsystem's rules, recent commits, and tech-debt.

## Inputs

`$ARGUMENTS`: area name. Recognized areas (auto-loaded scoped CLAUDE.md tree): `components`, `components/video`, `components/data`, `source`, `source/api`, `source/utils`, `tests`, `locale`, `scripts`.

If `$ARGUMENTS` is empty, list the recognized areas and ask which one. If it's not in the list, treat as cross-cutting and tell the user to use `/catchup` instead (or pick the closest matching area).

## Step 1 — Load state via the aggregator + targeted reads

State for the briefing comes from two sources:

1. **Single aggregator call** — `scripts/catchup-state.js` with `--area=<area>` returns JSON with PRs/issues filtered by the area→keyword map (mirrors the map below), plus the full signals watchlist, recent decisions, tech-debt severity counts and pending handoffs:

   ```bash
   node scripts/catchup-state.js --area=<area> --pretty
   ```

2. **Targeted file reads** for area-specific content the aggregator doesn't carry (file-content data, not state):

   ```bash
   # Recent activity — the last 10 commits in the area
   git log --oneline -10 -- <area>

   # Scoped rules (auto-load convention) — full content
   cat <area>/CLAUDE.md 2>/dev/null

   # Area-matching architecture topic doc(s) — find then Read
   grep -lE "^  - <area>" docs/architecture/*.md

   # Area-relevant tech-debt slugs (substring match on the area keyword)
   grep -B1 -A4 "^#### " docs/architecture/tech-debt.md | grep -i -B1 -A4 "<keyword>"

   # Skills / agents that mention this area
   grep -l "<area>" .claude/skills/*/SKILL.md .claude/agents/*.md 2>/dev/null

   # Pending handoffs whose content mentions an area keyword
   grep -l "<keyword>" .claude/handoffs/*.md 2>/dev/null | head -5
   ```

Substitute `<area>` and a sensible search keyword. Area → keyword map (mirrors `scripts/catchup-state.js` `AREA_KEYWORDS`; if these drift, re-sync to the aggregator):

| Area | Keywords |
|---|---|
| `components/video` | `video\|playback\|player\|osd\|trickplay\|transcode` |
| `components/data` | `scenemanager\|ContentNode\|library` |
| `components` | `component\|scene\|focus\|navigation` |
| `source/api` | `api\|jellyfin\|task\|http\|auth` |
| `source/utils` | `util\|helper\|registry\|config` |
| `source` | `migration\|bootstrap\|main` |
| `tests` | `test\|rooibos\|spec` |
| `locale` | `translation\|locale\|i18n\|en_US` |
| `scripts` | `bsc\|plugin\|lint\|generate` |

## Step 2 — Compose the briefing

Output a single structured markdown briefing optimized for both human + sub-agent ingestion. Pure file refs, no decorative chrome:

```markdown
# Ramp briefing: <area>

## Scoped rules (auto-loaded when working in `<area>/`)

<full text of <area>/CLAUDE.md, or note "no scoped CLAUDE.md exists yet">

## Architecture topic doc

<topic-name>: [`docs/architecture/<topic>.md`](docs/architecture/<topic>.md) — last-reviewed YYYY-MM-DD
<one-paragraph summary from the doc's "How [subsystem] works" or equivalent intro section>

(If multiple topic docs match the area: list each.)

## Active tech debt for this area

- [`<slug>`](docs/architecture/tech-debt.md#<slug>) — <one-line summary>
- ...

## Recent activity (last 10 commits in `<area>/`)

<git log --oneline output>

## Open issues / PRs touching this area

- Issues: #N — <title>; ...
- PRs: #N — <title> by @author; ...

## Related skills + agents

- [`/<skill>`](../.claude/skills/<skill>/SKILL.md) — <one-line description>
- [`<agent>`](../.claude/agents/<agent>.md) — <one-line description>

## Pending handoffs touching this area

- `<path>` — <skill>, <relative-time>
- (or "(none)")

## Suggested entry points

<2-3 concrete files to read first based on the type of work likely needed —
the architecture doc's `related-files:` is the strongest hint for this>
```

Section collapses to "(none)" when empty so the shape stays consistent.

## Step 3 — Hand-off

If the briefing surfaces something action-shaped (an open issue with traction, a tech-debt slug the user just touched), name the right next-skill in a closing line: `/issue-triage <N>`, `/tech-debt-scan` (when finishing a feature in this area), `/runtime-triage` (when a recent crash log is handy).

This is a READ-ONLY skill. Don't apply edits — surface and summarize only.

## When NOT to use

- Starting a fresh session → use `/catchup` first; `/ramp` is for *area-switches within* a session.
- The area isn't in the recognized list → ask the user, or treat as cross-cutting and use `/catchup`.
- Specific question that doesn't need a full ramp → answer directly.

## Sub-agent invocation

To invoke from a sub-agent: parent passes `Read .claude/skills/ramp/SKILL.md and follow the steps for $ARGUMENTS=<area>; report the briefing` in the Task prompt. Sub-agents should treat the briefing as authoritative for that area's rules + recent state.

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…