Back to The Times of Claw

DenchClaw + GitHub: Connect Dev Activity to Sales

Connect GitHub activity to your CRM with DenchClaw's GitHub skill — track open-source project usage by prospects, link PRs to deals, and build a DevRel view.

Mark Rachapoom
Mark Rachapoom
·7 min read
DenchClaw + GitHub: Connect Dev Activity to Sales

DenchClaw + GitHub: Connect Dev Activity to Sales

If you're selling developer tools or open-source software, GitHub activity is a signal. Who's starring your repo? Which companies have engineers opening issues? Are your prospects already using your project? DenchClaw's GitHub skill connects this data to your CRM contacts and deals, so you can prioritize outreach based on actual product engagement.

Here's how to set it up and use it.

Setting Up the GitHub Skill#

DenchClaw's GitHub integration uses the gh CLI — the official GitHub CLI — to query GitHub data from your machine.

Step 1: Install the GitHub skill#

npx denchclaw skill install github

Step 2: Authenticate gh CLI#

gh auth login

Follow the prompts to authenticate via browser. This gives gh access to your GitHub account and any organizations you're a member of.

Step 3: Verify the connection#

gh api user

This should return your GitHub user profile. If it works, you're connected.

Step 4: Tell DenchClaw to use GitHub#

"I've connected the GitHub skill. Use it for developer activity tracking."

DenchClaw registers the skill and will use it when you ask GitHub-related questions.

Linking GitHub Activity to Contact Entries#

The core workflow: a GitHub user stars your repo, opens an issue, or submits a PR. If that person is in your CRM (matched by email or GitHub username), DenchClaw logs the activity to their contact record.

Step 1: Store GitHub usernames in your CRM#

Add a github_username field to your contacts:

"Add a GitHub username field to the Contacts object"

Then populate it for existing contacts:

"Find GitHub usernames for contacts where I know their email address"

DenchClaw searches GitHub's API for users matching your contacts' emails:

gh api search/users --field q="email:sarah@acme.com"

Step 2: Log GitHub activity to contacts#

"Check for new GitHub activity on my repo and log it to matching contacts"

DenchClaw runs:

# Get recent stargazers
gh api repos/{owner}/{repo}/stargazers --field per_page=100
 
# Get recent watchers
gh api repos/{owner}/{repo}/subscribers --field per_page=100
 
# Get recent issues
gh api repos/{owner}/{repo}/issues --field state=open --field per_page=50

For each GitHub user found, it checks if their username or email matches a CRM contact and logs the activity.

Viewing GitHub activity in DuckDB#

-- GitHub activity by contact
SELECT
  c.name,
  c.company,
  ga.activity_type,
  ga.repo,
  ga.date,
  ga.details
FROM v_contacts c
JOIN github_activities ga ON ga.contact_id = c.id
ORDER BY ga.date DESC
LIMIT 50;

Tracking Which Prospects Use Your Open-Source Project#

Stars and forks are leading indicators of product adoption. DenchClaw can cross-reference your repo's stargazers against your CRM contacts to find prospects who are already using your project.

Who starred your repo?#

"Show me which of my CRM contacts have starred my GitHub repo"

DenchClaw:

  1. Fetches your repo's stargazer list from GitHub
  2. Extracts GitHub usernames and emails
  3. Cross-references against DuckDB contacts
  4. Returns matches with CRM context
-- Contacts who are also GitHub stargazers
SELECT
  c.name,
  c.company,
  c.deal_stage,
  c.email,
  gs.starred_at
FROM v_contacts c
JOIN github_stargazers gs ON gs.github_username = c.github_username
   OR gs.email = c.email
ORDER BY gs.starred_at DESC;

Who forked your repo?#

Forks signal active usage — someone forked your project to build on it.

SELECT
  c.name,
  c.company,
  c.deal_stage,
  gf.forked_at,
  gf.fork_url
FROM v_contacts c
JOIN github_forks gf ON gf.github_username = c.github_username
ORDER BY gf.forked_at DESC;

Companies with multiple repo contributors#

If multiple engineers from the same company are interacting with your repo, it's a strong signal:

SELECT
  c.company,
  COUNT(DISTINCT c.id) AS team_members_active,
  MAX(ga.date) AS latest_activity
FROM v_contacts c
JOIN github_activities ga ON ga.contact_id = c.id
GROUP BY c.company
HAVING COUNT(DISTINCT c.id) > 1
ORDER BY team_members_active DESC;

Using PR Activity in Deal Context#

If prospects or customers are opening issues or contributing PRs, that context is valuable during sales conversations.

"What GitHub issues has Sarah Chen opened on our repo?"

DenchClaw queries:

gh api search/issues \
  --field q="repo:myorg/myrepo author:sarahchen-dev" \
  --field per_page=20

And returns the issue titles, dates, and current status.

Before a sales call#

