Open source · MIT

Built by Pilotree, free on GitHub.

A bug tracker that pins each report to the element, and three plugins that turn Claude Code into an outbound team, an email-deliverability check and a weekly competitor watch.

Install
git clone https://github.com/Pilotree-ai/pinpoint.git
cd pinpoint && npm install
npm run dev
/plugin marketplace add Pilotree-ai/vetted
/plugin install vetted@pilotree
/plugin marketplace add Pilotree-ai/inboxed
/plugin install inboxed@inboxed
/plugin marketplace add Pilotree-ai/recon
/plugin install recon@recon
Pinpoint runs from a clone; the three plugins install inside Claude Code.

Bug tracker · MIT

Pinpoint

Bug reports pinned to the exact element.

A side drawer for reviewing an app while it runs. Click Inspect Element, pick the thing that's wrong, type what's wrong and attach a screenshot if it helps. Whoever opens the report later is scrolled to it, outlined in red. Reports live in a local SQLite file.

Works with
  • Next.js
  • React
  • TypeScript
git clone https://github.com/Pilotree-ai/pinpoint.git
cd pinpoint && npm install
npm run dev

Claude Code plugin · MIT

Vetted

One sentence in. An approved, personalised outbound campaign out.

It searches Apollo, reads each company's own website to test your criteria, and keeps the page and the line behind every qualify or drop. Enrichment credits are spent only on the companies that pass, and nothing reaches an Apollo sequence until a person ticks its group in Slack.

Works with
  • Claude Code
  • Apollo
  • Slack
/plugin marketplace add Pilotree-ai/vetted
/plugin install vetted@pilotree
plugins/vetted/skills/outbound-leads/references/slack-approval.md
*<batch_label>, group <g> of <G>*
React :white_check_mark: to approve all, or reply in the thread with names to remove.
⋮ lines 36–68 left out
2. A group is **approved** if it has the `approval_emoji` reaction from an allowed approver (`approvers` in config, "any" by default).
⋮ lines 70–77 left out
After loading, reply in the intro thread: "Loaded <n> into Apollo sequence <name>. Removed: <list>."
Vetted needs Apollo and Slack to run, so here is the file that decides what it posts: emails go to Slack in groups of 10, and none reach Apollo until a person ticks the group.

Claude Code plugin · MIT

Inboxed

Is your email landing in the inbox? Find out in one sentence, and get the exact fix.

Looks up SPF, DKIM, DMARC, MX, MTA-STS and BIMI, seven blocklists and the domain's age, then scores the results against a rubric written down in the repo. It only reads public DNS: it never sends email or changes a record. All it needs is dig and curl.

Works with
  • Claude Code
/plugin marketplace add Pilotree-ai/inboxed
/plugin install inboxed@inboxed
zsh
skills/deliverability/scripts/check-dns.sh pilotree.ai
DOMAIN: pilotree.ai

## MX
MX: 1 smtp.google.com.

## SPF
SPF: v=spf1 include:_spf.google.com include:_spf.mx.cloudflare.net ~all
SPF_RECORDS: 1
SPF_LOOKUPS: 2
SPF_ALL: ~all

## DMARC
DMARC: v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;
DMARC_P: quarantine
DMARC_RUA: mailto:dmarc_rua@onsecureserver.net
DMARC_ADKIM: r
DMARC_ASPF: r

## DKIM
DKIM_SELECTOR: google bits=2048

## EXTRAS
MTA_STS: NONE
TLS_RPT: NONE
BIMI: NONE
A: 104.18.8.125

## BLOCKLISTS
DOMAIN_BL dbl.spamhaus.org: INCONCLUSIVE (127.255.255.254)
DOMAIN_BL multi.surbl.org: CLEAN
DOMAIN_BL multi.uribl.com: CLEAN
IP_BL 104.18.8.125 zen.spamhaus.org: INCONCLUSIVE (127.255.255.254)
IP_BL 104.18.8.125 bl.spamcop.net: CLEAN
IP_BL 104.18.8.125 b.barracudacentral.org: CLEAN
IP_BL 104.18.8.125 psbl.surriel.com: CLEAN
IP_BL 172.217.76.26 zen.spamhaus.org: INCONCLUSIVE (127.255.255.254)
IP_BL 172.217.76.26 bl.spamcop.net: CLEAN
IP_BL 172.217.76.26 b.barracudacentral.org: CLEAN
IP_BL 172.217.76.26 psbl.surriel.com: CLEAN

⋮ ## DOMAIN_AGE section left out
Inboxed's own DNS checker, run against pilotree.ai. It only looks things up: nothing is sent and no DNS is changed.

85/100 · Closeworked from references/scoring.md

Authentication45/45SPF, DKIM (2048-bit) and DMARC at quarantine
Reputation18/25No blocklist hits. A newly registered domain, so 3 of 10 for age
Infrastructure5/10MX set; no MTA-STS, TLS-RPT or BIMI
Practicen/aCopy and volume weren't checked, so 68 of 80 scales to 85

The checker’s domain-age line is left out: on a .ai domain it printed the registry’s own 1995 date, so the age here comes from RDAP.

Claude Code plugin · MIT

Recon

Know what your competitors changed this week, without checking their websites.

Keeps a dated plain-text snapshot of each competitor's pricing, homepage, changelog, blog, sitemap and job board. Dates, rotating logos and typo fixes are thrown away; what's left is ranked High, Medium or Low with a source link. Public pages only, and it obeys robots.txt.

Works with
  • Claude Code
/plugin marketplace add Pilotree-ai/recon
/plugin install recon@recon
zsh
skills/competitor-recon/scripts/sitemap-urls.sh pilotree.ai
https://pilotree.ai
https://pilotree.ai/articles
https://pilotree.ai/articles/chatgpt-has-never-heard-of-you
https://pilotree.ai/articles/seo-geo-aeo
https://pilotree.ai/articles/when-to-leave-framer-or-webflow
https://pilotree.ai/articles/when-to-move-off-shopify
https://pilotree.ai/case-studies/biowell
https://pilotree.ai/case-studies/docsy
https://pilotree.ai/case-studies/finela
https://pilotree.ai/case-studies/issuely
https://pilotree.ai/case-studies/lp-reporting
https://pilotree.ai/case-studies/salesflow
https://pilotree.ai/case-studies/sessosophia
https://pilotree.ai/case-studies/squawk
https://pilotree.ai/case-studies/switchyard
https://pilotree.ai/case-studies/tracekit
https://pilotree.ai/squawk
Recon's sitemap reader on pilotree.ai. A first run is the baseline: next week's run is compared with it, and only the new or removed pages are reported.

Want one built around your own workflow?

Start with a free workflow review. We map the work done by hand, then show you what takes it off your team.