{"id":14958,"plugin_id":"plugin_asdk_app_6a916290b4d0819182633352801aa849","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:10:28.612Z","digest":"02044d6bcedeee5ce44fe1a29cab5e425c4b174faae1193b923626a2e6942d0d","against":null,"payload":{"name":"aaf-links","description":"Create, manage, organize, and analyze A.af short links through the authenticated A.af MCP server. Use when a user asks to shorten, inspect, edit, pause, activate, archive, or analyze an A.af link; create a QR code; choose a custom domain; or inspect campaign analytics.","included_files":[],"skill_md_contents":"---\nname: aaf-links\ndescription: Create, manage, organize, and analyze A.af short links through the authenticated A.af MCP server. Use when a user asks to shorten, inspect, edit, pause, activate, archive, or analyze an A.af link; create a QR code; choose a custom domain; or inspect campaign analytics.\n---\n\n# URL Shortener by A.af\n\nUse the A.af MCP tools for link work instead of inventing slugs, short URLs, or analytics.\n\n## Safety and accuracy\n\n- Preserve meaningful destination paths and query parameters.\n- Never claim a link was created until the tool returns a successful A.af short URL.\n- Never invent click counts, countries, referrers, or traffic quality scores.\n- Confirm an explicitly requested custom alias before creation.\n- Treat plan, workspace, quota, reserved-alias, and Trust and Safety errors as authoritative.\n- Confirm the exact destination, title, campaign, folder, or custom domain before changing a link.\n- Use `aaf_prepare_archive_link`, show the exact short link and warning, then ask for explicit confirmation. Call `aaf_archive_link` with its one-time confirmation ID and `confirmed=true` only after the user agrees.\n- Prefer reversible `aaf_set_link_status` with `paused` when the user only wants to stop a link temporarily.\n- Never return or infer raw IP addresses, visitor hashes, user agents, password hashes, domain verification tokens, or provider secrets.\n\n## Common flows\n\n1. Use `aaf_list_workspaces` when the intended workspace is unclear.\n2. Use `aaf_create_short_link` to shorten a destination. A.af may return an existing link according to its duplicate rules.\n3. Use `aaf_list_links` to find recent links, then `aaf_get_link` for one safe detail record.\n4. Use `aaf_update_link` only after confirming the requested fields. Destination changes are validated and safety-scanned by A.af.\n5. Use `aaf_set_link_status` for reversible pause or activation. For archival, use `aaf_prepare_archive_link`, obtain confirmation, then use `aaf_archive_link` before the five-minute challenge expires.\n6. Use `aaf_get_link_analytics` for real privacy-safe link aggregates.\n7. Use `aaf_create_qr_code` for a directly usable, scannable PNG QR code.\n8. Use `aaf_list_campaigns` to identify campaign context and `aaf_get_campaign_analytics` for Business campaign aggregates.\n9. Use `aaf_list_custom_domains` only for owner/admin selection metadata. The create/update tools still validate that a chosen domain is active and belongs to the workspace.\n\n## Response style\n\nReturn the short URL first. Then mention whether A.af reused an existing link and summarize any relevant campaign or analytics result concisely.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}