← Files Marathon Finisher PostersARCHIVED FILE

plugin.json

11.8 KB · Nov 7, 2026 · 06:14 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "routeframe",
  "version": "1.0.1",
  "description": "Finisher posters for marathons and half marathons in ChatGPT: the race course traced from OpenStreetMap with the city, distance, year, the runner's name and finish time. Preview and change it in the chat, in any country; in the United States, order it printed or framed through checkout on Routeframe's own site.",
  "author": {
    "name": "The Open Apps, Inc.",
    "email": "support@theopenapps.com",
    "url": "https://routeframe.ambientapp.ai"
  },
  "homepage": "https://routeframe.ambientapp.ai",
  "keywords": [
    "routeframe",
    "marathon finisher poster",
    "finisher poster",
    "marathon poster",
    "half marathon poster",
    "marathon course map print",
    "marathon route print",
    "gift for marathon runner",
    "marathon course map",
    "race poster",
    "race map prints",
    "finisher prints",
    "running poster",
    "marathon gift",
    "gift for runner",
    "first marathon gift",
    "personalized marathon print",
    "framed race poster",
    "course map poster",
    "running wall art",
    "marathon time poster",
    "race keepsake",
    "runner gift",
    "26.2 poster",
    "13.1 poster",
    "christmas gift for runner"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Marathon Finisher Posters",
        "shortDescription": "Race course map, name & time",
        "longDescription": "Routeframe makes marathon finisher posters, for a marathon or half marathon you ran or as a gift for a runner. Tell ChatGPT the race, the year, your name and your finish time, and the poster appears in the chat: the course traced from OpenStreetMap with its start and finish, the city, the distance, the year, your name and your time.\n\nChange it in the card: six colour styles, miles or kilometres, the year, and a short line of your own such as \"First marathon\".\n\nIn the United States, when it looks right, pick 30 x 40 cm or 50 x 70 cm, unframed or in a black, white or oak wood frame, and order it. Checkout opens on routeframe.ambientapp.ai, where you enter the delivery address and pay; nothing is paid in ChatGPT. The poster is printed close to you and shipped to your door. After an order, ask \"Where is my Routeframe order?\" at any time to see whether it has been printed or shipped, with the tracking link.\n\nLimits:\n- The catalogue has big marathons and half marathons in the US and Europe, with more added as their courses are checked. Ask which races it has.\n- Posters show the city, course, distance and year, never a race's name or logo. Routeframe is not affiliated with any race or organiser.\n- Routeframe doesn't use GPS files or fitness-app data, and has no race results: the name and time are yours to give.\n- Printing and shipping are available in the United States only. Elsewhere you can make and change the poster in the chat, with no print options. No digital files.\n- Course lines are traced from OpenStreetMap; a course can differ a little from year to year.",
        "developerName": "The Open Apps, Inc.",
        "category": "Creativity",
        "capabilities": [
          "Draw a finisher poster of a race you ran",
          "Change the style, text and units in the card",
          "Order it printed or framed, shipped within the US",
          "Check a US order's status and tracking"
        ],
        "websiteURL": "https://routeframe.ambientapp.ai",
        "supportURL": "https://routeframe.ambientapp.ai/support",
        "privacyPolicyURL": "https://routeframe.ambientapp.ai/privacy",
        "termsOfServiceURL": "https://routeframe.ambientapp.ai/terms",
        "defaultPrompt": [
          "Make a finisher poster of the marathon I ran in Chicago in 2025, finished in 3:41:27",
          "A poster of my sister's first marathon, as a Christmas gift",
          "Which half marathons does Routeframe have posters for?"
        ],
        "brandColor": "#B3261E",
        "brandColorDark": "#FF7A6B",
        "composerIcon": "./assets/composerIcon.png",
        "logo": "./assets/logo.png",
        "logoDark": "./assets/logoDark.png"
      },
      "onboardingSkill": "./skills/finisher-poster/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Draw a poster. Run this first, in a new chat, with Routeframe picked: type @Marathon, choose Marathon Finisher Posters, then type the prompt (Try in chat on the plugin's page does the same). Without it ChatGPT tends to make a picture with its own image tool instead. There is nothing to sign in to. ChatGPT may show the card inline or in its side panel; both show the same poster. Printed posters ship only to the United States, so run cases 1 to 5 from a US location: elsewhere the card shows the poster with Edit only, and get_print_options, start_order and get_order_status reply that printed posters aren't available in the user's country.",
              "prompt": "Make a finisher poster of my 2025 Chicago Marathon. My name is Alex Rivera and I finished in 3:41:27.",
              "tools_triggered": "preview_poster",
              "expected_behavior": "A card shows the poster: the Chicago course line with a start ring and a red finish dot, CHICAGO, 26.2 MILES 2025, Grant Park, Alex Rivera and 3:41:27, and 'Course \u00a9 OpenStreetMap contributors'. The poster carries no race name or logo. Below it are Edit and Order print buttons. The reply says the poster is ready and can be changed or ordered from the card."
            },
            {
              "description": "Change the poster. Run after case 1, in the same chat, again with @Marathon Finisher Posters picked before the prompt; without it ChatGPT tends to redraw the poster as a picture with its own image tool. The same change can be made in the card with Edit, where it applies without a new message.",
              "prompt": "Make it the Midnight style, in kilometres, and add First marathon under the time.",
              "tools_triggered": "preview_poster",
              "expected_behavior": "The card shows the same poster on a navy background with a gold course line, the distance as 42.195 km and 'First marathon' under the time. The reply confirms the change briefly."
            },
            {
              "description": "Prices and shipping. Run after case 2, from a US location.",
              "prompt": "How much is a framed 50 x 70 cm poster, and how long does delivery take to the US?",
              "tools_triggered": "get_print_options",
              "expected_behavior": "The reply gives the price of a framed 50 x 70 cm poster in US dollars with standard shipping included, says it ships to the United States, and gives the delivery estimate of 5 to 9 business days. The same prices appear in the card's Order print panel and on routeframe.ambientapp.ai."
            },
            {
              "description": "Order. Run after case 3. ChatGPT may show 'Allow ChatGPT to use Marathon Finisher Posters?' first, because this creates an order; choose Allow once. To finish checkout without being charged, open 'Add promotion code' in the payment form and enter the review code ROUTEFRAME-DC6C3D3C (for reviewers: 100% off, 50 uses), with any US address: the total becomes $0.00, no card is needed, and the order goes to the printer as a draft that is never printed or shipped. Stopping at the checkout page is fine too. The same order can be started from the card: Order print, choose the size and frame, then Order print again.",
              "prompt": "Order that poster as a 50 x 70 cm print in the oak frame.",
              "tools_triggered": "start_order",
              "expected_behavior": "The reply gives an order number starting RF- and a link or Complete checkout button to routeframe.ambientapp.ai/c/. The link opens Routeframe's checkout page with the same poster in an oak frame, the size and frame choices, and the total with shipping included; the address and payment are entered there, not in ChatGPT. Nothing is charged until the payment form is completed. With the review code the total is $0.00, and after the form is completed the page says the order is paid in full by a review code, with $0 charged."
            },
            {
              "description": "Order status. Run after case 4, in any chat with the same ChatGPT account.",
              "prompt": "Where is my Routeframe order?",
              "tools_triggered": "get_order_status",
              "expected_behavior": "The reply names the order number from case 4 and its status: 'Not paid yet' with the checkout link if case 4 stopped at checkout, or that it was placed with the review code, nothing was charged and the printer holds it as a draft if case 4 was completed. Saying 'Delete my Routeframe data' afterwards (ChatGPT may ask to confirm) deletes unpaid orders and unlinks paid ones, after which the order is gone."
            }
          ],
          "negative": [
            {
              "description": "Digital files. Routeframe offers no file to download.",
              "prompt": "Can you just send me the high-resolution digital file of a marathon course instead of a print?",
              "expected_behavior": "No file is offered and no order is made. If Routeframe is mentioned, ChatGPT says Routeframe has no file to download: the poster is shown in the card, and in the United States it can also be ordered as a printed poster."
            },
            {
              "description": "General running knowledge. Routeframe makes posters; ChatGPT answers this itself.",
              "prompt": "What is the current men's marathon world record?",
              "expected_behavior": "No Routeframe tool is called. ChatGPT answers the question itself."
            },
            {
              "description": "Art in general. Making an image is ChatGPT's own job; Routeframe draws only race course posters from its catalogue.",
              "prompt": "Paint me a watercolor picture of a runner at sunset.",
              "expected_behavior": "No Routeframe tool is called. ChatGPT makes or describes the image itself."
            }
          ]
        },
        "commerce": true,
        "commerce_description": "Sells one kind of physical product: a printed or framed poster of a race course with the runner's name and time, made to order and shipped only within the United States. Printing is offered only to users in the United States: elsewhere the plugin shows the poster with no sizes, frames, prices, checkout or order status (the server reads ChatGPT's openai/userLocation country; for a call without it, such as the card's own, the same user's userLocation country from the last 24 hours, else the region of openai/locale). The plugin never takes payment or addresses: start_order creates an unpaid order and returns a link to checkout on our own site, https://routeframe.ambientapp.ai/c/<order code>, which the card opens with openExternal. Payment is Stripe Embedded Checkout on that page; Gelato prints and ships the poster. No digital goods, subscriptions or credits are sold, on the site or in ChatGPT, and prices are the same in both.",
        "demo_recording_url": "https://routeframe.ambientapp.ai/demo.mp4"
      },
      "publication": {
        "countries": [],
        "release_notes": "Listed in every country. Printing stays in the United States: elsewhere the card shows the poster without sizes, frames or ordering, and the print tools say printed posters aren't available there. Listing: renamed Marathon Finisher Posters, with the subtitle \"Race course map, name & time\"; keywords for marathon finisher posters, half marathon posters, course map prints and runner gifts; a gift line in the description, new starter prompts and a dark-mode icon. Adds three skills: finisher poster, marathon gift and print and frame; only print and frame names printing."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 1279247db98de09c01e9ca4975f30cf3c65f4701c339183a7d8fd495589d1ce7