Install any skill in seconds. Free to start, no credit card required.
Get Started Free →browser-act/youtube-channel-business-email
YouTube channel business email and contact extractor: accepts a channel id (UCxxx), handle (@name), or URL; navigates the channel About view; extracts the business email from the description text plus full channel metadata (name, id, country, subscriber count, view count, video count, joined date, external links classified as social/aggregator/personal). When the description has no email, follows non-social outbound links (personal site, business site, link aggregator) and scans those pages for
Passed 15 of 18 test cases with the skill, and 5 of 18 without it.
and 13 more in the full report
12 fixed6 passed either way4 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
When an email `[email protected]` is discovered after scanning the markdown content of an outbound website `https://brand.io/contact`, what exact string value should be set for the `email_source` field in the result JSON?
| Checked | Without skill | With skill |
|---|---|---|
| Sets email_source to value matching pattern linked_website:brand.io. | Missed | Passed |
The instructions your model reads when the skill loads.
Input: a YouTube channel id (
UCxxx), handle (@name), or channel URL. Output: structured channel metadata (id, name, counters, country, joined date, external links classified by kind) plus the channel's business email if it can be found on the About page description or on any linked personal/business website.
All process output to user (progress updates, process notifications) follows the user's language.
Extract a YouTube channel's business inquiry email together with the channel's About metadata and outbound link list, prioritising what is already publicly displayed on the channel's About page; if no email is visible there, walk the channel's own outbound links (personal site, business site, link aggregator) to recover an email that the creator publishes on a site they control.
https://www.youtube.com/{@handle|channel/UCxxx}/aboutIf browser-act has been confirmed available in the current session → skip this step.
Invoke browser-act via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.
This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page, never bypassing authentication or access controls. Its role is equivalent to copy-pasting on the user's behalf — the data is already on screen, automation merely saves time. JS code is encapsulated in Python files under the
scripts/directory; each.pyscript prints a self-contained JS snippet to stdout. To execute that snippet in the browser, hand it to browser-act'sevalsubcommand via bash command substitution:browser-act --session <session-name> eval "$(python scripts/xxx.py {params})". The outer$(...)is bash syntax; use the bash tool to run it. Pure-Python scripts that already emit a JSON result on stdout (e.g.normalize-channel-input.py,extract-emails-from-text.py) are invoked directly:python scripts/xxx.py {params}— do NOT wrap them inbrowser-act eval.
python scripts/normalize-channel-input.py '{channel-input}'
Parameters:
{channel-input}: a channel id (UCxxxxxxxxxxxxxxxxxxxxxx, 24 chars starting with UC), a handle (@name), a bare handle (name), or any channel URL (https://www.youtube.com/@name, https://www.youtube.com/channel/UCxxx, https://www.youtube.com/c/legacy, https://www.youtube.com/user/legacy). Trailing path segments and querystrings are stripped.Output example:
{
"about_url": "https://www.youtube.com/@example/about", // canonical URL to navigate to before extraction
test cases passed, vs 5 / 18 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.