Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add davekilleen/Dex --skill getting-startedgit clone --depth 1 https://github.com/davekilleen/DexWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/davekilleen/dex/getting-started)<a href="https://agentmods.dev/skills/davekilleen/dex/getting-started"><img src="https://agentmods.dev/badge/skills/davekilleen/dex/getting-started/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/davekilleen/dex/getting-started"><img src="https://agentmods.dev/badge/skills/davekilleen/dex/getting-started.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.07052 |
| Opus 5.5 | $0.00028 | $0.02821 |
| Sonnet 5.5 | $0.00014 | $0.01410 |
| Haiku 4.5 | $0.00007 | $0.00705 |
Grade A, and why
getting-started scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 962 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
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).
When to Run
- Automatically suggested at session start if vault < 7 days old
- User types
/getting-started - After onboarding completion (Step 11)
- User says they're not sure what to do next
Entry Point
Step 1: Verify Onboarding
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.
Step 2: Environment Check
Check what data sources are available:
- Calendar: Try calling calendar MCP (if fails, not available)
- Granola: Call
granola_check_available()from granola-mcp
Based on results, route to appropriate flow.
Flow A: Has Calendar + Granola
The Deeper History Flow
Historical Data Discovery
👋 **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:
- Analyze Granola data extent using helper function (6 months by default)
- If more data exists, ask if they want to see full extent
- 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:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 22d ago Changed ea85483b853f
- 1mo ago Changed · -181 lines 2824d9bee405
- 1mo ago First seen · 1,143 lines · 70 tokens per session scan A a78a90627d47
getting-started is a skill published in the GitHub repository davekilleen/Dex (497 stars, last pushed 2d ago), licensed MIT. It adds 70 tokens to every session and 7,052 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
gmail
Manage Gmail email — drafting, sending, organizing, filters, vacation replies, and inbox analysis.
schedule
Reminders, automations, and recurring page, dashboard, or status monitoring (cron, RRULE, or fire-at).
meeting-notes
Use when the user asks to capture, structure, or summarize meeting notes / call notes / 1:1 discussion / standup notes. Produces a standard template with attendees, agenda, decisions, action items (owner + deadline), and open questions.
inbox-management
Ongoing Gmail inbox management via scheduled runs. Archives known noise, flags urgent items, drafts replies in-thread (never auto-sends), and catches stale follow-ups. Empty polls spend no model tokens. Starts in flag-only mode.
inbox-cleanup
Run a high-recall, multi-pass email inbox cleanup. Pattern-based subject queries catch 25x more archivable email than sender scans alone. Includes urgency triage, classification signals, and post-cleanup filter setup.
notifications
Send notifications through the unified notification router.