Install in seconds
Install this skill
Copy the command and run it in your terminal. You can review the source before installing.
terminal
git clone https://github.com/a5c-ai/babysitter

Works with Git. The repository opens in your current directory.

📋
AutomationJavaScript

Catalog Babysitter Users

by a5c-ai

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.

1.6K stars94 forksAdded 2026/07/20
agent-orchestrationagent-skillsagentic-aiagentic-workflowai-agentsai-automationbabysitterclaude-codeclaude-code-skillsclaude-code-workflowsclaude-skillsclaude-workflowscodex-plugincodex-skillscodex-workflowhermes-pluginpi-extensiontrustworthy-aivibe-coding

Documentation

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).

Search the literal import statement across public code:

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:

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:

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:

# 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".