Skip to content

docs(skills): backport Flex lineage + manual-outreach pitfalls (v1.6.1)#11

Merged
alexskatell merged 2 commits into
mainfrom
skills-flex-lineage-pitfalls-v1.6.1
May 14, 2026
Merged

docs(skills): backport Flex lineage + manual-outreach pitfalls (v1.6.1)#11
alexskatell merged 2 commits into
mainfrom
skills-flex-lineage-pitfalls-v1.6.1

Conversation

@alexskatell
Copy link
Copy Markdown
Contributor

Summary

Brings the bundled skills/hermes and skills/claude-code skills up to the v1.6.1 contract already running in the per-profile copies. Two pitfalls fell out of recent live Paul audits and are now canonical; this PR promotes them to the public bundled skills.

What changes

Pitfalls added (both bundled variants):

  • Treating current pipeline as historical origin. Current opportunities state is not proof of original pipeline lineage. For Flex triage → qualified conversion questions, answer current-state first, then add a lineage confidence caveat unless a history/audit surface records the move. Prevents "originated in Triage" claims based only on current pipeline = Qualified.
  • Counting automated workflow touches as rep effort. Manual outreach audits must exclude raw_payload.source = 'app' workflow automation and break out call/email/SMS + contact counts separately.

Reference doc promoted to bundled hermes:

  • skills/hermes/references/flex-crm-lineage-and-manual-outreach.md — Flex pipeline IDs, manual-outreach SQL patterns, lineage caveats, history-surface probe.

Parity fix:

  • skills/claude-code/SKILL.md now carries version: 1.6.1 (was missing the version field entirely).

Why

  • The two pitfalls have already prevented real reporting errors in live audits (Flex won-deal lineage misattribution, workflow-touch inflation of rep activity).
  • The bundled skills are what other agents in the ecosystem read; keeping them drifted from the per-profile copies means the same loopholes get re-discovered downstream.
  • No CLI behavior changes — docs only.

Test plan

  • All four canonical+profile+bundled SKILL.md files at v1.6.1
  • Reference doc copied to bundled hermes references/
  • claude-code variant has version field
  • Fresh Discord audit thread shows the lineage caveat / automation exclusion when those situations arise

Alex Skatell added 2 commits May 14, 2026 11:16
GHL returns meta.startAfter as a JSON number (epoch ms). stringField
returned "" for non-string types, silently dropping the cursor and
breaking after page 1. Fix with anyToString helper that handles
float64/int/json.Number (strconv.FormatFloat 'f',-1 to avoid scientific
notation in the next request's query string).

Also drop the len(list) < pageLimit early-break in syncContacts — GHL
filters server-side, so a short page can be followed by a full one.
Trust the cursor as the only stop signal.

Adds pagination_test.go as a regression guard.
…dled skills

Promotes two pitfalls already in use in the sales_agent profile copy
to the bundled hermes and claude-code skills, plus the supporting
reference doc, and adds the missing `version` field to the claude-code
variant so parity scripts see both at the same revision.

Pitfalls:
- "Treating current pipeline as historical origin" — current
  opportunities state is not proof of original pipeline; Flex
  triage→qualified questions need a lineage caveat unless a
  history/audit surface records the move.
- "Counting automated workflow touches as rep effort" — manual
  outreach audits must exclude raw_payload.source = 'app' workflow
  automation and break out channel + contact counts separately.

Both pitfalls fell out of live Paul audits and are now part of the
canonical and per-profile skill copies; this PR brings the open-source
bundled skills to the same v1.6.1 contract.

No CLI behavior changes.
@alexskatell alexskatell merged commit 38cf5cb into main May 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant