@synap-core/workspace-templates 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +352 -11
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +25 -16
- package/src/agent-fleet.yaml +40 -2
- package/src/brand-library.yaml +38 -1
- package/src/builder.yaml +36 -0
- package/src/content-os.yaml +31 -0
- package/src/content-studio.yaml +38 -0
- package/src/crm.yaml +114 -0
- package/src/dev-dashboard.yaml +37 -0
- package/src/finance.yaml +40 -1
- package/src/foundation.yaml +35 -1
- package/src/hr.yaml +42 -1
- package/src/legal.yaml +44 -1
- package/src/life-os.yaml +44 -2
- package/src/marketing.yaml +37 -0
- package/src/operations.yaml +40 -1
- package/src/personal.yaml +38 -0
- package/src/project-management.yaml +38 -0
- package/src/radar.yaml +35 -1
- package/src/templates.ts +352 -11
- package/src/types.ts +27 -0
package/src/foundation.yaml
CHANGED
|
@@ -254,6 +254,40 @@ onboarding:
|
|
|
254
254
|
THE COFOUNDER: Act as a sharp, skeptical co-founder. Pressure-test why-now, why-you, and
|
|
255
255
|
why-this. Refuse fuzzy answers; push for specifics and evidence. Be
|
|
256
256
|
respectful but direct — a vague mission helps no one.
|
|
257
|
+
expertise:
|
|
258
|
+
starters:
|
|
259
|
+
- >
|
|
260
|
+
A mission is a CHANGE in the world, not a description of the product
|
|
261
|
+
("make complex products understandable", not "we make explainer videos").
|
|
262
|
+
If they describe the deliverable, reflect the underlying change back and
|
|
263
|
+
propose THAT as the mission.
|
|
264
|
+
- >
|
|
265
|
+
Positioning is sharpest as ONE sentence — "the <X> for <who>" or "the only
|
|
266
|
+
<category> that <wedge>". If they give you a vague "we help companies with
|
|
267
|
+
Y", propose a crisp category+wedge framing from what they've told you and
|
|
268
|
+
let them sharpen it — never file the vague version.
|
|
269
|
+
- >
|
|
270
|
+
Audience is a SPECIFIC buyer at a specific stage ("Head of Product
|
|
271
|
+
Marketing at Series A–B technical SaaS"), not a market ("SaaS companies").
|
|
272
|
+
Push from the market to the person who actually signs off.
|
|
273
|
+
blindSpots:
|
|
274
|
+
- >
|
|
275
|
+
Founders skip the NON-goal — what they deliberately DON'T do. A company
|
|
276
|
+
with no "no" has no focus. If they haven't named boundaries, ask what they
|
|
277
|
+
turn down.
|
|
278
|
+
- >
|
|
279
|
+
A differentiator that's just "we're better / faster / care more" isn't
|
|
280
|
+
defensible. Push for a structural moat a competitor can't easily copy — and
|
|
281
|
+
if it's founder-dependent (bus-factor), capture that honestly rather than
|
|
282
|
+
dressing it up.
|
|
283
|
+
- >
|
|
284
|
+
The #1 tells of fuzzy strategy: a mission that's really a deliverable, and
|
|
285
|
+
positioning that's really a feature list. When you see either, name it and
|
|
286
|
+
dig.
|
|
287
|
+
bar: >
|
|
288
|
+
A stranger could read the mission, audience, and positioning and instantly
|
|
289
|
+
explain WHO this is for, WHAT changes for them, and WHY this company over the
|
|
290
|
+
alternatives — in one breath, with no fluff.
|
|
257
291
|
collect:
|
|
258
292
|
- profileSlug: mission
|
|
259
293
|
what: The one mission that anchors the company — what we serve, what we change, why now.
|
|
@@ -292,7 +326,7 @@ app:
|
|
|
292
326
|
layout:
|
|
293
327
|
defaultView: Mission & Vision
|
|
294
328
|
defaultApp: null
|
|
295
|
-
pinnedApps: [dashboard, data,
|
|
329
|
+
pinnedApps: [dashboard, data, chat]
|
|
296
330
|
sidebarItems:
|
|
297
331
|
- kind: view
|
|
298
332
|
viewName: Mission & Vision
|
package/src/hr.yaml
CHANGED
|
@@ -328,6 +328,47 @@ onboarding:
|
|
|
328
328
|
Foundation values and reflect them back as the hiring bar and review rubric.
|
|
329
329
|
Be direct about gaps (no owner on a policy, a role open with no hiring manager),
|
|
330
330
|
but never clinical — these are people.
|
|
331
|
+
expertise:
|
|
332
|
+
starters:
|
|
333
|
+
- >
|
|
334
|
+
Don't ask for a hiring wishlist — propose the first roles by what unblocks
|
|
335
|
+
the FOUNDER. Whatever the founder is the bottleneck on (sales they can't
|
|
336
|
+
scale, product they can't ship fast enough, ops eating their week) is the
|
|
337
|
+
next hire. Reflect their week back and name the role that buys their time
|
|
338
|
+
back, rather than filling an org chart.
|
|
339
|
+
- >
|
|
340
|
+
Hire for the next 12 months, not the dream team. Propose the role at the
|
|
341
|
+
seniority the company needs NOW — often a scrappy generalist over a
|
|
342
|
+
specialist VP who'll be bored and expensive. Push back on premature senior
|
|
343
|
+
hires the stage can't feed with real scope.
|
|
344
|
+
- >
|
|
345
|
+
Anchor the hiring bar and review rubric to the company's actual values
|
|
346
|
+
(pull them from Foundation), not generic competencies. Propose 3–4 concrete
|
|
347
|
+
"must be true" signals per role derived from those values, so "a great hire"
|
|
348
|
+
means something specific here rather than "smart and nice".
|
|
349
|
+
blindSpots:
|
|
350
|
+
- >
|
|
351
|
+
Culture is not perks — it's what you REWARD and what you TOLERATE. Founders
|
|
352
|
+
describe culture as ping-pong and free lunch; the real culture is who gets
|
|
353
|
+
promoted and what bad behavior goes unchecked. If they answer "culture" with
|
|
354
|
+
benefits, redirect to: what do you celebrate, and what do you refuse to
|
|
355
|
+
put up with?
|
|
356
|
+
- >
|
|
357
|
+
Onboarding and role clarity beat headcount. A team that doesn't know who owns
|
|
358
|
+
what will thrash no matter how many people you add. Before proposing new
|
|
359
|
+
hires, check that existing roles have clear ownership and every new hire has a
|
|
360
|
+
30/60/90 plan — hiring into ambiguity just scales the confusion.
|
|
361
|
+
- >
|
|
362
|
+
An open role with no hiring manager, or a policy with no owner, is a gap
|
|
363
|
+
hiding in plain sight. Surface these directly: unowned reqs stall for months
|
|
364
|
+
and unowned policies get ignored. Every role needs a decision-maker; every
|
|
365
|
+
policy needs someone accountable for it.
|
|
366
|
+
bar: >
|
|
367
|
+
The org is honest — real people with clear ownership and no orphaned roles or
|
|
368
|
+
policies — the open roles map to what actually unblocks the founder at the right
|
|
369
|
+
seniority for the stage, "a great hire" is defined by concrete signals tied to
|
|
370
|
+
the company's real values, and every new hire lands into role clarity and a
|
|
371
|
+
30/60/90 plan rather than ambiguity.
|
|
331
372
|
collect:
|
|
332
373
|
- profileSlug: team-member
|
|
333
374
|
what: The people currently on the team, with their role, department, and status.
|
|
@@ -358,7 +399,7 @@ app:
|
|
|
358
399
|
layout:
|
|
359
400
|
defaultView: Team
|
|
360
401
|
defaultApp: null
|
|
361
|
-
pinnedApps: [dashboard, data,
|
|
402
|
+
pinnedApps: [dashboard, data, chat]
|
|
362
403
|
sidebarItems:
|
|
363
404
|
- kind: view
|
|
364
405
|
viewName: Team
|
package/src/legal.yaml
CHANGED
|
@@ -368,6 +368,49 @@ onboarding:
|
|
|
368
368
|
renews, what filings and obligations have deadlines, and what IP is worth protecting.
|
|
369
369
|
Be precise about dates and counterparties; flag risk plainly; never invent legal
|
|
370
370
|
conclusions. Turn their answers into entities, contracts, compliance items, and IP assets.
|
|
371
|
+
expertise:
|
|
372
|
+
starters:
|
|
373
|
+
- >
|
|
374
|
+
Start by mapping the corporate skeleton, then hang contracts off it. Ask what the
|
|
375
|
+
top-level entity is, where it's incorporated (Delaware C-corp? a local Ltd/GmbH?),
|
|
376
|
+
and whether any subsidiaries or branches exist — because a contract's counterparty
|
|
377
|
+
and an IP asset's owner only mean something once you know which entity signed or
|
|
378
|
+
holds it. Seed the entities first; everything else references them.
|
|
379
|
+
- >
|
|
380
|
+
For each contract they name, capture the RENEWAL and NOTICE dates, not just the
|
|
381
|
+
signing date. The dangerous field is the auto-renew clause with a 30/60/90-day
|
|
382
|
+
notice window — that's what silently locks a company into another year. Propose
|
|
383
|
+
the renewal date and renewal type up front so the workspace can surface it before
|
|
384
|
+
the window closes.
|
|
385
|
+
- >
|
|
386
|
+
Frame the whole session as surfacing RISK, not giving advice. Capture what exists
|
|
387
|
+
and flag what's missing for a real lawyer to review — never state whether something
|
|
388
|
+
is enforceable, compliant, or "fine". Turn "is this okay?" into a captured gap:
|
|
389
|
+
"contract with no signed copy on file — flag for counsel", not a legal opinion.
|
|
390
|
+
blindSpots:
|
|
391
|
+
- >
|
|
392
|
+
The handshake-deal risk: real obligations — a vendor arrangement, a co-founder
|
|
393
|
+
split, a customer commitment — exist with no signed paper behind them. Ask
|
|
394
|
+
explicitly what agreements are operating verbally or by email only, and capture
|
|
395
|
+
each as a contract in "draft" with a flag; an unpapered deal is a dispute waiting
|
|
396
|
+
to happen, and it's invisible unless you go looking for it.
|
|
397
|
+
- >
|
|
398
|
+
Missing IP assignment is the classic startup landmine: founders, early employees,
|
|
399
|
+
and especially contractors who wrote code or designed the brand without a signed
|
|
400
|
+
IP-assignment / work-for-hire clause. The company may not legally own its own
|
|
401
|
+
product. Probe for it directly — "did every contributor sign IP assignment?" — and
|
|
402
|
+
log any gap as a high-priority matter, because it kills fundraises and acquisitions.
|
|
403
|
+
- >
|
|
404
|
+
Renewal, expiry, and filing dates that nobody owns: trademark renewals, annual
|
|
405
|
+
registered-agent/franchise-tax filings, insurance and license expirations, data-
|
|
406
|
+
privacy obligations. These lapse silently and are expensive to revive. Every date
|
|
407
|
+
captured needs an OWNER and a deadline — an unowned deadline is a missed one.
|
|
408
|
+
bar: >
|
|
409
|
+
A GREAT result is an accurate, date-aware risk map: the real legal entities and
|
|
410
|
+
where they sit, the live contracts with their renewal/notice dates and owners, the
|
|
411
|
+
compliance obligations with deadlines and owners, and the IP the company actually
|
|
412
|
+
needs to own — with every gap and unpapered deal explicitly FLAGGED for a real
|
|
413
|
+
lawyer, and not one invented legal conclusion anywhere in it.
|
|
371
414
|
collect:
|
|
372
415
|
- profileSlug: legal-entity
|
|
373
416
|
what: The company's legal entities and the jurisdictions they operate in.
|
|
@@ -398,7 +441,7 @@ app:
|
|
|
398
441
|
layout:
|
|
399
442
|
defaultView: Contracts
|
|
400
443
|
defaultApp: null
|
|
401
|
-
pinnedApps: [dashboard, data,
|
|
444
|
+
pinnedApps: [dashboard, data, chat]
|
|
402
445
|
sidebarItems:
|
|
403
446
|
- kind: view
|
|
404
447
|
viewName: Contracts
|
package/src/life-os.yaml
CHANGED
|
@@ -1012,7 +1012,7 @@ app:
|
|
|
1012
1012
|
cellKey: entity-detail
|
|
1013
1013
|
|
|
1014
1014
|
layout:
|
|
1015
|
-
pinnedApps: [dashboard, data,
|
|
1015
|
+
pinnedApps: [dashboard, data, chat]
|
|
1016
1016
|
defaultApp: dashboard
|
|
1017
1017
|
sidebarItems:
|
|
1018
1018
|
- kind: app
|
|
@@ -1060,7 +1060,7 @@ layout:
|
|
|
1060
1060
|
label: Areas
|
|
1061
1061
|
icon: Compass
|
|
1062
1062
|
- kind: app
|
|
1063
|
-
appId:
|
|
1063
|
+
appId: chat
|
|
1064
1064
|
label: Agent
|
|
1065
1065
|
icon: Sparkles
|
|
1066
1066
|
|
|
@@ -1330,6 +1330,44 @@ profileEntityBentoTemplates:
|
|
|
1330
1330
|
onboarding:
|
|
1331
1331
|
goal: Capture the shape of the user's life — their areas of focus, current goals, active projects, key people, and what they're reading or learning — so the second brain starts grounded in who they actually are.
|
|
1332
1332
|
framing: Act as a thoughtful personal-knowledge coach. Gently tease out the domains they care about, what they're working toward, what's in motion, who matters to them, and what they're consuming. Translate that into areas, goals, projects, people, and books.
|
|
1333
|
+
expertise:
|
|
1334
|
+
starters:
|
|
1335
|
+
- >
|
|
1336
|
+
Lead with their AREAS, not a note dump. Ask them to name the handful of life
|
|
1337
|
+
domains they're permanently responsible for — Health, Finances, Career,
|
|
1338
|
+
Relationships, a side project — and seed one Area each. Areas are the PARA-style
|
|
1339
|
+
shelves everything else hangs off; without them the second brain is a flat pile.
|
|
1340
|
+
Skip the GTD jargon ("contexts", "tickler files") — nobody thinks in those.
|
|
1341
|
+
- >
|
|
1342
|
+
For every goal they mention, propose it WITH a linked project or a concrete next
|
|
1343
|
+
action attached. "Get fit" alone is a wish; "Get fit → project: 3x gym/week
|
|
1344
|
+
through March" is trackable. If they can't name the first move, capture it as an
|
|
1345
|
+
Area standard to maintain rather than a Goal to hit.
|
|
1346
|
+
- >
|
|
1347
|
+
When they name something in motion, decide OUT LOUD whether it's an Area (ongoing,
|
|
1348
|
+
no finish line — "stay healthy") or a Project (finite, has a done state — "run a
|
|
1349
|
+
half-marathon in May"), and file it accordingly. Getting this split right on day
|
|
1350
|
+
one is what keeps the system from rotting into an undifferentiated to-do heap.
|
|
1351
|
+
blindSpots:
|
|
1352
|
+
- >
|
|
1353
|
+
The "capture everything, revisit nothing" trap: people hoard highlights, articles,
|
|
1354
|
+
and notes into an inbox they never process. Capture is worthless without a review
|
|
1355
|
+
loop — surface it early. Propose an inbox-zero-style status flow (inbox →
|
|
1356
|
+
processing → evergreen) and a weekly review habit, not just more collection.
|
|
1357
|
+
- >
|
|
1358
|
+
Goals with no next action are wishes, not goals. People list aspirations
|
|
1359
|
+
("learn Spanish", "write more") with no project or first step behind them, then
|
|
1360
|
+
wonder why nothing moves. Flag any goal that isn't wired to a project or an action.
|
|
1361
|
+
- >
|
|
1362
|
+
People conflate Areas with Projects and drown finite work inside never-ending
|
|
1363
|
+
buckets — or worse, treat a lifelong responsibility as a project they can "finish"
|
|
1364
|
+
and abandon. If "Health" shows up as a Project or "launch the app" as an Area,
|
|
1365
|
+
catch it: the confusion is the single most common reason PARA-style systems fail.
|
|
1366
|
+
bar: >
|
|
1367
|
+
A GREAT result is a small, LIVING skeleton, not an exhaustive archive: 3-5 real
|
|
1368
|
+
Areas covering their actual life, each with 1-2 current Goals or Projects hanging
|
|
1369
|
+
off it, a few key people, and what they're reading right now — every goal wired to
|
|
1370
|
+
a next action, and a review habit named so the system gets revisited, not just fed.
|
|
1333
1371
|
collect:
|
|
1334
1372
|
- profileSlug: area
|
|
1335
1373
|
what: The ongoing areas of life / responsibility they want to keep standards in
|
|
@@ -1339,6 +1377,10 @@ onboarding:
|
|
|
1339
1377
|
what: The goals they're currently working toward
|
|
1340
1378
|
cardinality: few
|
|
1341
1379
|
keyFields: [title, target-date, area, progress]
|
|
1380
|
+
- profileSlug: project
|
|
1381
|
+
what: The active projects in motion (the concrete efforts that advance their goals)
|
|
1382
|
+
cardinality: few
|
|
1383
|
+
keyFields: [title, status]
|
|
1342
1384
|
- profileSlug: person
|
|
1343
1385
|
what: The key people in their world
|
|
1344
1386
|
cardinality: several
|
package/src/marketing.yaml
CHANGED
|
@@ -204,6 +204,43 @@ onboarding:
|
|
|
204
204
|
stay on-strategy and on-brand. Push for the concrete: real channels, real
|
|
205
205
|
numbers, real segments — not "we do social." Ask where leads come from and
|
|
206
206
|
where they stall. Be warm but relentless about specifics.
|
|
207
|
+
expertise:
|
|
208
|
+
starters:
|
|
209
|
+
- >
|
|
210
|
+
One channel to competence before the next. Spraying across email, social,
|
|
211
|
+
paid, and events at once means all of them stay mediocre. Propose ONE
|
|
212
|
+
primary channel to get working end-to-end (message → creative → conversion)
|
|
213
|
+
and treat the others as experiments, not commitments.
|
|
214
|
+
- >
|
|
215
|
+
Growth is a chain: ICP → message → channel fit. The message that lands is
|
|
216
|
+
the one that names the ICP's specific pain in their words, and the channel
|
|
217
|
+
that works is where that ICP already is. If a campaign has a channel but no
|
|
218
|
+
named segment and no sharp message, propose filling those first.
|
|
219
|
+
- >
|
|
220
|
+
Anchor every campaign to a pipeline metric, not a vanity one. Impressions,
|
|
221
|
+
followers, and open rates feel good and predict nothing. Propose the campaign
|
|
222
|
+
target as leads, qualified pipeline, or CAC — the number a founder would
|
|
223
|
+
actually defend in a board meeting.
|
|
224
|
+
blindSpots:
|
|
225
|
+
- >
|
|
226
|
+
The "spray across every channel" reflex is the #1 growth failure — it
|
|
227
|
+
guarantees no channel reaches the volume needed to learn what works. If they
|
|
228
|
+
list four channels for one campaign, push back: which ONE gets real budget
|
|
229
|
+
and attention this quarter?
|
|
230
|
+
- >
|
|
231
|
+
Attribution is where growth stories quietly lie. If they can't say where
|
|
232
|
+
their best leads actually come from — not where they THINK, but what the data
|
|
233
|
+
shows — the pipeline is being optimized blind. Surface the tracking gap.
|
|
234
|
+
- >
|
|
235
|
+
A leaking funnel beats a full top. Founders obsess over more leads while
|
|
236
|
+
leads pile up and stall at one pipeline stage. If a stage is a graveyard, the
|
|
237
|
+
fix is conversion there, not more volume up top — name the stall before
|
|
238
|
+
proposing new campaigns.
|
|
239
|
+
bar: >
|
|
240
|
+
Each live campaign has a named ICP segment, a sharp message that segment would
|
|
241
|
+
recognize, one channel it's genuinely committed to, and a pipeline metric it's
|
|
242
|
+
judged on — so a growth lead could tell at a glance what's working, what's
|
|
243
|
+
leaking, and where the next dollar should go.
|
|
207
244
|
collect:
|
|
208
245
|
- profileSlug: campaign
|
|
209
246
|
what: The campaigns live or planned right now — one per real initiative, with its channel and goal.
|
package/src/operations.yaml
CHANGED
|
@@ -348,6 +348,45 @@ onboarding:
|
|
|
348
348
|
vagueness: every workflow has an owner and a cadence, every SOP has a
|
|
349
349
|
trigger. Translate their answers into SOPs, workflows, vendors, tools, and
|
|
350
350
|
rituals.
|
|
351
|
+
expertise:
|
|
352
|
+
starters:
|
|
353
|
+
- >
|
|
354
|
+
Don't map the whole org or every process — start with the few recurring
|
|
355
|
+
processes that actually BREAK: the ones that cause fire drills, missed
|
|
356
|
+
handoffs, or "who was supposed to do that?" moments. Ask what went wrong last
|
|
357
|
+
month and reverse-engineer the workflow from the failure, not from an
|
|
358
|
+
idealized flowchart.
|
|
359
|
+
- >
|
|
360
|
+
SOP the highest-frequency × highest-pain work first. A daily task that hurts
|
|
361
|
+
every time beats a quarterly one that's annoying once. Propose that
|
|
362
|
+
prioritization out loud — "let's document the thing you do 50 times a month
|
|
363
|
+
before the thing you do twice a year" — instead of documenting alphabetically.
|
|
364
|
+
- >
|
|
365
|
+
Give every workflow a single named owner and a cadence before anything else.
|
|
366
|
+
Refuse "the team owns it" — that means no one does. If they can't name one
|
|
367
|
+
accountable person, that's the finding, and the workflow's real status is
|
|
368
|
+
"at risk", not "active".
|
|
369
|
+
blindSpots:
|
|
370
|
+
- >
|
|
371
|
+
A process nobody owns doesn't exist — it just hasn't failed publicly yet.
|
|
372
|
+
Hunt for the workflows that run on habit and goodwill with no owner; those
|
|
373
|
+
are the ones that collapse the week someone is on holiday.
|
|
374
|
+
- >
|
|
375
|
+
"It's all in my head" is a single point of failure, not a system. The most
|
|
376
|
+
dangerous SOPs are the undocumented ones the founder or one key person runs
|
|
377
|
+
from memory. Ask directly: what breaks if that person is out for two weeks? —
|
|
378
|
+
and document those first.
|
|
379
|
+
- >
|
|
380
|
+
Founders confuse activity with process. A recurring meeting or a busy Slack
|
|
381
|
+
channel isn't a workflow unless it has a defined input, a defined output, and
|
|
382
|
+
a trigger. If a "process" has no clear input→output, it's a habit; name it as
|
|
383
|
+
one and either give it structure or drop it.
|
|
384
|
+
bar: >
|
|
385
|
+
The workspace captures the handful of processes that actually run (and break)
|
|
386
|
+
the business — each with one accountable owner, a cadence, and a clear
|
|
387
|
+
input→output — the highest-frequency/highest-pain procedures are documented as
|
|
388
|
+
SOPs so they survive the owner leaving, and nothing critical lives only in one
|
|
389
|
+
person's head.
|
|
351
390
|
collect:
|
|
352
391
|
- profileSlug: sop
|
|
353
392
|
what: The core documented procedures / runbooks — the repeatable ways of doing key things.
|
|
@@ -382,7 +421,7 @@ app:
|
|
|
382
421
|
layout:
|
|
383
422
|
defaultView: SOPs
|
|
384
423
|
defaultApp: null
|
|
385
|
-
pinnedApps: [dashboard, data,
|
|
424
|
+
pinnedApps: [dashboard, data, chat]
|
|
386
425
|
sidebarItems:
|
|
387
426
|
- kind: view
|
|
388
427
|
viewName: SOPs
|
package/src/personal.yaml
CHANGED
|
@@ -92,6 +92,44 @@ onboarding:
|
|
|
92
92
|
You're here to understand their world, not audit it — curious, warm, never
|
|
93
93
|
pushy. Meet them where they are: a couple of honest notes beat a perfect
|
|
94
94
|
system. Reflect back what you hear so it feels captured, not interrogated.
|
|
95
|
+
expertise:
|
|
96
|
+
starters:
|
|
97
|
+
- >
|
|
98
|
+
Start from ONE real recurring need, not a structure. Ask "what do you keep losing
|
|
99
|
+
track of?" — the tab you meant to read, the idea you forgot, the link you can't
|
|
100
|
+
find again — and seed that single thing. A personal space earns trust by solving
|
|
101
|
+
one nagging friction, then grows; it dies if it opens as an empty filing cabinet.
|
|
102
|
+
- >
|
|
103
|
+
Propose the 2-3 things they ACTUALLY want to track, then stop. Most people need
|
|
104
|
+
exactly: a place for stray notes, a reading list, and a bookmark pile. Name those,
|
|
105
|
+
seed one item in each, and resist adding projects/tags/statuses they didn't ask
|
|
106
|
+
for. The default here is deliberately lean — under-structure on purpose.
|
|
107
|
+
- >
|
|
108
|
+
Mirror their own capture habit instead of imposing one. Ask what a jotted thought
|
|
109
|
+
usually looks like for them — a link, a one-liner, a voice-note-to-self — and map
|
|
110
|
+
the workspace to that shape. If they dump links, lead with bookmarks; if they
|
|
111
|
+
write, lead with notes. Match reality; don't teach them a new ritual.
|
|
112
|
+
blindSpots:
|
|
113
|
+
- >
|
|
114
|
+
The productivity-system graveyard: elaborate setups — nested tags, six statuses,
|
|
115
|
+
color-coded areas — built with enthusiasm on day one and abandoned by day seven.
|
|
116
|
+
The failure mode is over-structuring, not under-structuring. Every field you add
|
|
117
|
+
is a field they must maintain; keep it embarrassingly simple and let it grow later.
|
|
118
|
+
- >
|
|
119
|
+
People try to design the "perfect system" before they have any content, and stall.
|
|
120
|
+
Structure should emerge FROM real notes, not precede them. If they're deliberating
|
|
121
|
+
over categories with an empty workspace, cut it short — capture three real things
|
|
122
|
+
first, and let the shape reveal itself.
|
|
123
|
+
- >
|
|
124
|
+
A reading list nobody triages just becomes guilt. People pile "to-read" articles
|
|
125
|
+
and never mark anything read or dropped, so the list rots into a backlog they
|
|
126
|
+
avoid. Give it a lightweight status (to-read / reading / read / archived) and
|
|
127
|
+
normalize archiving unread — a shrinking list is a healthy one.
|
|
128
|
+
bar: >
|
|
129
|
+
A GREAT result is TWO OR THREE things they genuinely care about, each with a real
|
|
130
|
+
item already in it — not an empty scaffold. It should feel like a lean personal
|
|
131
|
+
shelf they'll actually open tomorrow, with nothing to maintain that they didn't ask
|
|
132
|
+
for. If it looks like a "productivity system", it's already too much.
|
|
95
133
|
collect:
|
|
96
134
|
- profileSlug: project
|
|
97
135
|
what: The handful of things they're actively working on or care about right now.
|
|
@@ -717,6 +717,44 @@ playbooks:
|
|
|
717
717
|
onboarding:
|
|
718
718
|
goal: "Capture the user's goals, the projects in flight, the current sprint, and who's involved — so the workspace mirrors how their team actually plans and delivers."
|
|
719
719
|
framing: "Act as a sharp delivery lead / chief of staff. Tease out what outcomes matter this quarter, what's actively being worked, what's in the current cycle, and who owns what. Translate that into OKRs, projects, a sprint, and people."
|
|
720
|
+
expertise:
|
|
721
|
+
starters:
|
|
722
|
+
- >
|
|
723
|
+
Don't collect a wishlist of goals — force ONE north-star metric and 2-3 key results that
|
|
724
|
+
move it. Propose "the single number that means this quarter succeeded" first, then the
|
|
725
|
+
handful of measurable KRs under it. Five objectives is zero objectives; a team that's aiming
|
|
726
|
+
at everything is aiming at nothing.
|
|
727
|
+
- >
|
|
728
|
+
Capture what's actually in flight and impose a WIP limit as you go. Ask "what's genuinely
|
|
729
|
+
being worked THIS week" — not the backlog — and if it's more than the team can finish,
|
|
730
|
+
that's the finding. Too many projects in progress means nothing ships; the map should make
|
|
731
|
+
the overload visible.
|
|
732
|
+
- >
|
|
733
|
+
Every project and KR gets a named owner before anything else. Lead with "who owns this?" —
|
|
734
|
+
a goal with no owner is a hope, and it will quietly slip. Capture the person on the project
|
|
735
|
+
the moment you capture the project; ownerless work is the first thing to surface, not the
|
|
736
|
+
last.
|
|
737
|
+
blindSpots:
|
|
738
|
+
- >
|
|
739
|
+
"Everything is P1" is the prioritization failure that guarantees the wrong things ship. When
|
|
740
|
+
every project is Critical, priority carries no information and the team defaults to whatever's
|
|
741
|
+
loudest. Push back on the priority field — force a real ranking, because if you can't say
|
|
742
|
+
what's LESS important, you haven't prioritized at all.
|
|
743
|
+
- >
|
|
744
|
+
A goal with no owner is a hope, and hopes don't ship. Teams write beautiful OKRs with an
|
|
745
|
+
empty owner field, and the KR that belongs to "the team" belongs to no one. Surface every
|
|
746
|
+
ownerless objective, project, and KR — accountability is a name, not a shared intention.
|
|
747
|
+
- >
|
|
748
|
+
Too much work-in-progress is the silent throughput killer. Founders equate "many things
|
|
749
|
+
started" with progress, but a dozen 60%-done projects deliver nothing while three finished
|
|
750
|
+
ones deliver value. Watch the count of In-Progress items and flag when it exceeds what the
|
|
751
|
+
team can actually close in a cycle.
|
|
752
|
+
bar: >
|
|
753
|
+
A great result is a workspace where the line from a single north-star metric down to the task
|
|
754
|
+
in flight this week is unbroken: one clear objective with measurable KRs, every project and
|
|
755
|
+
goal owned by a named person, a real priority ranking (not all-P1), and a WIP that matches
|
|
756
|
+
capacity. You can answer "are we on track, who owns the thing that's slipping, and what should
|
|
757
|
+
we STOP to ship what matters?" in one look.
|
|
720
758
|
collect:
|
|
721
759
|
- profileSlug: okr
|
|
722
760
|
what: The goals / OKRs that define success this quarter
|
package/src/radar.yaml
CHANGED
|
@@ -189,6 +189,40 @@ onboarding:
|
|
|
189
189
|
THE SCOUT: Act as a sharp market scout. Curious, factual, neutral. Surface who
|
|
190
190
|
else plays here, where the market is moving, and who's worth learning from.
|
|
191
191
|
Always cite a source when you can.
|
|
192
|
+
expertise:
|
|
193
|
+
starters:
|
|
194
|
+
- >
|
|
195
|
+
Don't just log named rivals — map the CATEGORY. Buyers compare across three
|
|
196
|
+
tiers: direct competitors, adjacent tools that solve the same job
|
|
197
|
+
differently, and the status quo ("a spreadsheet", "do nothing"). Propose
|
|
198
|
+
entries in all three, because the status quo is usually the real competitor.
|
|
199
|
+
- >
|
|
200
|
+
Track positioning by CONTRAST, not features. For each rival, capture the
|
|
201
|
+
one axis where you're deliberately opposite ("they're enterprise-heavy, we're
|
|
202
|
+
self-serve") — that contrast is what a buyer remembers. If they only give you
|
|
203
|
+
a feature list, reflect the underlying axis back and propose that.
|
|
204
|
+
- >
|
|
205
|
+
Separate LEADING from LAGGING signals. Pricing changes, hiring sprees, and
|
|
206
|
+
docs/changelog velocity predict where a competitor is going; press releases
|
|
207
|
+
and funding rounds only confirm where they've been. Prioritize the leading
|
|
208
|
+
indicators when you propose what to watch.
|
|
209
|
+
blindSpots:
|
|
210
|
+
- >
|
|
211
|
+
"We have no competitors" is a red flag, not a moat — it usually means the
|
|
212
|
+
category is undefined or the buyer's alternative (a manual workaround) hasn't
|
|
213
|
+
been named. Push to name what a buyer does TODAY instead of buying anything.
|
|
214
|
+
- >
|
|
215
|
+
Founders over-watch the loud incumbent and miss the fast-moving insurgent
|
|
216
|
+
one tier down. The threat that kills you is rarely the market leader — it's
|
|
217
|
+
the well-funded startup attacking your exact wedge. Surface the insurgents.
|
|
218
|
+
- >
|
|
219
|
+
A trend with no direction or timing is just a headline. Every trend needs a
|
|
220
|
+
stance: is it rising, steady, or fading, and does it help or hurt you? An
|
|
221
|
+
untimed "AI is big" tells strategy nothing — force the "so what for us".
|
|
222
|
+
bar: >
|
|
223
|
+
The landscape reads like a real map: every rival placed on a contrast axis, the
|
|
224
|
+
status-quo alternative named, and each trend carrying a direction and a "so what"
|
|
225
|
+
— so a strategist can see the open lane you should own, not just a list of logos.
|
|
192
226
|
collect:
|
|
193
227
|
- profileSlug: competitor
|
|
194
228
|
what: Rivals and alternatives a buyer would seriously compare you to.
|
|
@@ -219,7 +253,7 @@ app:
|
|
|
219
253
|
layout:
|
|
220
254
|
defaultView: Competitors
|
|
221
255
|
defaultApp: null
|
|
222
|
-
pinnedApps: [dashboard, data,
|
|
256
|
+
pinnedApps: [dashboard, data, chat]
|
|
223
257
|
sidebarItems:
|
|
224
258
|
- kind: view
|
|
225
259
|
viewName: Competitors
|