Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add norman-finance/norman-mcp-server --skill gewerbe-registrationgit clone --depth 1 https://github.com/norman-finance/norman-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/norman-finance/norman-mcp-server/gewerbe-registration)<a href="https://agentmods.dev/skills/norman-finance/norman-mcp-server/gewerbe-registration"><img src="https://agentmods.dev/badge/skills/norman-finance/norman-mcp-server/gewerbe-registration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/norman-finance/norman-mcp-server/gewerbe-registration"><img src="https://agentmods.dev/badge/skills/norman-finance/norman-mcp-server/gewerbe-registration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Data Exfiltration · line 31 Code or instructions that leak agent conversation context to external services, potentially exposing sensitive user interactions.Fix: Remove any code that sends prompts, responses, or session data externally. Preserve user privacy; never exfiltrate conversation content.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.00988 |
| Opus 5.5 | $0.00030 | $0.00395 |
| Sonnet 5.5 | $0.00015 | $0.00198 |
| Haiku 4.5 | $0.00007 | $0.00099 |
Grade A, and why
gewerbe-registration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Guide the user through preparing their Gewerbeanmeldung (German trade-office registration, official form GewA 1, § 14 GewO): collect the data across three sections and generate a pre-filled PDF they submit themselves to their local Gewerbeamt.
Ground rules
- Who needs one: Gewerbetreibende (a trade) and GmbH/UG founders. Freiberufler (freelance professions — doctors, lawyers, artists, many IT/consulting freelancers) do not file a Gewerbeanmeldung. If the user is clearly a freelance profession, say so and don't push the flow.
- Never present anything as legal advice. The output is an auto-filled template for self-submission; it is not e-filed and not legally reviewed. Say this when the document comes up.
- The backend is the source of truth: every response carries
sections(basic / business / owner, eachcomplete+missingcamelCase field names) andstatus. Navigate bysections.missing; never track progress yourself. - Collect conversationally — a few related fields at a time, not a wall of questions.
Before you start
- Call
get_gewerbe_registration. If one exists, resume from the first incomplete section. A non-emptydocumentslist means it's already generated. If not found, offer to start one. - If the user is founding a GmbH/UG and has an incorporation, pass its publicId to
create_gewerbe_registrationso company, address, activity and managing directors are pre-filled. For self-employed users the tax-registration (Fragebogen) answers are carried over automatically. Mention that personal data (name, DOB, address) is collected for the form. - Use
get_gewerbe_registration_choicesfor the valid enum values.
Section 1 — Basics (update_gewerbe_basic)
Start of activity (activityStartDate, no more than ~14 days in the future) and whether it's a
head office or a branch (establishmentType).
Section 2 — Business (update_gewerbe_business)
Legal form, registered/business name, and — for legal entities (GmbH/UG/AG/…) — the commercial
register number. Type of business (any of industry/trade/craft/other), the Betriebsstätte
address + email, and a precise activity description (Feld 15). Offer suggest_gewerbe_activity
to sharpen the wording — show the suggestion and only apply it if the user accepts. Then the
conditionals: whether a licence/permit is required (+ authority and date), public-sector
participation, and employees (+ full-/part-time counts).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed · +3 tokens per session 130db8fb2d79
- 1mo ago First seen · 74 lines · 72 tokens per session scan A 03b8964efd0e
gewerbe-registration is a skill published in the GitHub repository norman-finance/norman-mcp-server (62 stars, last pushed today), licensed MIT. It adds 75 tokens to every session and 988 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
kamy
Generate production-ready PDFs (invoices, receipts, contracts, reports, brochures) from Handlebars templates or raw HTML using the Kamy API, and send them for e-signature with optional OTP identity verification, sender-chosen placement, auto-reminders, and a downloadable Certificate of Completion audit trail. Use…
n8n-binary-and-data
Handle files and binary data in n8n correctly. Use when working with files, images, PDFs, attachments, uploads or downloads, base64, vision/multimodal input, or when an AI agent needs a file as tool input or output — and whenever the user mentions $binary, binaryPropertyName, "read the PDF", "attach the file", "send…
software-copyright-materials
A workflow for creating Chinese application materials for software copyright registration from a real software project.
meta-pdf-reformat-pipeline
Modernize a legacy PDF: structural extraction → natural-language rewrite of problem pages → audit summary → re-merge into the final PDF.
ectd-xml-compiler
Automatically convert uploaded drug application documents (Word/PDF) into XML skeleton structure compliant with eCTD 4.0/3.2.2 specifications.
markdown-to-pdf
Convert a markdown file to PDF using mistune + reportlab. Use when the user wants to convert a .md file to PDF, or when another skill needs to produce a PDF from markdown output.