Skip to content
Productivity
Skill

/diff-adopt-profile

Adopt a full published Heydex profile by handle ('set me up like @davekilleen'). Use when the user says 'set me up like <person>', or names a handle. Not for a single workflow doc; use `diff-adopt`. Not for creating your own profile; use `diff-profile`.

From plugin
dex
51099 skills28 agents24 commands1 MCP

Claude Code

$ npx -y skills add davekilleen/Dex --skill diff-adopt-profile --agent claude-code

SKILL.md

diff-adopt-profile.SKILL.md
name: diff-adopt-profile
description: "Adopt a full published Heydex profile by handle ('set me up like @davekilleen'). Use when the user says 'set me up like <person>', or names a handle. Not for a single workflow doc; use `diff-adopt`. Not for creating your own profile; use `diff-profile`."

What This Command Does

**In plain English:** Pulls down someone's full published Heydex profile, not just one workflow. You get the profile overview, the ordered workflow set, each methodology document, and the optional Love Letter. Then you walk the user through adopting the whole profile into their own Dex setup.

**How to run it:**

/diff-adopt-profile @davekilleen
/diff-adopt-profile https://heydex.ai/diff/davekilleen/

Natural-language triggers count too: when a user says "set me up like Dave" (or like any named person with a Heydex handle), treat it as `/diff-adopt-profile @<their-handle>`.

Arguments

`$ARGUMENTS` must be either:

  • a handle like `@davekilleen`
  • a public Heydex profile URL like `https://heydex.ai/diff/davekilleen/`

If missing or invalid:

/diff-adopt-profile expects a Heydex handle or public profile URL.

Examples:
  /diff-adopt-profile @davekilleen
  /diff-adopt-profile https://heydex.ai/diff/davekilleen/

Hosted Contract

Always fetch the bundle from the **API host**:

GET https://gallant-reindeer-229.eu-west-1.convex.site/api/profile-bundle?handle=<handle>

Critical: the profile-adoption API lives on the DexDiff Convex deployment, `gallant-reindeer-229.eu-west-1.convex.site`. The website host `heydex.ai` serves pages only - it has **no** `/api/*` routes, and `api.heydex.ai` routes to the separate Dex Desktop backend. Never use either host for profile-adoption API calls. (Local stubs and rehearsals override the base with the `DEXDIFF_API_BASE` environment variable.)

Expected contract:

  • `contractVersion: "2026-04-10"`
  • `profile`
  • `workflows` — ordered list, each with `diffId`, `name`, `description`, `methodology`, `tags`, `roles`, `integrations`
  • `loveLetter` — optional

Do **not** use the normal public profile page payload for this command. The whole point is to pull the dedicated runtime bundle.

The Deterministic Half Is A Script

This skill ships with `scripts/adopt_profile.py` (stdlib-only Python). Use it for fetch, validation, and saving - do not hand-roll HTTP calls or file writes:

# Step 1 of the flow (fetch + report, writes nothing):
python3 <skill-dir>/scripts/adopt_profile.py @<handle> --fetch-only --json

# Step 3 of the flow (save bundle + adoption log, after user consent):
python3 <skill-dir>/scripts/adopt_profile.py @<handle> --json

Exit codes: `0` success, `2` bad handle, `3` network down, `4` profile not found, `5` malformed payload or server error, `6` not inside a Dex vault. Every non-zero exit prints a plain-language explanation on stdout - relay it to the user verbatim, then stop. Never improvise around a failure, and never fail silently.

If `python3` is not available on the machine, fall back to fetching `https://gallant-reindeer-229.eu-west-1.convex.site/api/profile-bundle?handle=<handle>` yourself (WebFetch or curl), validate the contract fields listed above, and perform the same writes by hand - but say so explicitly and keep the same stop-on-failure behavior.

Flow

1. Resolve and fetch

1. Resolve the handle from the argument (`@handle` or a profile URL both work - the script parses either). 2. Run the bundled script with `--fetch-only --json`. 3. On failure, relay the script's explanation and stop. Typical cases to recognise:

  • **Profile not found (exit 4):** the handle is wrong or the profile is not public. Tell the user exactly that, suggest checking the spelling and the profile page `https://heydex.ai/diff/<handle>/`.
  • **Network down (exit 3):** tell the user nothing was changed and to retry once they are online.
  • **Malformed bundle (exit 5):** the published profile is broken server-side; the user cannot fix this - tell them to let the author know.

4. If the report includes `warnings` about v1-summary methodologies, tell the user plainly: those workflows were published in an old thin format and cannot be regenerated faithfully; offer to continue with only the full-fidelity workflows.

2. Introduce the profile

Lead with what makes the profile useful:

[displayName] — [role], [company]

This profile contains [N] published workflows:
  1. [workflow name]
  2. [workflow name]
  ...

[If loveLetter exists]
WHY THIS PROFILE EXISTS
"[loveLetter.text]"

Want to bring this full profile into your Dex setup? [Yes] [Show me the workflows first]

If the user wants to inspect first, walk them through the workflows in order before asking again.

3. Save the bundle locally before building

Before generating any local skills or hooks, run the bundled script **without** `--fetch-only`. It saves the raw hosted bundle into the user's DexDiff profile draft area and writes the adoption log in one deterministic step:

  • root: `DEXDIFF_PROFILE_DRAFTS_DIR` (default `04-Projects/DexDiff/beta/profile/`)
  • profile folder: `DEXDIFF_PROFILE_DRAFTS_DIR/adopted/<handle>/`
  • manifest: `profile-bundle.json`
  • workflows: `workflows/01-<diff-id>.yaml`, `02-<diff-id>.yaml`, etc.
  • optional Love Letter: `love-letter.md`
  • adoption log: `System/.dex/adoptions/profiles/<handle>.json`

The log includes:

  • `profile_handle`
  • `profile_display_name`
  • `adopted_at`
  • `source`
  • `bundle_contract_version`
  • `manifest_path`
  • `workflow_ids`
  • `workflow_paths`
  • `love_letter_path`

Relay the script's printed file list to the user so they can see exactly what landed where. If the script exits 6 ("not a Dex vault"), the user is running from the wrong folder - help them locate their Dex vault and re-run from there.

4. Discovery pass across the whole profile

Do one shared discovery pass for the whole profile:

  • detect the user's role
  • scan folders
  • check integrations
  • note
Read more
@davekilleen
Ships withdex

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.

51099 skills28 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
510
Star history of davekilleen/Dex on GitHub, a chart by star-history.com

Other skills on dex.

agent-browser

agent-browser

Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…

@davekilleen@davekilleenInstall Skill
agent-native-architecture

agent-native-architect…

Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools,…

@davekilleen@davekilleenInstall Skill
andrew-kane-gem-writer

andrew-kane-gem-writer

This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating…

@davekilleen@davekilleenInstall Skill
brainstorming

brainstorming

This skill should be used before implementing features, building components, or making changes. It guides exploring user intent,…

@davekilleen@davekilleenInstall Skill
compound-docs

compound-docs

Capture solved problems as categorized documentation with YAML frontmatter for fast lookup

@davekilleen@davekilleenInstall Skill
create-agent-skills

create-agent-skills

Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new…

@davekilleen@davekilleenInstall Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about diff-adopt-profile.

Which coding agents can use diff-adopt-profile?
diff-adopt-profile installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.