Agent skill

Pipeline Sync

by davekilleen in davekilleen/Dex

Live view of your Pipedrive pipeline reconciled against your local pipeline tracker; flags drift, maps focus deals, and pushes confirmed updates to the CRM.

MITAuto-check passedSales & Support

Install Pipeline Sync

skills CLI
$ npx skills add davekilleen/Dex --skill pipeline-sync -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davekilleen/Dex pipeline-sync --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pipeline-sync .claude/skills/pipeline-sync && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pipeline-sync
GitHub stars
493
Token cost
~2.8k tokens
SKILL.md length
1,525 words
Files
2
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Live view of your Pipedrive pipeline reconciled against your local pipeline tracker; flags drift, maps focus deals, and pushes confirmed updates to the CRM.

  • Works in 5 steps: Gate → Delegate the gather (Agent subagent) → Present + decide (in conversation) → …
  • The user says sync my pipeline
  • SKILL.md covers Purpose, Usage, Method and Output contract, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Pipeline Sync is an agent skill from davekilleen/Dex. Live view of your Pipedrive pipeline reconciled against your local pipeline tracker; flags drift, maps focus deals, and pushes confirmed updates to the CRM. Use when the user says 'sync my pipeline', 'show me my pipeline', 'reconcile the CRM'. Not for connecting Pipedrive in the first place; use pipedrive-setup.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `AGENT_INSTRUCTIONS.md`).

It sits in Sales & Support. The repository describes itself as: Your AI Chief of Staff — a personal operating system starter kit that adapts to your role. No coding required. The licence is MIT.

When your agent uses it

  • The user says sync my pipeline
  • Show me my pipeline
  • Reconcile the CRM

Example prompts

  • “sync my pipeline”
  • “show me my pipeline”
  • “reconcile the CRM”
  • “/pipeline-sync”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Gate
  2. Delegate the gather (Agent subagent)
  3. Present + decide (in conversation)
  4. Apply confirmed changes
  5. Summarise

What it can do on your machine

Read from SKILL.md and the folder at commit 227f78e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pipeline Sync loads about 2.8k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 1,525 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davekilleen/Dex at commit 227f78e, republished under its MIT licence (© davekilleen). 1,525 words, ~2,843 tokens.

Download SKILL.mdSave it as .claude/skills/pipeline-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
pipeline-sync
description
Live view of your Pipedrive pipeline reconciled against your local pipeline tracker; flags drift, maps focus deals, and pushes confirmed updates to the CRM. Use when the user says 'sync my pipeline', 'show me my pipeline', 'reconcile the CRM'. Not for connecting Pipedrive in the first place; use `pipedrive-setup`.
<!-- Generated from `.claude/skills/pipeline-sync/SKILL.md` by `scripts/generate-agents-skills.py`. Do not edit. -->

Purpose

Give the user a live, reconciled view of their pipeline. Pipedrive owns the canonical deal numbers; the local pipeline tracker note (default 04-Projects/Pipeline_Tracker.md, or the tracker_path set in System/integrations/pipedrive.yaml) owns the strategy and the focus list. This skill pulls the live numbers, diffs them against the tracker, shows where they've drifted, and, only when the user confirms, writes changes back to either side.

Requires the Pipedrive integration. If System/integrations/config.yaml -> pipedrive.enabled is not true, tell the user to run /pipedrive-setup first and stop.

