Not in the top 1,000 by GitHub stars
heydeacon/skills
Skills that let a coding agent add Deacon, an AI support agent, to your site or app.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/deacon-connect/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d5e1005ea2f9
No earlier version was observed for comparison.
skills/deacon-goals/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d5e1005ea2f9
No earlier version was observed for comparison.
skills/deacon-install/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d5e1005ea2f9
No earlier version was observed for comparison.
Verified commit d5e1005ea2f96d7e441ccd887b11cbb0c03838c8
git clone --filter=blob:none --no-checkout https://github.com/heydeacon/skills.git .hotskills/heydeacon-skills && git -C .hotskills/heydeacon-skills checkout --detach d5e1005ea2f96d7e441ccd887b11cbb0c03838c8
# Copy each selected skill directory from .hotskills/heydeacon-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/heydeacon/skills.git .hotskills/heydeacon-skills && git -C .hotskills/heydeacon-skills checkout --detach d5e1005ea2f96d7e441ccd887b11cbb0c03838c8
# Copy each selected skill directory from .hotskills/heydeacon-skills into .gemini/skills/<skill-name>/Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- deacon-connect
skills/deacon-connect - deacon-goals
skills/deacon-goals - deacon-install
skills/deacon-install
How it works
deacon-connect
When your agent uses it
Connect this coding agent to Deacon's MCP server, so it can read what the founder's visitors asked and reported, and help fix it. Use when asked to connect to Deacon.
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
1,016 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- If the Deacon plugin is installed
- 1. Add Deacon for your client
- 2. The founder approves it
- 3. Check it worked
- 4. Start work
- For a script or CI
Files
../../.claude-plugin/icon.pngasset177,209 bytes../../.claude-plugin/marketplace.jsonasset460 bytes../../.claude-plugin/plugin.jsonasset823 bytesSKILL.mdcore4,040 bytesSKILL.mdcore4,040 bytesSKILL.mdcore4,040 bytes
Read SKILL.md
# Connect to Deacon
Deacon is the support chat on the founder's site. Its MCP server lets you read what visitors asked and reported, mark a topic done once it's fixed, and suggest a better version of one of Deacon's answers.
Read this whole, then do the part for your client. The founder approves you in their browser, so there's no key to ask for.
## If the Deacon plugin is installed
If `get_team` is among your tools, Deacon is already connected. Call it as in step 3, then go to step 4.
In Claude Code, if `claude mcp list` shows `plugin:deacon:deacon` needing authentication, the plugin has added Deacon's server, so skip step 1. Ask the founder to run `/mcp`, pick the deacon server and choose Authenticate. Their browser opens on Deacon, as in step 2. Once they've pressed Allow, call `get_team`. If you don't have it yet, ask them to start a new session and call it there.
In another client where a deacon server is already listed, ask the founder to sign in to it the way that client asks, and follow step 2.
View the complete source on GitHubdeacon-goals
When your agent uses it
Send goals to Deacon from a web app so the founder's dashboard counts the moments that matter, such as sign ups, paywall hits and upgrades. Use when asked to add Deacon goals or tracking events to a site that already carries the Deacon widget.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
3,767 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- How to work
- Which moments to count
- Find the framework
- Laravel
- Next.js and React
- Rails
- Plain HTML and site builders
- The three spellings
- Naming and the rules
- Verify
- Leave a note
- When you are done
Files
SKILL.mdcore16,006 bytes
Read SKILL.md
# Deacon goals
Deacon is the support widget on this site. Its Analytics › Website page counts visitors, page views and goals. A goal is a moment the founder wants counted, sent by the site under a name of the founder's choosing: "Sign up", "Paywall hit", "Upgraded". The Deacon loader is already on every page and carries the site key, so sending a goal is one attribute on an element or one line of JavaScript. Nothing else is installed.
If the founder gave you the goals prompt from Deacon's dashboard, it carries the site key, the goals they have named and the address to verify at. Otherwise ask them for the site key, the `data-key` value in the snippet on the Install page. The goals they have named come back from the address in Verify below: under `waiting` until they arrive, and marked `named` once they have. This document carries everything else. Read it whole.
## How to work
1. Confirm the loader is on the site: search the code for `widget/v1/loader.js`. If it is missing, install it first with the deacon-install skill.
2. Send every goal the founder named, under exactly that name. If this app has no such moment, leave that goal unwired and say so at the end, with what you searched for. Never tag the nearest button that could pass for it: on a dashboard a made-up number looks exactly like a real one.
3. Add the moments from the list below that this app has and the founder did not name. Deacon builds funnels from goals read in order, so a journey with a missing step cannot be measured: a "Sign up" goal with no "Upgraded" goal cannot say how many of the people who signed up went on to pay.
4. Verify by polling until every goal has arrived, then report what you did, as the end of this document describes.
Work from the code. Do not stop to ask which goals to send: the founder reviews your choices at the end, and can rename or remove any goal on the dashboard.View the complete source on GitHubdeacon-install
When your agent uses it
Install the Deacon support widget on a website or web app: place one script tag on every page, tell Deacon who is signed in, and confirm from the command line that a real page has loaded it. Use when asked to install Deacon, add its snippet or embed code, or set it up on a site.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
7,698 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before you start
- 1. The domains
- 2. The snippet
- 3. Tell Deacon who is asking
- 4. Open it from your own button
- 5. Check it went live
- Tell the founder what you did
- Page views, with no further step
- After it's live
Files
SKILL.mdcore31,388 bytesSKILL.mdcore31,388 bytes
Read SKILL.md
# Install Deacon
Deacon is added to a site once: one script tag, on every page. How it looks is set on the Appearance page of the dashboard and updates on its own, so the tag never changes after it is placed. This is the dashboard's Install page as a document, for a coding agent doing the work.
Work through the steps in order. Steps 1 and 2 are the install; step 3 is the one a founder pasting the tag by hand almost never does, and it is what makes Deacon answer for the person in front of it rather than in general.
## Before you start
The founder needs a Deacon account and the site's key. Without one, they sign up at https://heydeacon.com/register (the free plan needs no card), open Install on the dashboard, add the site's domain and give you the `data-key` value from the snippet there. Never make up a key: without the founder's real key the widget won't load.
## 1. The domains
On the dashboard's Install page, the founder lists the domains the widget may run on. The widget appears on every page of those domains and nowhere else, and the first domain generates the site's snippet. A listed domain covers its subdomains, www included, so `acme.com` covers `app.acme.com` too. The scheme and port must match, except that `localhost` or `127.0.0.1` listed with no port covers every port. No `https://` is needed when typing one, and a development address (localhost, a `.test` or `.local` site, a private network address) typed without a scheme is saved with `http://`. On a domain that is not listed the widget stays hidden, although the loader has set its visitor cookie by then.
View the complete source on GitHubSkills included
- deacon-connect
- deacon-goals
- deacon-install
Repository facts
- License
- MIT
- Created
- Oct 22, 2026
- Last pushed
- Nov 3, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3 notes
skills/deacon-connect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deacon-connect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deacon-install/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 45 network referencesin 5 files: deacon-install/SKILL.md:14 .claude-plugin/plugin.json:7 deacon-connect/SKILL.md:29 and 2 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 3 references to secretsin 1 file: deacon-install/SKILL.md:209
- No requests to vote in Hot
Show all 48 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
- Network accessline 7
"name": "Deacon", "email": "hello@heydeacon.com", "url": "https://heydeacon.com" - Network accessline 8
"email": "hello@heydeacon.com", "url": "https://heydeacon.com" }, - Network accessline 9
"url": "https://heydeacon.com" - Network accessline 10
}, "homepage": "https://heydeacon.com", "repository": "https://github.com/heydeacon/skills", - Network accessline 11
"homepage": "https://heydeacon.com", - Network accessline 12
"repository": "https://github.com/heydeacon/skills", - Network accessline 13
"documentationUrl": "https://heydeacon.com/agent/install.md", - Network accessline 14
"supportUrl": "https://github.com/heydeacon/skills/issues", - Network accessline 15
"privacyPolicyUrl": "https://heydeacon.com/privacy", - Network accessline 16
"termsOfServiceUrl": "https://heydeacon.com/terms",
skills/deacon-connect/SKILL.md
- Network accessline 29
claude mcp add --transport http deacon https://heydeacon.com/mcp - Network accessline 40
codex mcp add deacon --url https://heydeacon.com/mcp - Network accessline 48
{ "mcpServers": { "deacon": { "url": "https://heydeacon.com/mcp" } - Network accessline 49
"mcpServers": { "deacon": { "url": "https://heydeacon.com/mcp" } } - Network accessline 50
"deacon": { "url": "https://heydeacon.com/mcp" } - Network accessline 62
{ "mcpServers": { "deacon": { "type": "http", "url": "https://heydeacon.com/mcp", "tools": ["*"] } - Network accessline 63
"mcpServers": { "deacon": { "type": "http", "url": "https://heydeacon.com/mcp", "tools": ["*"] } } - Network accessline 64
"deacon": { "type": "http", "url": "https://heydeacon.com/mcp", "tools": ["*"] } - Network accessline 77
Point it at `https://heydeacon.com/mcp`, over HTTP. It will find how to sign in from the first refused call. - Network accessline 95
If the founder asks what each tool does, it is under MCP server in the API docs at https://heydeacon.com/docs/api#mcp-server.
skills/deacon-goals/SKILL.md
- Network accessline 204
curl -s "https://heydeacon.com/api/goals/recent?k=SITE_KEY" - Network accessline 247
- Paywall hit: the upgrade dialog's open button (data-deacon-goal). - Upgraded: the checkout success page (window.Deacon.track). Names must match the dashboard exactly. Check they arrive with `curl -s "https://heydeacon.com/api/goals/recent - Network accessline 249
Names must match the dashboard exactly. Check they arrive with `curl -s "https://heydeacon.com/api/goals/recent?k=SITE_KEY"`, using the `data-key` value from the loader.
skills/deacon-install/SKILL.md
- Network accessline 14
The founder needs a Deacon account and the site's key. Without one, they sign up at https://heydeacon.com/register (the free plan needs no card), open Install on the dashboard, add the site's domain and give you the `data-key` value from th - Network accessline 18
On the dashboard's Install page, the founder lists the domains the widget may run on. The widget appears on every page of those domains and nowhere else, and the first domain generates the site's snippet. A listed domain covers its subdomai - Network accessline 20
If the founder has no Deacon account yet, they sign up at https://heydeacon.com/register?utm_source=agent-guide. Setup asks for their website, saves it as the first domain and shows the snippet with the site's key on its Install screen, as - Network accessline 29
<script src="https://heydeacon.com/widget/v1/loader.js" data-key="pk_your_widget_key" async></script> - Network accessline 44
- Bolt: open Code view and paste it before `</body>`, or have the founder paste Install's prompt for Bolt into the chatbox. Its hosting documentation names both routes for third-party scripts, and leaves the location to the script's author. - Network accessline 46
- Replit: the HTML file the deployment serves, or the layout if the app has one. Replit does not document third-party scripts either. If the project followed Replit's security checklist it may carry a `default-src 'self'` content security p - Access to secretsline 209
[Credential-related source omitted] - Access to secretsline 218
[Credential-related source omitted] - Access to secretsline 255
[Credential-related source omitted] - Network accessline 279
[Credential-related source omitted] - Network accessline 280
[Credential-related source omitted] - Network accessline 281
[Credential-related source omitted] - Network accessline 327
curl -s "https://heydeacon.com/api/widget/seen?k=SITE_KEY" - Network accessline 339
{"seen": {"origin": "https://acme.com", "lastSeenAt": "2026-09-06T14:02:10+00:00", "local": false, "fresh": true}, - Network accessline 340
"latest": {"origin": "http://localhost:3000", "lastSeenAt": "2026-09-08T09:14:22+00:00", "local": true}, - Network accessline 341
"refused": null, "signedIn": {"origin": "http://localhost:3000", "lastSeenAt": "2026-09-08T09:14:22+00:00", "local": true, "verifiedAt": "2026-09-08T09:15:03+00:00", "failedAt": null, "failure": null}} - Network accessline 342
"signedIn": {"origin": "http://localhost:3000", "lastSeenAt": "2026-09-08T09:14:22+00:00", "local": true, - Network accessline 361
{"seen": null, "latest": null, "refused": {"origin": "http://localhost:3000", "lastSeenAt": "2026-09-08T09:14:22+00:00"}, - Network accessline 362
"refused": {"origin": "http://localhost:3000", "lastSeenAt": "2026-09-08T09:14:22+00:00"}, - Network accessline 416
- **Connect their coding agent**, which may be you, so it can read what visitors asked and reported, and fix it. Use the deacon-connect skill to connect it to Deacon's MCP server. - **Webhooks**, so their code hears when a visitor reports a - Network accessline 417
- **Webhooks**, so their code hears when a visitor reports a bug or leaves their email. Webhooks are in the API docs at https://heydeacon.com/docs/api#webhooks. - Network accessline 418
- **The API**, so their code can read chats, add to what Deacon knows and reply to visitors. The API docs are at https://heydeacon.com/docs/api.
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 35 facts
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:29High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:40High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:48High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:49High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:50High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:62High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:63High confidence
- Network access in code of the SKILL.mddeacon-connect/SKILL.md:64High confidence
- Network access in prose of the SKILL.mddeacon-connect/SKILL.md:77Low confidence
- Network access in prose of the SKILL.mddeacon-connect/SKILL.md:95Low confidence
- Network access in code of the SKILL.mddeacon-goals/SKILL.md:204High confidence
- Network access in code of the SKILL.mddeacon-goals/SKILL.md:247High confidence
- Network access in code of the SKILL.mddeacon-goals/SKILL.md:249High confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:14Low confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:18Low confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:20Low confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:29High confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:44Low confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:46Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuedeacon-install/SKILL.md:209Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuedeacon-install/SKILL.md:218Low confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valuedeacon-install/SKILL.md:255Low confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:279High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:280High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:281High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:327High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:339High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:340High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:341High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:342High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:361High confidence
- Network access in code of the SKILL.mddeacon-install/SKILL.md:362High confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:416Low confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:417Low confidence
- Network access in prose of the SKILL.mddeacon-install/SKILL.md:418Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/deacon-connect/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/deacon-connect/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/deacon-connect/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/deacon-connect/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.