---
sidebar_position: 5
title: GitHub AI scout
---

# `github-ai-scout` — daily AI-project radar

A daily scout agent that finds **new/trending AI projects on GitHub**, scores them against **your** rubric with an LLM, and posts a shortlist to Slack for a human to review. It proposes — it never stars, forks, or adds anything.

```
scan   (this graph) → GitHub search REST API: your query + created:> + stars:>=
  ↓
score  (LLM)        → rank + filter candidates against your rubric → shortlist
  ↓
digest (this graph) → render a report-object → sub-graph: notify-slack
  ↓
 END
```

Everything that defines *what* it scouts is a deploy-time input — the search query, the recency/star thresholds, and the scoring rubric. Point it at a different topic and a different rubric and it scouts that domain instead.

## Inputs

| Input | Default | What it does |
|---|---|---|
| `query` | `topic:ai topic:llm topic:agents topic:rag` | GitHub search query, WITHOUT date/stars filters (scan appends those). |
| `daysBack` | `30` | Only repos created within this many days. |
| `minStars` | `30` | Minimum stars. |
| `maxCandidates` | `30` | How many repos to fetch (max 100). |
| `shortlistSize` | `8` | How many to surface in Slack. |
| `rubric` | generic quality rubric | Plain-English scoring instruction — describe *your* taste. |
| `excludeRepos` | `[]` | `owner/repo` names to skip — dedup against repos you already track. |
| `slackChannel` | **required** | Channel id (`C012345`) or `#name` where the shortlist lands. |

## GitHub auth (optional)

The scan works **unauthenticated** for public search. To raise the rate limit, set a `GITHUB_TOKEN` env var on the project — the scan sends it as a Bearer token. No scopes needed; public read is enough.

## Slack setup

The digest dispatches to the **notify-slack** building-block agent (in-process sub-graph), which renders the shortlist as a native Block-Kit card. Deploy `notify-slack` in the same project, connect Slack, and set `slackChannel`.

## Trigger

Cron — typically **daily**. Each run is a fresh scan over the trailing `daysBack` window; use `excludeRepos` to keep the shortlist to NEW finds.

```json
{ "slackChannel": "#ai-radar" }
```

## What it does NOT do

It **proposes a shortlist for human review — never auto-adds.** No starring, no forking, no writing anywhere except the Slack post. A person decides what to do with each find.

## Deploy

```bash
zibby agent templates                                 # browse the marketplace
zibby agent new github-ai-scout -t github-ai-scout    # scaffold (also deploy notify-slack)
zibby agent deploy github-ai-scout
```
