---
name: Catalog Babysitter Users
slug: catalog-babysitter-users
category: Automation
description: Queries GitHub code search to find public repositories importing the Babysitter SDK, deduplicates and enriches results, and maintains an up-to-date Markdown catalog of adopters.
github: "https://github.com/a5c-ai/babysitter/tree/main/.claude/skills/catalog-babysitter-users"
language: JavaScript
stars: 1600
forks: 94
install: "git clone https://github.com/a5c-ai/babysitter"
added: 2026-07-20T06:48:22.965Z
last_synced: 2026-07-29T06:36:56.429Z
canonical_url: "https://dirskills.com/skills/catalog-babysitter-users"
---

# Catalog Babysitter Users

Queries GitHub code search to find public repositories importing the Babysitter SDK, deduplicates and enriches results, and maintains an up-to-date Markdown catalog of adopters.

**Install:** `git clone https://github.com/a5c-ai/babysitter`

## README

# Catalog Babysitter Users

Produce a curated, deduplicated catalog of public GitHub repositories that import `defineTask` from `@a5c-ai/babysitter-sdk`, stored at `docs/repo-with-babysitter-processes.md`. Refresh the catalog in-place when re-run; do not delete entries that no longer match (mark them as "last seen" instead, so the catalog is additive over time).

## When to use

- User asks "who's using babysitter in the wild?", "find repos with babysitter processes", "refresh the catalog", "update the babysitter-users list".
- After a release, to see whether new adopters have appeared.
- Before a retrospective across external runs (see the sibling skill `retrospect-external-babysitter-run`).

## Prerequisites

- `gh` CLI installed and authenticated (`gh auth status` must be OK). GitHub code search requires an authenticated user.
- Writable working tree (the catalog file gets updated).

## Exact search

Search the literal import statement across public code:

```bash
gh search code \
  "import { defineTask } from '@a5c-ai/babysitter-sdk'" \
  --json repository,path,url \
  --limit 200
```

Also run the double-quote variant to catch formatter differences:

```bash
gh search code \
  'import { defineTask } from "@a5c-ai/babysitter-sdk"' \
  --json repository,path,url \
  --limit 200
```

Union the two result sets. If the CLI caps out at 100 per query, paginate by adding `language:javascript`, `language:typescript`, and `extension:js`, `extension:ts` qualifiers to split the search space.

## Filtering rules (apply in order)

1. Drop any hit whose `repository.name` (case-insensitive) equals `babysitter`. This excludes forks of this monorepo.
2. Drop any hit whose `repository.nameWithOwner` starts with `a5c-ai/` -- those are first-party and already known.
3. Drop archived repos (`repository.isArchived === true`). Enrich via `gh api repos/<owner>/<name>` if the search JSON lacks it.
4. Dedupe by `repository.nameWithOwner` -- one entry per repo, even if multiple files match. Keep the count of matching files as evidence.
5. Drop private-visible-as-public fluke hits (repository.visibility !== 'public').

## Enrichment per surviving repo

For each repo, fetch:

```bash
gh api repos/<owner>/<name> \
  --jq '{nameWithOwner, description, stargazerCount: .stargazers_count, pushedAt: .pushed_at, defaultBranch: .default_branch, license: .license.spdx_id, topics}'
```

Also record:

- `processFiles`: the list of matching file paths from the search (cap at 10 per repo in the catalog; note total count if higher).
- `firstSeen`: if the repo is new to the catalog, today's date (ISO). If already present, preserve the existing value.
- `lastSeen`: today's date (ISO) for every repo that matched this run.

## Catalog file format

Maintain `docs/repo-with-babysitter-processes.md` as an additive, idempotent document. Structure:

```markdown
# Repositories Using Babysitter

<!-- Generated by .claude/skills/catalog-babysitter-users. Re-run the skill to refresh. -->

Last refreshed: YYYY-MM-DD
Total repos tracked: N
New this run: M
No longer matching: K

## Active

| Repository | Stars | Description | License | Pushed | Process files | First seen | Last seen |
|------------|-------|-------------|---------|--------|---------------|------------|-----------|
| [owner/name](https://github.com/owner/name) | 123 | ... | MIT | 2026-04-01 | 3 | 2026-03-15 | 2026-04-12 |

### owner/name

- Default branch: `main`
- Topics: `a5c`, `orchestration`
- Matching files:
  - [`src/processes/build.js`](https://github.com/owner/name/blob/main/src/processes/build.js)
  - ...

## Stale (no longer matching at last refresh)

| Repository | Last seen | Notes |
|------------|-----------|-------|
| ... | ... | Import removed / repo archived / ... |
```

Rules when updating:

- Preserve every existing entry's `firstSeen`.
- Move a repo from Active to Stale only if it didn't match this run AND was Active last run. Include the reason if derivable (archived, 404, import removed).
- Never delete a Stale entry; only update its `lastSeen` note if the situation changes (e.g. re-matched -> move back to Active).
- Sort Active rows by stars descending, then by `pushedAt` descending.
- Keep the summary counters at the top accurate.

## Procedure

1. Read the current `docs/repo-with-babysitter-processes.md` (if absent, treat as an empty catalog).
2. Parse existing entries into a map keyed by `nameWithOwner`.
3. Run both `gh search code` queries above; union results.
4. Apply the filtering rules.
5. Enrich each surviving repo via `gh api repos/...`.
6. Build the merged catalog: existing entries + new entries; move absent-this-run Active entries to Stale.
7. Write the updated markdown file.
8. Print a short summary to the user: N total, M new, K moved to stale, top 5 new repos by stars.

## Notes on rate limits

`gh search code` is throttled (30 req/min for authenticated users). If the first pass returns the default cap, split by `language:` qualifier and by file `extension:` rather than spamming retries. Always include `--limit 100` (max) and paginate via qualifier-splitting, not `--page` (code search doesn't page).

## After running

Suggest the sibling skill `retrospect-external-babysitter-run` to go deeper on any specific entry -- "pick a repo from the catalog and retrospect on one of its runs".
