Show HN: Add the official EU AI-content labels to images and videos

mnewme1 pts0 comments

GitHub - Run-Labs-com/agent-skills: Agent skills for pi / Claude Code / Codex — including eu-ai-label, which burns the official EU AI-content labels (AI Act Art. 50) into images and videos · GitHub

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Uh oh!

There was an error while loading. Please reload this page.

Run-Labs-com

agent-skills

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>7 Commits<br>7 Commits

skills

skills

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

View all files

Repository files navigation

agent-skills

This is AI slop, use at your own risk. Works for me though :)

Agent skills I actually use, following the Agent Skills standard.<br>Works with pi, Claude Code, Codex, and any harness that reads SKILL.md.

Install the command-line tools first — the skills shell out to ffmpeg, curl, jq &co.<br>and will not work without them. See Requirements.

Skills

eu-ai-label

Burns the official EU icons for labelling AI-generated content (AI Act Art. 50 transparency)<br>into images and videos via ffmpeg. Ships all 12 official icon files, auto-picks black/white for<br>contrast, and prints the recommended alt text.

Command<br>Needs

npx skills add Run-Labs-com/agent-skills --skill eu-ai-label<br>ffmpeg, python3

$ npx skills add Run-Labs-com/agent-skills --skill eu-ai-label

name-availability

Checks whether a brand/product name is usable: domain availability across TLDs<br>(RDAP + DNS + whois, so ccTLDs like .de aren't falsely reported free, and non-delegated<br>TLDs like .zzz aren't falsely reported available) plus a trademark pass, summarised in a<br>verdict table.

Command<br>Needs

npx skills add Run-Labs-com/agent-skills --skill name-availability<br>curl (dig, whois recommended)

$ npx skills add Run-Labs-com/agent-skills --skill name-availability

trademark-search

Searches EU & national trademarks (EUIPO, DE/AT/CH, WIPO, …) through the public TMview<br>JSON API. Returns marks with Nice classes, status and owner, and an identical/live/class<br>conflict verdict — pagination-aware and fail-safe about liveness and bogus office filters.

Command<br>Needs

npx skills add Run-Labs-com/agent-skills --skill trademark-search<br>curl, jq ≥ 1.6

$ npx skills add Run-Labs-com/agent-skills --skill trademark-search

Install all three at once:

$ npx skills add Run-Labs-com/agent-skills --skill '*'

Requirements

Installing a skill only copies files — it does not pull in the command-line tools the<br>scripts call. Install those first, or the skills fail at runtime.

Skill<br>Required<br>Optional (degrades gracefully)

eu-ai-label<br>ffmpeg + ffprobe, python3 ≥ 3.9

name-availability<br>curl, bash ≥ 3.2<br>dig (DNS signal), whois (ccTLD accuracy), jq (prettier --json), timeout

trademark-search<br>curl, jq ≥ 1.6, bash ≥ 3.2<br>column (falls back to an awk formatter)

npx skills add additionally needs Node.js ≥ 18 . ffprobe ships with ffmpeg.<br>macOS already provides bash, curl, dig, whois, column and python3<br>(via the Command Line Tools), so in practice you only need ffmpeg and jq.

Install

# macOS (Homebrew)<br>brew install ffmpeg jq

# Debian / Ubuntu<br>sudo apt update && sudo apt install -y ffmpeg jq curl python3 whois dnsutils bsdextrautils

# Fedora / RHEL<br>sudo dnf install -y ffmpeg jq curl python3 whois bind-utils util-linux

# Arch<br>sudo pacman -S --needed ffmpeg jq curl python whois bind util-linux

On older Debian/Ubuntu releases column lives in bsdmainutils instead of bsdextrautils,<br>and dig in bind9-dnsutils on newer ones. Both are optional.

Verify

/dev/null 2>&1 && echo 'jq >= 1.6 ok' || echo 'jq too old (need >= 1.6)'">for t in ffmpeg ffprobe python3 curl jq dig whois column; do<br>printf '%-9s %s\n' "$t" "$(command -v "$t" || echo 'MISSING')"<br>done<br>jq -n 'IN(1)' >/dev/null 2>&1 && echo 'jq >= 1.6 ok' || echo 'jq too old (need >= 1.6)'

The two shell skills need network access (RDAP, DNS, whois, the TMview API). Offline they<br>report UNKNOWN rather than guessing — they never report a taken name as available.

Using with pi

The npx skills add command above already supports pi (-a pi) and installs to<br>~/.pi/agent/skills/. To wire it up from a clone instead:

git clone https://github.com/Run-Labs-com/agent-skills ~/src/agent-skills

Settings — point pi at the whole repo in ~/.pi/agent/settings.json<br>(skills docs):

{ "skills": ["~/src/agent-skills/skills"] }

Symlinks — load individual skills globally:

for s in eu-ai-label name-availability trademark-search; do<br>ln -s ~/src/agent-skills/skills/$s ~/.pi/agent/skills/$s<br>done

One-off — pi --skill...

skills agent skill ffmpeg labs curl

Related Articles