# Store Signals

Close the post-launch loop, turn a live app's App Store signals (reviews, analytics...

- Repository: https://github.com/rshankras/claude-code-apple-skills (846 stars)
- Category: Mobile
- License: MIT
- Last updated: 2026-07-24
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add rshankras/claude-code-apple-skills --skill store-signals -g -a claude-code -y`
Codex: `npx skills add rshankras/claude-code-apple-skills --skill store-signals -g -a codex -y`
Cursor: `npx skills add rshankras/claude-code-apple-skills --skill store-signals -g -a cursor -y`
Gemini CLI: `npx skills add rshankras/claude-code-apple-skills --skill store-signals -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add rshankras/claude-code-apple-skills`

## Description

Close the post-launch loop, turn a live app's App Store signals (reviews, analytics, sales, crashes, listing conversion) into a metric-tagged backlog for the next version, AND verify whether last cycle's changes moved the metric they promised to move. Read-only on App Store Connect; every change is surfaced and routed to another command, never auto-applied. Use before planning the next version, on a monthly cadence, or ~1-2 weeks after shipping to check if a change worked.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Store Signals

Pull what the *shipped* app is actually telling you and convert it into the next backlog, then
verify whether last cycle's bets paid off.

> This is the missing arc that turns build → ship into a **loop**:
> `ship → MEASURE → DIAGNOSE → next PLAN → build → ship → measure again…`
> The ledger (`SIGNALS.md`) is what makes it a loop and not a monthly report.

## Where it fits (read the seams)

- **Not `analytics-interpretation`.** That *interprets* a metric you hand it (is 14% D7 good?). This
  is the end-to-end operate loop: gather every signal → cluster → diagnose → **write a metric-tagged
  backlog** → **close last cycle's hypotheses**. It *uses* analytics-interpretation's benchmarks.
- **Read-only on ASC.** Never responds to reviews, never mutates metadata/pricing. It surfaces, gates
  on explicit OK, and routes the change to the right command (`next-version`, `bugfix`, `metadata`).
- **Feeds planning.** Output is a dated backlog appended to `ROADMAP.md` + rows in `SIGNALS.md`,
  consumed by `/apple:next-version` / `/apple:release`.

## Prerequisites

- A live (or TestFlight) app; resolve its `appId` from `.planning/STATE.md`, else `list_apps` + confirm.
- `.planning/` context: `STATE.md`, `APP.md`, `POSITIONING.md` (job-to-be-done + guardrails).
- `.planning/SIGNALS.md` if present, the OPEN hypotheses from prior runs (each with a target metric,
  recorded baseline, and "check-after" date). See **signals-ledger.md** for the ledger + backlog formats.

## Flow

The rest: https://github.com/rshankras/claude-code-apple-skills/blob/HEAD/skills/growth/store-signals/SKILL.md