"Show me all GitHub activity for contacts at Acme Corp in the last 3 months"

This surfaces:

  • Issues they've opened (what problems are they hitting?)
  • PRs they've submitted (are they contributing? what features?)
  • Comments on issues (what features are they asking about?)
  • Repo stars and forks

Knowing that someone opened three issues about a missing feature before your call means you can lead with that feature.

Log PR context to deal records#

"Log that Acme Corp has a contributor PR open on our repo.
 Add it as a note to their deal record."

DenchClaw creates an interaction entry:

INSERT INTO interactions (contact_id, type, date, notes, source)
VALUES (
  (SELECT id FROM entries WHERE name = 'Sarah Chen'),
  'github_activity',
  NOW(),
  'Opened PR #247: Add OAuth2 support. PR is open and awaiting review.',
  'github'
);

Building a Developer Relations CRM View#

If you're running developer relations alongside sales, DenchClaw can maintain a separate "DevRel" view in your CRM.

Set up the DevRel segment#

"Create a segment called 'Developer Community' for contacts who have GitHub activity on our repo"

DenchClaw creates a filtered view:

-- DevRel view: contacts with GitHub engagement
SELECT
  c.name,
  c.company,
  c.github_username,
  c.title,
  COUNT(DISTINCT ga.id) AS github_interactions,
  MAX(ga.date) AS last_github_activity,
  bool_or(ga.activity_type = 'star') AS is_stargazer,
  bool_or(ga.activity_type = 'fork') AS has_forked,
  bool_or(ga.activity_type = 'issue') AS has_opened_issue,
  bool_or(ga.activity_type = 'pr') AS has_submitted_pr
FROM v_contacts c
JOIN github_activities ga ON ga.contact_id = c.id
GROUP BY c.name, c.company, c.github_username, c.title
ORDER BY github_interactions DESC;

Track community contributors separately from sales prospects#

-- High-value developer community members not yet in sales pipeline
SELECT
  c.name,
  c.company,
  c.github_username,
  c.deal_stage,
  COUNT(ga.id) AS total_contributions
FROM v_contacts c
JOIN github_activities ga ON ga.contact_id = c.id
WHERE c.deal_stage IS NULL
  OR c.deal_stage NOT IN ('Proposal', 'Contract', 'Closed Won')
GROUP BY c.name, c.company, c.github_username, c.deal_stage
HAVING COUNT(ga.id) >= 3
ORDER BY total_contributions DESC;

These are community members worth a personal outreach — they're already invested in your project.

Querying GitHub Data Alongside CRM Data#

The power of having GitHub data in DuckDB is that you can combine it with everything else.

Prospects who starred the repo AND opened a support issue:

SELECT DISTINCT
  c.name,
  c.company,
  c.email,
  c.deal_stage
FROM v_contacts c
JOIN github_activities ga1 ON ga1.contact_id = c.id AND ga1.activity_type = 'star'
JOIN github_activities ga2 ON ga2.contact_id = c.id AND ga2.activity_type = 'issue'
ORDER BY c.company;

High-intent signal: starred + no CRM record yet:

SELECT
  gs.github_username,
  gs.email,
  gs.starred_at
FROM github_stargazers gs
LEFT JOIN v_contacts c ON c.github_username = gs.github_username
   OR c.email = gs.email
WHERE c.id IS NULL
ORDER BY gs.starred_at DESC;

These are people who care enough to star your repo but aren't in your CRM yet — worth adding.

Frequently Asked Questions#

Do I need a GitHub token to use this?

The gh CLI handles authentication. After gh auth login, DenchClaw uses your authenticated session. For public repos, most queries don't require authentication. For private repos and organization data, your GitHub account needs the appropriate permissions.

Can DenchClaw monitor competitor repos?

Yes. You can track stars, forks, and contributors on any public GitHub repo. This is useful for developer tools companies: "Show me people who starred CompetitorX's repo but aren't in my CRM yet." Set this up with gh api repos/competitor/repo/stargazers.

What's the GitHub API rate limit?

Authenticated requests get 5,000 requests per hour. For most CRM use cases (checking activity for hundreds of contacts), this is more than sufficient. DenchClaw tracks rate limit usage and backs off if needed.

Can I track activity across multiple repos?

Yes. Specify multiple repos:

"Track GitHub activity across myorg/repo-a and myorg/repo-b for CRM contacts"

DenchClaw queries both and logs activity with the repo name as context in DuckDB.

How often does DenchClaw sync GitHub data?

By default, GitHub activity is not continuously monitored — you trigger syncs manually or via scheduled tasks. Set up a daily sync: "Check for new GitHub activity on my repo every morning and log it to matching contacts."

Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →

Mark Rachapoom

Written by

Mark Rachapoom

Building the future of AI CRM software.

Continue reading

DENCH

© 2026 DenchHQ · San Francisco, CA