1 min lesson
Build lightweight tooling, don't wait for a platform
Put this idea into your own words. "You build the scrappy thing yourself."
Step 1 of 2
Build lightweight tooling, don't wait for a platformscripts and small dashboards beat a roadmap ticket
Picture a company of a few hundred people and state that as your assumption. Nobody hands you a polished internal platform. You build the scrappy thing yourself: a script that pulls tickets, calls a model to classify and cluster, and writes a ranked Markdown brief you can paste into the channel.
Draft the plan with a larger reasoning model, a current frontier model such as Claude Opus 5.5Anthropic's top Opus-tier model in Cursor at $4 per million input tokens and $20 per million output, 20% below Claude Opus 5, which it replaces. Press Enter for the full definition. or a GPT-5.6 model. Then switch to a leaner, faster in-house model like Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. for the building. Heavy intelligence goes where the thinking is; fast intelligence handles the rest.
Learn more
Full explanation
A scrappy triage pass, the kind you'd build in week one
import { tickets } from "./ingest"; // tickets from support, forum, Discord import { classify, cluster, draftRepro } from "./agent"; // 1. agent classifies each report: you set the schema, it fills it in const tagged = await classify(tickets, { area: ["tab", "agent", "cmd-k", "chat", "context", "indexing", "model-picker"], severity: ["S0", "S1", "S2", "S3"], sentiment: ["angry", "confused", "neutral"], }); // 2. group by semantic similarity, join on error signature when present const clusters = await cluster(tagged, { joinOn: "errorSignature" }); // 3. score per cluster with the human-owned formula, not the model's guess const ranked = clusters .map((c) => ({ ...c, priority: sevWeight(c.severity) * impactScore(c), // your rubric repro: draftRepro(c.canonical), // agent drafts, you verify })) .sort((a, b) => b.priority - a.priority); // 4. you review ranked[0..n], confirm the repros, then ship the brief