> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Specialists and the weekly review

> Six read-only specialist subagents and a co-founder review that writes a brief and opens a pull request with one listing change, by hand or once a week.

Appeeky Spec ships six specialist subagents and a review that runs them, so your coding agent works like a small growth team. The specialists only read. The review decides, edits and writes the pull request. Nothing reaches the stores until a person merges it.

## Install

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
npx @appeeky/spec agents install                  # .claude/agents/appeeky-*.md and .claude/commands/appeeky-cofounder.md
npx @appeeky/spec agents install --for opencode   # .opencode/agent/ and .opencode/command/
npx @appeeky/spec agents install --for all
```

Commit the files. Edit them to fit your app: running `agents install` again keeps your changes unless you pass `--force`. `doctor` checks that they are installed.

In Claude Code, run `/appeeky-cofounder`. In agents without subagents, the review does each specialist's checklist itself, one after another.

## The specialists

| Specialist | Reads | Returns |
| - | - | - |
| `appeeky-aso` | Coverage, ranks, competitors, AI visibility, the category chart | Missing targets, spare keyword space, up to two listing changes with character counts |
| `appeeky-reviews` | Reviews and their summary, competitors' low ratings, revenue data | What users ask for, a listing change that answers it, replies to draft |
| `appeeky-ads` | Apple Search Ads, Meta, TikTok and attribution data | Paid searches worth targeting, and spend findings for a person |
| `appeeky-releases` | Releases and their day-7 and day-14 checks, `loops.md`, the app's git history | What won and lost, what waits for a new version, What's New text |
| `appeeky-ugc` | UGC experiments, smart link and attribution results, personas, review words | Which creators and hooks worked, the next UGC experiment with a brief for the creator |
| `appeeky-social` | What shipped and won, What's New, review words, the channels that bring installs | Posts to publish, drafted per connected account, with the link to use |

Each specialist has read tools only (`Read`, `Grep`, `Glob`, `Bash` for the CLI) and answers with findings and up to two candidates. A specialist whose data is missing is skipped, and the brief says so.

## The co-founder review

1. **Where things stand.** Runs `status --json`; its `free` list is the stores with no release being measured. Reads `appeeky/loops.md`, `appeeky/playbook.md` and the last brief.
2. **Asks the specialists**, in parallel when it can.
3. **Decides** on the one change most likely to win, for a free store: one clear hypothesis, the strongest evidence, never a change the playbook says lost. If no store is free or no candidate is strong enough, it changes nothing and says why.
4. **Makes it.** Edits `appeeky/store/`, runs `check` and `diff`, and fixes every error.
5. **Writes the brief** to `appeeky/briefs/<YYYY-MM-DD>.md`: where things stand, what each specialist found, the change (or why there is none), what is for a person (review replies, ads changes, product requests, the next UGC experiment, posts to publish) and what it did not pick.
6. **Turns the social and UGC proposals into drafts** in `appeeky/social/drafts/` and `appeeky/ugc/briefs/`, checked with `social check` and `ugc generate --dry-run`, so they go out after the same merge. See [Social posts](https://docs.appeeky.com/docs/spec-social.md) and [UGC clips](https://docs.appeeky.com/docs/spec-ugc.md).
7. **Writes `.appeeky/proposal.md`**: a pull request title on the first line, then what changes, why, the metric and when it is checked.

## Once a week

The weekly routine refreshes the data (`data pull`, `reviews pull`, `competitors pull`, `social pull`, `ugc pull`), finds the free stores, runs the review with Claude Code, and opens a pull request on a `listing/weekly-<date>` branch with the listing change, the brief, and any drafts and briefs. When every store has a release being measured, the pull request carries the brief only.

| Where | How |
| - | - |
| GitHub Actions | Copy `examples/weekly/appeeky-spec-weekly.yml` from the [repo](https://github.com/appeeky/appeeky-spec/tree/main/examples/weekly) into `.github/workflows/`. Runs Mondays at 07:00 UTC, or by hand |
| Docker | `WEEKLY_AT=0 7 * * 1` with the `latest-agent` image. See [Self-hosting](https://docs.appeeky.com/docs/spec-self-hosting.md) |
| Your machine | `examples/weekly/weekly.sh` from cron |

| Secret | Needed for |
| - | - |
| `CLAUDE_CODE_OAUTH_TOKEN` | The agent on your Claude Pro or Max plan: run `claude setup-token` on your computer |
| `ANTHROPIC_API_KEY` | Or the agent billed per use |
| `APPEEKY_API_KEY` | Data, reviews and competitors (optional) |
| `ATTRIBUTION_TOKEN` | A self-hosted attribution server (optional) |
| `PROPOSAL_TOKEN` | Optional. A pull request opened with the default `github.token` does not start other workflows, so the listing check would not run on it. A fine-grained or GitHub App token with contents and pull requests write access does |

The routine uses `.github/appeeky-propose.md` when you keep your own version of the review, and `.claude/commands/appeeky-cofounder.md` otherwise.

## What the agent cannot run

The weekly routines start the agent with an allow list (file tools, subagents, `appeeky-spec` / `npx @appeeky/spec`, `git log`, `git tag`) and deny everything that publishes or spends:

| Denied | Why |
| - | - |
| `push`, `revert` | Changes the live store; the merge does this |
| `reviews push`, `social push` | Sends replies and posts |
| `ugc generate --yes`, `ugc generate --local --yes` | Spends media credits or your fal account |
| `visibility scan --local --yes` | Spends on your model keys |
| `seo ranks`, `seo keywords`, `seo domain` with `--yes` | Spends on your DataForSEO account |

Dry runs stay allowed, so the brief can say what a clip or a scan would cost. After you merge, the [push workflow](https://docs.appeeky.com/docs/spec-ci.md#push-on-merge) or the Docker `push` routine sends what the pull request approved.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.