agent-browser
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…
Interactive post-onboarding tour that adapts to whatever data exists (calendar, Granola, or none). Use right after onboarding, or when the user says 'show me around', 'how do I start'. Also use proactively when the vault is < 7 days old. Not for the initial setup itself; use
Claude Code
$ npx -y skills add davekilleen/Dex --skill getting-started --agent claude-code
Codex
$ npx skills add davekilleen/Dex --skill getting-started -a codex -y
Cursor
$ npx skills add davekilleen/Dex --skill getting-started -a cursor -y
Gemini CLI
$ npx skills add davekilleen/Dex --skill getting-started -a gemini-cli -y
GitHub Copilot
$ npx skills add davekilleen/Dex --skill getting-started -a github-copilot -y
OpenCode
$ npx skills add davekilleen/Dex --skill getting-started -a opencode -y
Windsurf
$ npx skills add davekilleen/Dex --skill getting-started -a windsurf -y
name: getting-started description: "Interactive post-onboarding tour that adapts to whatever data exists (calendar, Granola, or none). Use right after onboarding, or when the user says 'show me around', 'how do I start'. Also use proactively when the vault is < 7 days old. Not for the initial setup itself; use `setup`."
Transform the post-onboarding experience from "blank chat window" to guided value delivery. Adaptive based on what data sources are available (calendar, Granola, or neither).
Call `check_onboarding_complete()` from onboarding-mcp to verify vault status.
The first-week reveal already ran during onboarding. Do not repeat the first-week statistics or present them as a new discovery, even if an older completion marker suggests analysis was deferred. `/getting-started` is now the deeper tour.
Check what data sources are available:
Based on results, route to appropriate flow.
---
**The Deeper History Flow**
👋 **Welcome back, [Name]!** You have already seen this week's calendar snapshot, so I won't repeat it. Let's look at the deeper meeting history you can turn into useful context. **Calendar:** ✅ Connected **Granola:** ✅ Connected I'll check how much Granola history is available before suggesting what to process.
Then execute: 1. Analyze Granola data extent using helper function (6 months by default) 2. If more data exists, ask if they want to see full extent 3. Present the historical summary
📊 **Your Granola history:** **Granola data (last 6 months):** • [N] meetings captured • Going back [days_back] days (to [oldest_date]) • [M] unique people detected ([I] internal, [E] external) • [K] external companies identified
**If `has_more_data` is True, ask:**
💡 **I see there are meetings beyond 6 months.** Want me to check how much more history you have? This will take a few more seconds. → Yes - show me the full extent → No - 6 months is plenty
**If user says "Yes", refetch with `extended=True` and update:**
📊 **Updated - Full data extent:** • [N_total] meetings captured (found [N_new] older meetings) • Going back [total_days] days (to [oldest_date]) • [M_total] unique people detected • [K_total] external companies identified --- Here's what I can create from your Granola history: **📇 People & Company Pages** (Recommended: All history) ✅ Builds context for relationships ✅ Low overhead - just reference pages ✅ Helps you see interaction history **📝 Meeting Notes** (Recommended: Last 30 days) ✅ Searchable record of discussions ⚠️ Medium overhead - lots of reading material ✅ Good for finding past decisions **✅ Action Items / Todos** (Recommended: Last 7 days) ✅ Actionable recent tasks ⚠️ Can be overwhelming if too many ⚠️ Old todos often outdated or already done **What would you like me to do?** 1️⃣ Smart default (Recommended) • People/companies: All [days_back] days • Meeting notes: Last 30 days (~[est_30d] meetings) • Todos: Last 7 days (~[est_7d] meetings) 2️⃣ Recent only (Conservative) • Everything: Last 7 days only 3️⃣ Full history (Comprehensive) • Everything: All [days_back] days 4️⃣ Custom (You choose) • Pick different time ranges for each type 5️⃣ Just going forward • Start fresh from today 6️⃣ Skip for now
Use AskUserQuestion tool. If AskUserQuestion is not available, prompt in CLI with the same numbered options and capture the selection:
{
"questions": [{
"id": "granola_strategy",
"prompt": "How would you like to process your Granola data?",
"allow_multiple": false,
"options": [
{"id": "smart", "label": "1️⃣ Smart default - People/companies (all) + Notes (30d) + Todos (7d)"},
{"id": "recent", "label": "2️⃣ Recent only - Everything from last 7 days"},
{"id": "full", "label": "3️⃣ Full history - Everything from all available data"},
{"id": "custom", "label": "4️⃣ Custom - I'll choose time ranges for each type"},
{"id": "forward", "label": "5️⃣ Just going forward - Start fresh from today"},
{"id": "skip", "label": "6️⃣ Skip for now"}
]
}]
}If user selects "custom", ask for granular preferences:
{
"title": "Choose time ranges for historical data",
"questions": [
{
"id": "people_range",
"prompt": "People & Company Pages: How far back?",
"allow_multiple": false,
"options": [
{"id": "7d", "label": "Last 7 days"},
{"id": "30d", "label": "Last 30 days"},
{"id": "90d", "label": "Last 90 days"},
{"id": "all", "label": "All [days_back] days (recommended)"},
{"id": "none", "label": "Skip - don't create"}
]
},
{
"id": "notes_range",
"prompt": "Meeting Notes: How far back?",
"allow_multiple": false,
"options": [
{"id": "7d", "label": "Last 7 days"},
{"id": "30d", "label": "Last 30 days (recommended)"},
{"id": "90d", "label": "Last 90 days"},
{"id": "all", "label": "All [days_back] days"},
{"id": "none", "label": "Skip - don't create"}
]
},
{
"id": "todos_range",
"prompt": "Action Items / Todos: How far back?",
"allow_multiple": false,
"options": [
{"id": "7d", "label": "Last 7 days (recommended)"},
{"id": "30d", "label": "Last 30 days"},
{"id": "90d", "label": "Last 90 days"},
{"id": "all", "label": "All [days_back] days"}One personal Dex, built around your work. Keep your priorities, people, meeting notes and tasks in a folder you own. Work with Dex through your AI app to plan the day, prepare for a meeting or follow through on a promise.
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…
Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools,…
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating…
This skill should be used before implementing features, building components, or making changes. It guides exploring user intent,…
Capture solved problems as categorized documentation with YAML frontmatter for fast lookup
Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…