Usage

  • /pipeline-sync: pull live pipeline, reconcile against the tracker, show a drift report
  • /pipeline-sync map: (re)map focus deals to their Pipedrive records (first-run, or after adding a deal)
  • /pipeline-sync discover: list open Pipedrive deals not in the tracker (find what you're missing)

Method

Gate the run on the companion skill, integration state, configured tracker path, and a complete live read. Build a deal-by-deal ledger containing the tracker and Pipedrive identifiers, values, source update times, retrieval as-of time, and read completeness. Reconcile mappings, fields, totals, and untracked deals without changing either system. Present each drift direction as a human choice. For every confirmed mutation, preview the exact payload or file diff, apply only that choice, then read back both affected authorities before moving to the next change. Treat ambiguous network outcomes as unresolved, not retryable failures.

Output contract

Return integration and coverage status, the source ledger, drift rows, unchecked deals, mapping gaps, totals reconciliation, and decisions still required. The final change summary must be derived only from read-back receipts and must name each verified target. Explicitly report zero changes, partial completion, or failure rather than using a fixed success sentence. Include unresolved and unknown items, the denominator behind every total, and any ambiguous write that must be inspected before retry. A tool response alone is never a success receipt.

Operating principles (non-negotiable)

  • Confirm every write. Never call a Pipedrive write tool (pipedrive_add_deal_note, pipedrive_add_deal_activity, pipedrive_update_deal, pipedrive_create_deal, pipedrive_create_org) without first showing the exact payload (use dry_run: true) and getting the user's explicit yes. CRMs are often shared with colleagues. The tools preview by default and only send on an explicit dry_run: false, so that parameter is the record of the user's yes — never pass it to "get past" a preview the user has not actually seen and approved.
  • A partial read is not a clean read. pipedrive_get_pipeline_snapshot and pipedrive_list_deals return a complete flag and a warning when they could not see everything. When complete is false, report the named deals as unchecked; never fold them into "no drift" or "nothing else in the CRM".
  • Never auto-resolve drift. For each difference, the user chooses the direction. Default to doing nothing.
  • Tracker totals matter. If a deal value or probability changes on the tracker side, recompute any gross/weighted totals the tracker maintains and update its last_updated field if it has one.
  • Re-read before editing. Re-read the tracker and any company page immediately before editing it; don't trust session memory of file state.
  • Report, don't editorialise. Drift is information, not a prompt to pressure the user into action. Show the numbers plainly and let them decide.

Evidence, authority, and recovery

Treat catalogue-visible companion skills and Pipedrive prerequisites as gates, not optional context. Before gathering, verify that the catalogue exposes the pipedrive-setup companion, that the Pipedrive integration is enabled and connected, and that the configured tracker path is readable. If a required companion or prerequisite is missing, unavailable, or contradictory, name it and stop or degrade to a clearly labelled local-only report; never fake a live CRM view.

  • Record provenance for every drift row and total: source path or Pipedrive record, source date/updated time, and the as-of time of the read. Keep tracker and CRM values side by side. If they conflict, show both sources and dates; keep missing data as Unknown, never invent absent facts, or silently choose a direction.
  • A partial read is an incomplete read. When complete is false, a warning is present, or a companion returns only part of the catalogue, list every unchecked deal and the missing scope, disclose denominator coverage, and do not report "no drift" or write based on the partial result.
  • Keep reconciliation read-only until an authorized human decides. A mapping, recommendation, or drift direction is not a human decision. Before any tracker or Pipedrive change, show an exact write preview: target, exact before/after content or payload, and all derived total changes. Require the authorized human's explicit confirmation; do not rely on implied approval.
  • After every confirmed write, read back the changed record and tracker and reconcile the read-back with the approved preview. Report success only when the values match. If a write fails, times out, or read-back is incomplete or differs, state what may have changed, re-read the authoritative source, and wait for explicit human direction before repairing or retrying.
  • Retry idempotency must be proved rather than assumed. A network error after Pipedrive accepts a write is ambiguous; do not silently retry. Check the deal's notes/activities or other authoritative record first, then show a fresh exact preview and obtain confirmation before sending a new write.

Step 0: Gate

  1. Check pipedrive.enabled in System/integrations/config.yaml. If not enabled -> "Pipedrive isn't connected yet, run /pipedrive-setup first." and stop.
  2. Run pipedrive_status(). If it does not return connected: true, surface the user_message and stop.
Show full SKILL.md (650 more words)Show less

Step 1: Delegate the gather (Agent subagent)

Spawn a general-purpose Agent using the prompt in AGENT_INSTRUCTIONS.md (substitute the mode: reconcile | map | discover). The subagent does the heavy read/diff work in its own context and returns a compact structured report:

  • For reconcile: a drift list (per deal: field, tracker value, Pipedrive value) + unmapped focus deals + totals check.
  • For map: candidate Pipedrive matches per unmapped focus deal.
  • For discover: open Pipedrive deals with no tracker row.

If the Agent fails, fall back to running the instructions inline.

Step 2: Present + decide (in conversation)

Reconcile mode: show a compact table:

Deal                                      Field        Tracker                 Pipedrive
[Deal title] ([account from source])      [field]      [tracker source value]  [Pipedrive source value]  -> [tracker|pipedrive|skip]
[Second sourced deal, if one exists]      [field]      [tracker source value]  [Pipedrive source value]  -> [tracker|pipedrive|skip]

Populate every bracket from the reconciliation ledger and retain [source ID], [source date], and [as-of date] for both sides. If a field lacks evidence, display Unknown; do not turn the example shape into deal facts.

For each row ask which way to resolve (or batch: "take Pipedrive for all numbers, leave narrative alone").

Map mode: for each unmapped focus deal, show candidate matches and confirm; then pipedrive_save_mapping(dex_key, deal_id, org_id, title) and write the ids into the markdown (Step 3).

Discover mode: list untracked deals; offer to add any the user wants to the tracker (no Pipedrive write needed). If the user mentions a deal that exists in neither place, offer to create it in Pipedrive only if writes.allow_create: true in System/integrations/pipedrive.yaml; otherwise add it to the tracker only and mention that CRM creation is switched off (they can enable it via /pipedrive-setup if they want it).

Step 3: Apply confirmed changes

  • Tracker <- Pipedrive: re-read the tracker, edit the row and any matching per-deal detail block, recompute totals if value/probability changed, update last_updated if the tracker has one. Reconcile the matching 05-Areas/Companies/<account>.md page in the same flow so deal data never drifts between files.
  • **Pipedrive <- Tracker:** build the payload, call the write tool with dry_run: true, show it, get the yes, then send with dry_run: false. Map stage phrases -> stage_id and owner names -> user_id using pipedrive.yaml (stage_mapping/owner_mapping); if a mapping is missing, ask rather than guess.
  • Creating a record (discover mode, gate on): same discipline. pipedrive_create_org first if the organisation doesn't exist, then pipedrive_create_deal, each previewed with dry_run: true and sent only on an explicit yes.
  • Mapping persisted: store the Pipedrive deal id in the tracker's per-deal detail (- **Pipedrive deal:** <id> - synced <timestamp> - stage: <name>) and pipedrive_org_id + pipedrive_synced_at in the company page frontmatter.

Step 4: Summarise

Build the summary from the read-back receipt for each approved target. Name the verified tracker rows, company pages, mappings, or Pipedrive records and report their actual counts. If no approved mutation occurred, say zero changes. If some writes failed or could not be read back, report partial with each verified and unverified target. If the gather or every mutation failed, report failure and the authoritative state that remains unknown. Note all unresolved drift.


Notes for the assistant

  • Names may be dictated by voice; resolve owner names against owner_mapping and the People Index before mapping, and don't create duplicates from spelling variants.
  • A focus deal owned by a colleague is in scope: the tracker can hold the whole team's book. A 403 on a write means the token can't edit that deal; surface it honestly and offer to note the change on the tracker side only.

Known limitation: retry idempotency must be proved, not assumed

If the connection drops after Pipedrive accepts a note or activity but before its reply arrives, the write succeeded and Dex cannot tell. Pipedrive's API offers no idempotency key, so there is no way to make a retry provably safe.

So do not silently retry a write that failed with a network error. Say what happened, and offer to check the deal first: pipedrive_get_deal lists the deal's recent notes and activities, so the user can see whether the write landed before deciding to send it again. A duplicate note in a shared CRM is cheap to delete and expensive to explain — checking beats guessing.

© davekilleen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/pipeline-sync of davekilleen/Dex.

  • SKILL.md
  • AGENT_INSTRUCTIONS.md

Open the folder on GitHubat commit 227f78e

Compare with similar skills

Pipeline Sync next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pipeline Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pipeline Sync this skilldavekilleen/Dex493—~2.8kAutomated safety check: PassMIT
Cold Outbound Optimizerericosiu/ai-marketing-skills3.6k1 repos~1.7kAutomated safety check: PassMIT
Doc Coauthoringaws-samples/sample-strands-agent-with-agentcore19541 repos~3.2kAutomated safety check: PassMIT
Amazon Buy Box Monitorbrowser-act/skills6.1k1 repos~1.6kAutomated safety check: PassMIT
Review Analysisliangdabiao/amazon-sorftime-research-MCP-skill9531 repos~2.5kAutomated safety check: PassNone
Deskcomm Extensaomelgarafael/DeskcommCRM4.5k—~2.7kAutomated safety check: PassMIT

Similar skills

  • Cold Outbound Optimizer

    ericosiu/ai-marketing-skills

    Design, analyze, and optimize cold outbound email campaigns for Instantly.

    3.6k GitHub starsUsed in 1 repo~1.7k tokens
    Sales & SupportAuto-check passed
  • Doc Coauthoring

    aws-samples/sample-strands-agent-with-agentcore

    Official

    Guide users through a structured workflow for co-authoring documentation.

    195 GitHub starsUsed in 41 repos~3.2k tokens
    Sales & SupportAuto-check passed
  • Amazon Buy Box Monitor

    browser-act/skills

    Pulls Amazon product details, competing seller prices and seller ratings for a given ASIN through the BrowserAct API, without browser automation.

    6.1k GitHub starsUsed in 1 repo~1.6k tokens
    Sales & SupportAuto-check passed
  • Review Analysis

    liangdabiao/amazon-sorftime-research-MCP-skill

    对亚马逊商品评论进行深度分析,自动识别产品痛点、分析退货原因,生成改进建议和客服回复模板。Invoke when user uses /review-analysis command with a product ASIN.

    953 GitHub starsUsed in 1 repo~2.5k tokens
    Sales & SupportAuto-check passed
  • Deskcomm Extensao

    melgarafael/DeskcommCRM

    Guia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo.

    4.5k GitHub stars~2.7k tokensUpdated today
    Sales & SupportAuto-check passed
  • Tourmind Booking

    tourmind-com/Tourmind-Booking-Skills

    MUST USE for any hotel or accommodation intent in any language, including hotel search, hotel recommendations, nearby accommodation, hostels, guesthouses, resorts, where-to-stay questions, room…

    1.7k GitHub stars~13k tokensUpdated yesterday
    Sales & SupportAuto-check passed

More from davekilleen/Dex

All 61 skills in this repo
  • Dspy Ruby

    davekilleen/Dex

    This skill should be used when working with DSPy.rb, a Ruby framework for building type-safe, composable LLM applications.

    493 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Diff Adopt Profile

    davekilleen/Dex

    Adopt a full published Heydex profile by handle ('set me up like @davekilleen').

    493 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Diff Generate

    davekilleen/Dex

    Package one workflow — how you use Dex for a specific job — into a shareable DexDiff methodology doc.

    493 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Creating Agent Skills

    davekilleen/Dex

    Expert guidance for creating, writing, and refining Claude Code Skills.

    493 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Feedback

    davekilleen/Dex

    Report a Dex bug to the Dex team with zero homework — Dex investigates locally, builds a privacy-safe report, shows it to you (or auto-sends if you've chosen that), and tracks the ticket until it's…

    493 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Dhh Rails Style

    davekilleen/Dex

    This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style.

    493 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed

Categories

Questions about Pipeline Sync

What does Pipeline Sync do?

Live view of your Pipedrive pipeline reconciled against your local pipeline tracker; flags drift, maps focus deals, and pushes confirmed updates to the CRM. Pipeline Sync is an agent skill from davekilleen/Dex. Live view of your Pipedrive pipeline reconciled against your local pipeline tracker; flags drift, maps focus deals, and pushes confirmed updates to the CRM.

When should I use Pipeline Sync?

Pipeline Sync fits situations like: the user says sync my pipeline; show me my pipeline; reconcile the CRM.

How do I install Pipeline Sync in Claude Code?

Run `npx skills add davekilleen/Dex --skill pipeline-sync -a claude-code`. Or copy the skill folder (.agents/skills/pipeline-sync in davekilleen/Dex) into .claude/skills/pipeline-sync in your project. Claude Code loads it when a task matches its description.

How do I install Pipeline Sync in Codex?

Run `npx skills add davekilleen/Dex --skill pipeline-sync -a codex`. Or copy the skill folder (.agents/skills/pipeline-sync in davekilleen/Dex) into .agents/skills/pipeline-sync in your project. Codex loads it when a task matches its description.

Can I use Pipeline Sync in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davekilleen/Dex --skill pipeline-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pipeline-sync, .gemini/skills/pipeline-sync, .github/skills/pipeline-sync and .opencode/skills/pipeline-sync in your project.

What does Pipeline Sync need to run?

SKILL.md names no scripts, command-line tools or credentials: Pipeline Sync is instructions for the agent only.

Does Pipeline Sync access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Pipeline Sync safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pipeline Sync use?

Pipeline Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pipeline Sync use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pipeline Sync?

Skills that share tags, products or a category with Pipeline Sync: Cold Outbound Optimizer (ericosiu/ai-marketing-skills, 3.6k stars), Doc Coauthoring (aws-samples/sample-strands-agent-with-agentcore, 195 stars), Amazon Buy Box Monitor (browser-act/skills, 6.1k stars) and Review Analysis (liangdabiao/amazon-sorftime-research-MCP-skill, 953 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pipeline Sync?

davekilleen (a GitHub user) maintains it in davekilleen/Dex, which has 493 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 8, 2026.

Source: davekilleen/Dex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.