Skip to content

Commit 80ff4db

Browse files
neilsarkarclaude
andauthored
[TASK-395688] Perfect Meetings: better people research, confidence, and profiles (#122)
## Summary The meeting researcher missed an attendee because the prompt replaced the email-derived name with "(full name unknown)". The agent then searched only the address and gave up after one search. - **Research prompt:** passes the email handle as a hint (`email handle "demarcus"`) and the likely company name, and tells the agent which searches to try, in order, when the full name is unknown (handle + company + LinkedIn, handle + company, then the quoted email). It must run at least two before giving up. - **Confidence:** new People `Confidence` select (High/Low). A partial match (such as a first name at the right company) is saved as Low. A later match can replace it, but it never overrides High. Setting High by hand locks the name and role. The Next meeting card shows `(low confidence) <role>`. - **People profiles:** each prep writes a `## Profile` section above `## Notes` on every attendee's page: - role and responsibilities, with the source linked - meetings in the last 90 days from the calendar (three one-month `listEvents` calls), linked to Meetings pages - a summary of recent meetings and email A Low match gets a warning callout. Profile writes are best effort and never fail the brief. - **Profile links:** new People `LinkedIn`, `X`, `Instagram` and `Personal site` URL properties. The researcher looks only for the empty ones, and the prompt lists known profiles so it skips them. Each URL has to be on its network's domain. The Next meeting person cards link to the profiles that are set. - **Parsing:** unwraps Markdown links the agent added around emails, domains, and URLs. It had returned `[mintlify.com](http://mintlify.com)` as a domain. ## Testing - `npm run check`, `npm test` (89 passing), `npm run build` - Deployed to dev and tested with hand-made test meetings, so no calendar invites were created or sent: 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent e1a59e4 commit 80ff4db

15 files changed

Lines changed: 1228 additions & 103 deletions

File tree

‎apps/templates/perfect-meetings/APP.md‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,19 @@ meeting objective.
2121

2222
Open a meeting to review its **Meeting prep** and take notes under **Notes**.
2323
Refreshing the prep leaves your notes untouched. Tick **Regenerate prep** to
24-
request a fresh brief or retry a failed one.
24+
request a fresh brief or retry a failed one. Each person's **Confidence** shows how
25+
sure the researcher is of their name and role. Low means it matched only part
26+
of the name, such as a first name at the right company; their card shows
27+
"(low confidence)", and a later brief may correct them. Set it to High once
28+
you have checked a person to keep their name and role.
29+
30+
Each brief also updates a **Profile** at the top of each attendee's page in
31+
**People**: their role and responsibilities, meetings with them in the last 90
32+
days, and a summary of recent meetings and email. Write your own notes under
33+
**Notes** on that page; refreshes leave them untouched. The researcher also
34+
fills in their **LinkedIn**, **X**, **Instagram**, and **Personal site** when
35+
it finds them, and the meeting card links to them. It only looks for profiles
36+
that are empty, so correct a wrong one by replacing it.
2537

2638
Meetings update when calendar events change, with an hourly catch-up, and
2739
every catch-up is logged in **Workflow runs**. Briefs are prepared for new
@@ -32,7 +44,7 @@ with only coworkers do not appear by default.
3244

3345
<details>
3446
<summary>App data</summary>
35-
<mention-page url="{{people-db}}">People</mention-page> — Look up outside attendees and their roles.
47+
<mention-page url="{{people-db}}">People</mention-page> — Look up outside attendees, their roles, and their profiles.
3648
<mention-page url="{{companies-db}}">Companies</mention-page> — Browse company summaries and websites.
3749
<mention-page url="{{meetings-db}}">Meetings</mention-page> — Switch to **Calendar** or **All meetings** to browse dates and past notes.
3850
<mention-page url="{{sync-runs-db}}">Workflow runs</mention-page> — Every calendar catch-up, with its status and any error.
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,12 @@
11
<!doctype html>
2-
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Next meeting</title></head><body><div id="root"></div><script type="module" src="/index.tsx"></script></body></html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Next meeting</title>
7+
</head>
8+
<body>
9+
<div id="root"></div>
10+
<script type="module" src="/index.tsx"></script>
11+
</body>
12+
</html>

0 commit comments

Comments
 (0)