---
name: track-technical-competitors
description: Use when the user says "weekly technical pulse" / "what did {competitor} ship this week" / "technical teardown of {competitor}" — fetches engineering-focused competitor signals via Composio (engineering blog posts, GitHub org activity, public changelog, API diffs) and writes either a single-competitor teardown or an N-competitor weekly digest.
---

# Track Technical Competitors

Engineering-focused competitor watch. The marketing Head of Marketing
tracks brand / ads / positioning; this skill tracks the technical
surface — what competitors actually *shipped* (code, APIs, releases,
engineering-blog claims). Source template: Gumloop "Competitive
Roadmap & Trend Arbitrage", reframed for the engineering function.

## When to use

- "weekly technical pulse" / "what did {A, B, C} ship technically
  this week".
- "technical teardown of {competitor}" / "full dive on {competitor}'s
  engineering".
- Weekly routine (optional — the founder can wire it via the
  Routines tab).

Supports two modes, chosen by the user phrasing:

- **Teardown** — one named competitor. Deep dive.
- **Weekly digest** — N competitors (default: the top 3 from the
  context doc or the user's most-watched list). Broader, shorter per
  competitor.

## Steps

1. **Read engineering-context.md** (own file). If missing, STOP —
   tell the user to run `define-engineering-context` first.
   Technical competitor work without our own stack + priorities as a
   baseline is just gossip.

2. **Determine mode + competitor list.** If the user named one
   competitor → teardown mode. If the user said "weekly pulse" or
   named multiple → digest mode. If no names given, default to the
   top 3 technical competitors the founder has in `config/` or
   context doc; if neither, ask ONE question: "Which competitors
   should I scan?" with paste as the fallback.

3. **Discover tools at runtime.** Do NOT hardcode tool names. Run:
   - `composio search web-scrape` — for eng blog / changelog /
     pricing / docs fetches.
   - `composio search web-search` — for recent news + release
     announcements.
   - `composio search code-hosting` — for public GitHub/GitLab org
     activity (releases, major commits, stars) if the competitor
     has a public org.

   If a needed category has no connected tool, note it in the brief
   ("no code-hosting connection — GitHub activity: UNKNOWN") and
   continue.

4. **Gather evidence per competitor** (last 7 days for digest, last
   30 days for teardown):
   - **Engineering blog posts** — recent posts, titles, a 1-line
     summary each, URL + date.
   - **GitHub org activity** — public releases (tag + date), any
     notable major commit, star velocity delta.
   - **Public changelog** — entries in that window, with dates.
   - **API diffs** — if the competitor publishes an OpenAPI spec
     or versioned REST/GraphQL docs, diff the current version
     against cached or any scraped history. Call out new
     endpoints, deprecations, breaking changes.
   - **Adjacent signals (optional)** — conference talks, job posts
     hinting at what they're building.

5. **Compare against our stack + roadmap.** For each signal, ask:
   - Does this threaten one of the top 3 priorities in the context
     doc?
   - Does it open a gap we should press (e.g. they shipped a
     half-measure where our fuller version is in-flight)?
   - Is it a parity move we need to match on the roadmap?

6. **Structure the output (markdown).**

   **Teardown mode** (`competitor-watch/{competitor-slug}.md`,
   ~500-800 words):

   1. One-paragraph summary of who they are technically + where
      they sit vs. us.
   2. What's new (last 30 days, bulleted with dates + sources).
   3. Engineering-blog claims — what they're saying about their
      own stack / architecture / approach. Quote them verbatim.
   4. GitHub org activity — releases table, notable commits, star
      trend.
   5. API / schema diffs — specific new endpoints, deprecations,
      breaking changes, with diff snippets where possible.
   6. Technical threats — ranked. What they're shipping that
      pressures our roadmap.
   7. Opportunities — ranked. Where they're weak, silent, or
      over-promising and we should press.
   8. Recommended moves — 3 concrete, one-week actions the founder
      can hand to `plan-roadmap`, `tech-lead`, or
      `release-reliability`.
   9. Sources — URLs with fetch timestamps.

   **Digest mode** (`competitor-watch/weekly-{YYYY-MM-DD}.md`,
   ~300-500 words):

   1. Headline table: competitor · top signal · threat? ·
      opportunity?
   2. Per-competitor: 3-5 bullets each, newest first, with source
      links.
   3. Cross-cutting pattern — is anything converging across
      competitors (e.g. all three shipped a rate-limit change, all
      three posted about the same platform shift)?
   4. Recommended moves — 3 actions, each tagged with the agent
      that should execute it (`plan-roadmap`, `tech-lead`,
      `release-reliability`, `docs-dx`).
   5. Sources.

7. **Never invent.** Every claim ties to a URL + timestamp or is
   marked `UNKNOWN`. Fabricated commit counts or fake release dates
   are worse than no brief.

8. **Write atomically** to the target path — write `{path}.tmp`,
   then rename.

9. **Append to `outputs.json`.** Read-merge-write atomically:

   ```json
   {
     "id": "<uuid v4>",
     "type": "competitor",
     "title": "<Competitor> technical teardown" | "Weekly technical pulse <YYYY-MM-DD>",
     "summary": "<2-3 sentences — top threat + top opportunity>",
     "path": "competitor-watch/<slug>.md",
     "status": "draft",
     "createdAt": "<ISO-8601>",
     "updatedAt": "<ISO-8601>"
   }
   ```

10. **Summarize to user.** One paragraph: biggest technical threat,
    biggest opportunity, the 1 move to make this week, path to the
    artifact.

## Outputs

- `competitor-watch/{competitor-slug}.md` (teardown) or
  `competitor-watch/weekly-{YYYY-MM-DD}.md` (digest).
- Appends to `outputs.json` with `type: "competitor"`.
