---
name: reinvent-explore
description: Answer questions about what is actually in the re:Invent catalog — "what's there on Kubernetes", "how many expert-level security sessions", "is there anything about SCPs" — using the local snapshot instead of scrolling the site. Use for open-ended catalog questions, or before a profile exists.
---

# Explore the catalog

For the questions that come before a shortlist: what exists, how much of it,
and is my thing in there at all.

## The three commands

> **Where to run these.** Every command below needs the planner repo on the
> Python path. If there is no `reinvent/` directory in the current working
> directory, you are not in it — resolve this skill's own base directory (printed
> when the skill loaded, and usually a symlink), then go two levels up: that is
> the repo root. `cd` there first, or call `<repo>/bin/reinvent <command>` by
> absolute path, which works from anywhere. Do not tell the user to install
> anything; there are no dependencies.

```bash
python3 -m reinvent stats                       # the shape of the whole catalog
python3 -m reinvent facets --facet topic        # what you can filter on
python3 -m reinvent search kubernetes --limit 15
```

`search` combines free text with facet filters. All terms must appear; facet
terms match case-insensitively as substrings, so `--topic security` finds
`Security & Identity`.

```bash
# expert-level security chalk talks
python3 -m reinvent search --topic security --level 400 --type "Chalk talk"

# anything mentioning service control policies
python3 -m reinvent search "service control policy"

# hands-on container content, no vendor pitches
python3 -m reinvent search --topic containers --type Workshop --no-sponsored

# summarize a slice instead of listing it
python3 -m reinvent search --topic "artificial intelligence" --facets
```

`--facets` is the one people forget and the most useful for "how much is there":
it prints the facet breakdown of the matches rather than 271 titles.

## Answering well

- **Give the number first.** "271 of 680 sessions are AI" reframes the question
  better than any list.
- **Then the slice that matters**, five to eight sessions, not fifty.
- **Then the honest gap.** If the catalog has nothing on their thing, say so and
  say why it might change: content lands in waves, so absence in August is not
  absence in November. Offer `reinvent-watch`.
- **Quote codes and titles exactly** from the snapshot. Never paraphrase a title
  into something more relevant-sounding than it is.

## Useful context when interpreting counts

Check these against the live `stats` output rather than trusting a number in
this file, but the shape of the catalog is worth knowing:

- The distribution is heavily skewed to 300-level and above. Someone looking for
  foundational content will find very little and should be told early.
- Interactive formats — chalk talks, workshops, builders' sessions — are the
  majority of entries but have small per-session capacity. High count does not
  mean easy to get into.
- One topic (AI, currently by a wide margin) dominates. If a user says "there's
  too much AI in here", they are reading the catalog correctly.

## Several questions at once

If the user asks three things about the catalog, run all three commands **in one
message**. They are independent local queries against a cached JSON file and each
returns in well under a second.

**Do not spawn subagents for catalog questions.** An agent adds a fresh context
and a round trip to wrap a command you could have just run, and it cannot see the
snapshot or profile state you already have loaded. Fan-out earns its keep only for
web research — see [`docs/parallel-research.md`](../../docs/parallel-research.md).

## When to hand off

Once the user is asking "so which ones should *I* go to", stop exploring:
that needs a profile. Route to `reinvent-profile`, then `reinvent-shortlist`.

If the snapshot is more than a week old, run `python3 -m reinvent sync` before
answering. Stale counts are worse than no counts, because they sound precise.
