From f056952e5051d44494ea61ef69d29b55d96ad3fd Mon Sep 17 00:00:00 2001 From: Affaan Mustafa Date: Tue, 31 Mar 2026 15:02:19 -0700 Subject: [PATCH] refactor: fold social graph ranking into lead intelligence --- AGENTS.md | 8 +- README.md | 10 +- manifests/install-modules.json | 3 +- skills/lead-intelligence/SKILL.md | 46 +++++++ skills/social-graph-ranker/SKILL.md | 199 ---------------------------- 5 files changed, 56 insertions(+), 210 deletions(-) delete mode 100644 skills/social-graph-ranker/SKILL.md diff --git a/AGENTS.md b/AGENTS.md index f8fdee4f..d92bde10 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Everything Claude Code (ECC) — Agent Instructions -This is a **production-ready AI coding plugin** providing 30 specialized agents, 140 skills, 60 commands, and automated hook workflows for software development. +This is a **production-ready AI coding plugin** providing 36 specialized agents, 142 skills, 68 commands, and automated hook workflows for software development. **Version:** 1.9.0 @@ -139,9 +139,9 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat ## Project Structure ``` -agents/ — 30 specialized subagents -skills/ — 140 workflow skills and domain knowledge -commands/ — 60 slash commands +agents/ — 36 specialized subagents +skills/ — 142 workflow skills and domain knowledge +commands/ — 68 slash commands hooks/ — Trigger-based automations rules/ — Always-follow guidelines (common + per-language) scripts/ — Cross-platform Node.js utilities diff --git a/README.md b/README.md index 19927e01..b1235671 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ For manual install instructions see the README in the `rules/` folder. When copy /plugin list everything-claude-code@everything-claude-code ``` -**That's it!** You now have access to 30 agents, 140 skills, and 60 commands. +**That's it!** You now have access to 36 agents, 142 skills, and 68 commands. ### Multi-model commands require additional setup @@ -295,7 +295,7 @@ everything-claude-code/ | |-- plugin.json # Plugin metadata and component paths | |-- marketplace.json # Marketplace catalog for /plugin marketplace add | -|-- agents/ # 30 specialized subagents for delegation +|-- agents/ # 36 specialized subagents for delegation | |-- planner.md # Feature implementation planning | |-- architect.md # System design decisions | |-- tdd-guide.md # Test-driven development @@ -1109,9 +1109,9 @@ The configuration is automatically detected from `.opencode/opencode.json`. | Feature | Claude Code | OpenCode | Status | |---------|-------------|----------|--------| -| Agents | PASS: 30 agents | PASS: 12 agents | **Claude Code leads** | -| Commands | PASS: 60 commands | PASS: 31 commands | **Claude Code leads** | -| Skills | PASS: 140 skills | PASS: 37 skills | **Claude Code leads** | +| Agents | PASS: 36 agents | PASS: 12 agents | **Claude Code leads** | +| Commands | PASS: 68 commands | PASS: 31 commands | **Claude Code leads** | +| Skills | PASS: 142 skills | PASS: 37 skills | **Claude Code leads** | | Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** | | Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** | | MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** | diff --git a/manifests/install-modules.json b/manifests/install-modules.json index 0b270409..8854ea79 100644 --- a/manifests/install-modules.json +++ b/manifests/install-modules.json @@ -284,8 +284,7 @@ "skills/investor-materials", "skills/investor-outreach", "skills/lead-intelligence", - "skills/market-research", - "skills/social-graph-ranker" + "skills/market-research" ], "targets": [ "claude", diff --git a/skills/lead-intelligence/SKILL.md b/skills/lead-intelligence/SKILL.md index c7a10a8d..634448b8 100644 --- a/skills/lead-intelligence/SKILL.md +++ b/skills/lead-intelligence/SKILL.md @@ -93,6 +93,52 @@ For each scored target, analyze the user's social graph to find the warmest path | Industry alignment | 15% — same vertical = natural intro | | Mutual's X handle / LinkedIn | 10% — identifiability for outreach | +### Weighted Bridge Ranking + +Treat this as the canonical network-ranking stage for lead intelligence. Do not run a separate graph skill when this stage is enough. + +Given: +- `T` = target leads +- `M` = your mutuals / existing connections +- `d(m, t)` = shortest hop distance from mutual `m` to target `t` +- `w(t)` = target weight from signal scoring + +Compute the base bridge score for each mutual: + +```text +B(m) = Σ_{t ∈ T} w(t) · λ^(d(m,t) - 1) +``` + +Where: +- `λ` is the decay factor, usually `0.5` +- a direct connection contributes full value +- each extra hop halves the contribution + +For second-order reach, expand one level into the mutual's own network: + +```text +B_ext(m) = B(m) + α · Σ_{m' ∈ N(m) \\ M} Σ_{t ∈ T} w(t) · λ^(d(m',t)) +``` + +Where: +- `N(m) \\ M` is the set of people the mutual knows that you do not +- `α` is the second-order discount, usually `0.3` + +Then rank by response-adjusted bridge value: + +```text +R(m) = B_ext(m) · (1 + β · engagement(m)) +``` + +Where: +- `engagement(m)` is a normalized responsiveness score +- `β` is the engagement bonus, usually `0.2` + +Interpretation: +- Tier 1: high `R(m)` and direct bridge paths -> warm intro asks +- Tier 2: medium `R(m)` and one-hop bridge paths -> conditional intro asks +- Tier 3: no viable bridge -> direct cold outreach using the same lead record + ### Output Format ``` diff --git a/skills/social-graph-ranker/SKILL.md b/skills/social-graph-ranker/SKILL.md deleted file mode 100644 index 0d543118..00000000 --- a/skills/social-graph-ranker/SKILL.md +++ /dev/null @@ -1,199 +0,0 @@ ---- -name: social-graph-ranker -description: Weighted social graph traversal that ranks your network connections by proximity to target leads. Uses exponential decay across hops, parallel execution with lead-intelligence skill, and API-driven outreach prioritization. Replaces Apollo, Clay, and manual networking. -metadata: - tags: networking, outreach, leads, graph-theory, x-api, linkedin, exa ---- - -## When to Use - -Use this skill when you need to: -- Find warm intro paths to specific people or companies -- Rank your existing connections by networking value -- Identify which mutuals to ask for introductions -- Prioritize outbound outreach by warmth and proximity -- Map your social graph against a target lead list - -## How It Works - -### Architecture - -Two parallel pipelines feed a unified ranking engine: - -``` -┌─────────────────────────────────────────────────────────┐ -│ SOCIAL GRAPH RANKER │ -├──────────────────────┬──────────────────────────────────┤ -│ INBOUND PIPELINE │ OUTBOUND PIPELINE │ -│ │ │ -│ Your Connections │ Target Lead List (ICP) │ -│ ┌──────────────┐ │ ┌──────────────────┐ │ -│ │ X Mutuals │ │ │ lead-intelligence │ │ -│ │ X Followers │ │ │ skill (parallel) │ │ -│ │ LI Connections│ │ │ Exa + X API + │ │ -│ └──────┬───────┘ │ │ enrichment agents │ │ -│ │ │ └────────┬─────────┘ │ -│ ▼ │ ▼ │ -│ ┌──────────────┐ │ ┌──────────────────┐ │ -│ │ Connection │ │ │ Ranked Lead List │ │ -│ │ Graph Build │ │ │ (scored by ICP │ │ -│ │ (adjacency) │ │ │ fit + response │ │ -│ └──────┬───────┘ │ │ probability) │ │ -│ │ │ └────────┬─────────┘ │ -│ └────────────┼──────────────┘ │ -│ ▼ │ -│ ┌──────────────────────┐ │ -│ │ GRAPH INTERSECTION │ │ -│ │ Match connections │ │ -│ │ against targets │ │ -│ └──────────┬───────────┘ │ -│ ▼ │ -│ ┌──────────────────────┐ │ -│ │ WEIGHTED RANKING │ │ -│ │ Exponential decay │ │ -│ │ across hops │ │ -│ └──────────┬───────────┘ │ -│ ▼ │ -│ ┌──────────────────────┐ │ -│ │ PRIORITIZED OUTPUT │ │ -│ │ 1. Warm intro asks │ │ -│ │ 2. Direct outreach │ │ -│ │ 3. Network gaps │ │ -│ └──────────────────────┘ │ -└─────────────────────────────────────────────────────────┘ -``` - -### The Math: Weighted Graph Proximity Score - -Given: -- **T** = set of target leads you want to reach -- **M** = set of your mutuals/connections -- **G** = social graph (adjacency) -- **d(m, t)** = shortest path distance from mutual m to target t - -For each mutual m, compute: - -**Bridge Score:** - -``` -B(m) = Σ_{t ∈ T} w(t) · λ^{d(m,t) - 1} -``` - -Where: -- `w(t)` = target weight (from lead-intelligence signal score: role 30%, industry 25%, activity 20%, influence 10%, location 10%, engagement 5%) -- `λ` = decay factor, typically 0.5 (halves value each hop) -- `d(m,t)` = hop distance (1 = direct connection, 2 = mutual-of-mutual, etc.) -- Convention: `d(m,t) = 1` for direct connection, so `λ^0 = 1` (full value) - -**Properties:** -- Direct connection to target: contributes `w(t) · 1.0` -- One hop away: contributes `w(t) · 0.5` -- Two hops: contributes `w(t) · 0.25` -- Three hops: contributes `w(t) · 0.125` -- Effectively zero beyond ~6 hops (Gaussian/exponential decay → 0) - -**Extended Score (second-order network value):** - -For deeper traversal, also consider the mutual's own network reach: - -``` -B_ext(m) = B(m) + α · Σ_{m' ∈ N(m) \ M} Σ_{t ∈ T} w(t) · λ^{d(m',t)} -``` - -Where: -- `N(m) \ M` = connections of m that you DON'T already have -- `α` = second-order discount (typically 0.3) -- This captures: "even if m doesn't know my targets directly, m knows people I don't, who might" - -**Final Ranking:** - -``` -R(m) = B_ext(m) · (1 + β · engagement(m)) -``` - -Where: -- `engagement(m)` = normalized score of how responsive m is (reply rate, interaction frequency) -- `β` = engagement bonus weight (typically 0.2) - -### Execution Steps - -1. **Build Target List** - - Run lead-intelligence skill in parallel to generate scored ICP leads - - Or provide manual target list with names/handles - -2. **Harvest Your Graph** - - X API: `GET /2/users/:id/following` and `GET /2/users/:id/followers` - - LinkedIn: connection export CSV or browser-use scraping - - Build adjacency map: `mutual → [their connections]` - -3. **Intersect and Score** - - For each mutual, check which targets they follow/connect with - - Compute B(m) with decay - - For top-k mutuals, expand one more hop and compute B_ext(m) - -4. **Generate Output** - - Tier 1: Mutuals with B(m) > threshold → warm intro requests - - Tier 2: Targets with no warm path → direct cold outreach via lead-intelligence - - Tier 3: Network gaps → suggest who to follow/connect with to build bridges - -5. **Draft Messages** - - Warm intro: "Hey [mutual], I saw you're connected to [target]. I'm working on [context]. Would you be open to making an intro?" - - Uses outreach-drafter agent from lead-intelligence for personalization - -### Configuration - -```yaml -# Target definition -targets: - - handle: "@targetperson" - platform: x - weight: 0.9 # override signal score - -# Decay parameters -decay_factor: 0.5 # λ — halve value per hop -max_depth: 3 # don't traverse beyond 3 hops -second_order_discount: 0.3 # α — discount for network-of-network -engagement_bonus: 0.2 # β — bonus for responsive mutuals - -# API configuration -x_api: - bearer_token: $X_BEARER_TOKEN - rate_limit_delay: 1.1 # seconds between API calls -linkedin: - method: csv_export # or browser_use - csv_path: ~/Downloads/Connections.csv -``` - -### Integration with lead-intelligence - -This skill runs IN PARALLEL with lead-intelligence: -- lead-intelligence generates the target list (T) with signal scores -- social-graph-ranker maps your network against those targets -- Combined output: prioritized outreach plan with warm paths where available - -### Example Output - -``` -BRIDGE RANKING — Top 10 Mutuals by Network Value -═══════════════════════════════════════════════════ - -#1 @alex_quant (B=4.72) - Direct → @kalshi_ceo (w=0.9), @polymarket_shayne (w=0.85) - 1-hop → @a16z_crypto (w=0.7, via @defi_mike) - Action: Ask for intros to Kalshi + Polymarket - -#2 @sarah_vc (B=3.15) - Direct → @sequoia_partner (w=0.95) - 1-hop → @yc_gustaf (w=0.8, via @batch_founder) - Action: Ask for Sequoia intro - -#3 @dev_community (B=2.88) - Direct → @cursor_ceo (w=0.6), @vercel_guillermo (w=0.6) - 2-hop → @anthropic_dario (w=0.95, via @cursor_ceo → @anthropic_team) - Action: Ask for Cursor intro, mention Anthropic angle - -NETWORK GAPS — No warm path exists -═══════════════════════════════════ -@target_x — Suggest following @bridge_person_1, @bridge_person_2 -@target_y — Direct cold outreach recommended (lead-intelligence draft ready) -```