Pane types / job
job
An open role surfaced to someone who might want it.
A job listing matched to the user.

Fields in data
The envelope around data (publisher, label, expiresAt…) is the same on every type: see the envelope.
| Field | Type | Notes | |
|---|---|---|---|
variant | "v1" | optional | Design variant to render (defaults to v1). |
role | string | required | 1–120 chars |
company | string | required | 1–120 chars |
location | string | optional | up to 120 chars |
salary | string | optional | up to 60 chars |
why | string | optional | up to 240 chars |
url | string | optional | format: uri |
Craft
roleis the title as posted, nothing appended — no company, no location, no seniority editorializing.locationcarries the arrangement too: "San Francisco · Hybrid", "Remote (AU/NZ)".salaryis a pre-formatted display range: "$220–280K", "£95–120K + equity". Omit it rather than guessing.whyis the whole reason this card earns its place — say what about *this person* matched: "ex-Stripe · design systems · 8 yrs".- Put the match strength in
label("Match · 94%") so the card leads with the role, not the score. - Roles close: set
expiresAtto the posting's close date, or ~30 days out.
Avoid
- Don't send a role with no
why— an unexplained job card reads like spam. - Don't paste the job description into
why; it's one line, not a summary. - Don't invent a salary range the posting doesn't state.
Examples
Complete payloads for POST /api/v1/feed/items or the MCP publish_pane tool.
A strong match from a job board
{
"type": "job",
"publisher": "LinkedIn",
"publisherInit": "in",
"publisherColor": "#0A66C2",
"label": "Match · 94%",
"data": {
"role": "Staff Product Designer",
"company": "Linear",
"location": "San Francisco · Hybrid",
"salary": "$220–280K",
"why": "Why you · ex-Stripe · design systems · 8 yrs",
"url": "https://linear.app/careers/example"
}
}A contract role where compensation isn't published
{
"type": "job",
"publisher": "Hacker News",
"publisherInit": "Y",
"publisherColor": "#FF6600",
"label": "Who's hiring · August",
"data": {
"role": "Senior Backend Engineer (Contract)",
"company": "Volt Grid",
"location": "Remote (AU/NZ) · 6 months",
"why": "Why you · Postgres at scale · energy sector · open to contract",
"url": "https://news.ycombinator.com/item?id=example"
}
}