← All skills
hubspot-agency-multi-portal
92 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By jeremylongshore/tons-of-skills-marketplace (GitHub) · coding · 2,921 stars · scanned at commit 8dc06f0
Manage 10-100 HubSpot portals for agency clients with credential isolation that prevents
cross-portal data contamination, per-portal audit trails for billing and GDPR/CCPA
attribution, and a scriptable bulk-onboarding workflow that eliminates one-at-a-time
credential setup. Use when onboarding new client portals, building a compliant per-client
API call log, rotating tokens across a full agency fleet, or generating per-client
compliance reports. Trigger with "hubspot agency", "multi-portal mana…
Works with any agent that supports SKILL.md skills.
What this skill can do
Sends data to these websites: api.hubapi.com
This is disclosed by the author in the skill's SKILL.md or README.
Found in 14 places.
Show 11 more
- skills/.curated/hubspot-agency-multi-portal/SKILL.md, line 366
curl -s "https://api.hubapi.com/account-info/v3/details" \ - skills/.curated/hubspot-agency-multi-portal/SKILL.md, line 409
REMAINING=$(curl -si "https://api.hubapi.com/crm/v3/objects/contacts?limit=1" \ - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 120
import urllib.request - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 131
req = urllib.request.Request( - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 136
with urllib.request.urlopen(req, timeout=10) as resp: - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 341
curl -s "https://api.hubapi.com/account-info/v3/details" \ - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 377
curl -s "https://api.hubapi.com/crm/v3/objects/contacts?limit=1" \ - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 405
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 571
import urllib.request - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 615
req = urllib.request.Request( - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 624
with urllib.request.urlopen(req, timeout=30) as resp:
Runs commands on your computer
The author does not mention this. Expected for a coding skill.
Found in 13 places.
Show 10 more
- skills/.curated/hubspot-agency-multi-portal/SKILL.md, line 395
python3 references/compliance-report.py \ - skills/.curated/hubspot-agency-multi-portal/SKILL.md, line 407
for slug in $(pass show hubspot/agency-portals | jq -r '.portals | keys[]'); do - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 54
result = subprocess.run(["pass", "show", path], capture_output=True, text=True, check=True) - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 57
result = subprocess.run( - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 78
proc = subprocess.run(["pass", "insert", "-e", path], input=payload, - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 83
subprocess.run( - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 164
result = subprocess.run(["pass", "show", path], capture_output=True, text=True) - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 170
result = subprocess.run( - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 188
proc = subprocess.run(["pass", "insert", "-e", path], input=payload, - skills/.curated/hubspot-agency-multi-portal/references/implementation-guide.md, line 193
subprocess.run(
Other copies in this repository
jeremylongshore/tons-of-skills-marketplace has 1 more folder with a skill named hubspot-agency-multi-portal. This page shows the lowest-scoring copy.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'hubspot-agency-multi-portal' ] || [ -L ~/.agents/skills/'hubspot-agency-multi-portal' ]; then echo 'A skill folder named hubspot-agency-multi-portal already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/jeremylongshore/tons-of-skills-marketplace' "$d" && git -C "$d" checkout --quiet '8dc06f02eb00b7d8d1c0e69dfb3add2fd9500979' -- 'skills/.curated/hubspot-agency-multi-portal' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/.curated/hubspot-agency-multi-portal' ~/.agents/skills/'hubspot-agency-multi-portal' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'hubspot-agency-multi-portal' ~/.claude/skills/'hubspot-agency-multi-portal' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for jeremylongshore/tons-of-skills-marketplace shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/jeremylongshore/tons-of-skills-marketplace/)
Score history
| Date | Version | Score |
|---|
| 2026-11-14 | 8dc06f0 | 92 |
| 2026-11-08 | 0500b27 | 92 |
| 2026-11-07 | 0500b27 | 82 |