{"id":"74f9a3ad-c314-40d3-b048-fcebb7d666f7","shortId":"ZLQaKZ","kind":"skill","title":"Onboard Context Matic","tagline":"Awesome Copilot skill by Github","description":"# Onboarding: ContextMatic MCP\n\nThis skill delivers a guided, interactive tour of the `context-matic` MCP server. Follow every\nphase in order. Stop after each interaction point and wait for the user's reply before continuing.\n\n> **Agent conduct rules — follow throughout the entire skill:**\n> - **Never narrate the skill structure.** Do not say phase names, step numbers, or anything that\n>   sounds like you are reading instructions (e.g., \"In Phase 1 I will…\", \"Step 1a:\", \"As per the\n>   skill…\"). Deliver the tour as a natural conversation.\n> - **Announce every tool call before making it.** One short sentence is enough — tell the user\n>   what you are about to look up and why, then call the tool. Example: *\"Let me pull up the list\n>   of available APIs for your project language.\"* This keeps the user informed and prevents\n>   silent, unexplained pauses.\n\n---\n\n## Phase 0 — Opening statement and tool walkthrough\n\nBegin with a brief, plain-language explanation of what the server does. Say it in your own words\nbased on the following facts:\n\n> The **context-matic** MCP server solves a fundamental problem with AI-assisted coding: general\n> models are trained on public code that is often outdated, incorrect, or missing entirely for newer\n> SDK versions. This server acts as a **live, version-aware grounding layer**. Instead of the agent\n> guessing at SDK usage from training data, it queries the server for the *exact* SDK models,\n> endpoints, auth patterns, and runnable code samples that match the current API version and the\n> project's programming language.\n\nAfter explaining the problem the server solves, walk through each of the four tools as if\nintroducing them to someone using the server for the first time. For each tool, explain:\n- **What it is** — give it a memorable one-line description\n- **When you would use it** — a concrete, relatable scenario\n- **What it gives back** — the kind of output the user will see\n\nUse the following facts as your source, but say it conversationally — do not present a raw table:\n\n> | Tool | What it does | When to use it | What you get back |\n> |---|---|---|---|\n> | `fetch_api` | Returns an exact match for an API `key`/identifier and language, or lists all APIs for a given language. The `key` is the machine-readable identifier returned by `fetch_api` (for example, `paypal`), not the human-readable display name (for example, \"PayPal Server SDK\"). | \"What APIs can I use?\" / Starting a new project / \"Do you have the PayPal SDK?\" | A named list of available APIs with short descriptions (full catalog), or one exact API match when you provide its identifier/key and language |\n> | `ask` | Answers integration questions with version-accurate guidance and code samples | \"How do I authenticate?\", \"Show me the quickstart\", \"What's the right way to do X?\" | Step-by-step guidance and runnable code samples grounded in the actual SDK version |\n> | `model_search` | Looks up an SDK model/object definition and its typed properties | \"What fields does an Order have?\", \"Is this property required?\" | The model's name, description, and a full typed property list (required vs. optional, nested types) |\n> | `endpoint_search` | Looks up an endpoint method, its parameters, response type, and a runnable code sample | \"Show me how to call createOrder\", \"What does getTrack return?\" | Method signature, parameter types, response type, and a copy-paste-ready code sample |\n\nEnd this section by telling the user that you'll demonstrate the four core discovery and\nintegration tools live during the tour, starting with `fetch_api` right now. Make it clear that\nthis tour is focused on those core ContextMatic server tools rather than every possible helper the\nbroader workflow might use.\n\n\n---\n\n## Phase 1 — Show available APIs\n\n### 1a. Detect the project language\n\nBefore calling `fetch_api`, determine the project's primary language by inspecting workspace files:\n\n- Look for `package.json` + `.ts`/`.tsx` files → `typescript`\n- Look for `*.csproj` or `*.sln` → `csharp`\n- Look for `requirements.txt`, `pyproject.toml`, or `*.py` → `python`\n- Look for `pom.xml` or `build.gradle` → `java`\n- Look for `go.mod` → `go`\n- Look for `Gemfile` or `*.rb` → `ruby`\n- Look for `composer.json` or `*.php` → `php`\n- If no project files are found, silently fall back to `typescript`.\n\nStore the detected language — you will pass it to every subsequent tool call.\n\n### 1b. Fetch available APIs\n\nTell the user which language you detected and that you are fetching the available APIs — for\nexample: *\"I can see this is a TypeScript project. Let me fetch the APIs available for TypeScript.\"*\n\nCall **`fetch_api`** with `language` = the detected language and `key` = \"\" so the tool returns the full list of available APIs.\n\nDisplay the results as a formatted list, showing each API's **name** and a one-sentence summary of\nits **description**. Do not truncate or skip any entry.\n\nExample display format (adapt to actual results):\n\n```\nHere are the APIs currently available through this server:\n\n1. PayPal Server SDK   — Payments, orders, subscriptions, and vault via PayPal REST APIs.\n2. Spotify Web API     — Music/podcast discovery, playback control, and library management.\n....\n```\n\n---\n\n## Phase 2 — API selection (interaction)\n\nAsk the user:\n\n> \"Which of these APIs would you like to explore? Just say the name or the number.\"\n\n**Wait for the user's reply before continuing.**\n\nStore the chosen API's `key` value from the `fetch_api` response — you will pass it to all\nsubsequent tool calls. Also note the API's name for use in explanatory text.\n\n---\n\n## Phase 3 — Explain the chosen API\n\nBefore calling, say something like: *\"Great choice — let me get an overview of [API name] for you.\"*\n\nCall **`ask`** with:\n- `key` = chosen API's key\n- `language` = detected language\n- `query` = `\"Give me a high-level overview of this API: what it does, what the main controllers or\n  modules are, how authentication works, and what the first step to start using it is.\"`\n\nPresent the response conversationally. Highlight:\n- What the API can do (use cases)\n- How authentication works (credentials, OAuth flows, etc.)\n- The main SDK controllers or namespaces\n- The NPM/pip/NuGet/etc. package name to install\n\n---\n\n## Phase 4 — Integration in the project language (interaction)\n\nAsk the user:\n\n> \"Is there a specific part of the [API name] you want to learn how to use — for example,\n> creating an order, searching tracks, or managing subscriptions? Or should I show you\n> the complete integration quickstart?\"\n\n**Wait for the user's reply.**\n\nBefore calling, say something like: *\"On it — let me look that up.\"* or *\"Sure, let me pull up the quickstart.\"*\n\nCall **`ask`** with:\n- `key` = chosen API's key\n- `language` = detected language\n- `query` = the user's stated goal, or `\"Show me a complete integration quickstart: install the\n  SDK, configure credentials, and make the first API call.\"` if they asked for the full guide.\n\nPresent the response, including any code samples exactly as returned.\n\n---\n\n## Phase 5 — Demonstrate `model_search`\n\nTell the user:\n\n> \"Now let me show you how `model_search` works. This tool lets you look up any SDK model or\n> object definition — its typed properties, which are required vs. optional, and what types they use.\n> It works with partial, case-sensitive names.\"\n\nBefore calling, say something like: *\"Let me search for the `[model name]` model so you can see what the result looks like.\"*\n\nPick a **representative model** from the chosen API (examples below) and call **`model_search`** with:\n- `key` = the previously chosen API key (for example, `paypal` or `spotify`)\n- `language` = the detected project language\n- `query` = the representative model name you picked\n\n| API key | Good demo query |\n|---|---|\n| `paypal` | `Order` |\n| `spotify` | `TrackObject` |\n\nDisplay the result, pointing out:\n- The exact model name and its description\n- A few interesting typed properties (highlight optional vs. required)\n- Any nested model references (e.g., `PurchaseUnit[] | undefined`)\n\nTell the user:\n\n> \"You can search any model by name — partial matches work too. Try asking me to look up a\n> specific model from [API name] whenever you need to know its shape.\"\n\n---\n\n## Phase 6 — Demonstrate `endpoint_search`\n\nTell the user:\n\n> \"Similarly, `endpoint_search` looks up any SDK method — the exact parameters, their types,\n> the response type, and a fully runnable code sample you can drop straight into your project.\"\n\nBefore calling, say something like: *\"Let me fetch the `[endpoint name]` endpoint so you can see the parameters and a live code sample.\"*\n\nPick a **representative endpoint** for the chosen API and call **`endpoint_search`** with an explicit argument object:\n\n- `key` = the API key you are demonstrating (for example, `paypal` or `spotify`)\n- `query` = the endpoint / SDK method name you want to look up (for example, `createOrder` or `getTrack`)\n- `language` = the user's project language (for example, `\"typescript\"` or `\"python\"`)\n\nFor example:\n\n| API key (`key`) | Endpoint name (`query`) | Example `language` |\n|---|---|---|\n| `paypal` | `createOrder` | user's project language |\n| `spotify` | `getTrack`   | user's project language |\nDisplay the result, pointing out:\n- The method name and description\n- The request parameters and their types\n- The response type\n- The full code sample (present exactly as returned)\n\nTell the user:\n\n> \"Notice that the code sample is ready to use — it imports from the correct SDK, initialises\n> the client, calls the endpoint, and handles errors. You can search for any endpoint by its\n> method name or a partial case-sensitive fragment.\"\n\n---\n\n## Phase 7 — Closing: what you can ask\n\nEnd the tour with a summary list of things the user can now ask the agent to do. Present this as\na formatted menu:\n\n---\n\n### What you can do with this MCP\n\n**Quickstart: your first API call**\n```\n/integrate-context-matic Set up the Spotify TypeScript SDK and fetch my top 5 tracks.\nShow me the complete client initialization and the API call.\n```\n```\n/integrate-context-matic How do I authenticate with the Twilio API and send an SMS?\nGive me the full PHP setup including the SDK client and the send call.\n```\n```\n/integrate-context-matic Walk me through initializing the Slack API client in a Python script and posting a message to a channel.\n```\n\n**Framework-specific integration**\n```\n/integrate-context-matic I'm building a Next.js app. Integrate the Google Maps Places API\nto search for nearby restaurants and display them on a page. Use the TypeScript SDK.\n```\n```\n/integrate-context-matic I'm using Laravel. Show me how to send a Twilio SMS when a user\nregisters. Include the PHP SDK setup, client initialization, and the controller code.\n```\n```\n/integrate-context-matic I have an ASP.NET Core app. Add Twilio webhook handling so I can receive delivery status callbacks when an SMS is sent.\n```\n\n**Chaining tools for full integrations**\n```\n/integrate-context-matic I want to add real-time order shipping notifications to my\nNext.js store. Use Twilio to send an SMS when the order status changes to \"shipped\". Show me\nthe full integration: SDK setup, the correct endpoint and its parameters, and the TypeScript code.\n```\n```\n/integrate-context-matic I need to post a Slack message every time a Spotify track changes\nin my playlist monitoring app. Walk me through integrating both APIs in TypeScript — start by\ndiscovering what's available, then show me the auth setup and the exact API calls.\n```\n```\n/integrate-context-matic In my ASP.NET Core app, I want to geocode user addresses using\nGoogle Maps and cache the results. Look up the geocode endpoint and response model, then\ngenerate the C# code including error handling.\n```\n\n**Debugging and error handling**\n```\n/integrate-context-matic My Spotify API call is returning 401. What OAuth flow should I\nbe using and how does the TypeScript SDK handle token refresh automatically?\n```\n```\n/integrate-context-matic My Slack message posts are failing intermittently with rate limit\nerrors. How does the Python SDK expose rate limit information and what's the recommended retry\npattern?\n```\n\n---\n\n> \"That's the tour! Ask me any of the above or just tell me what you want to build — I'll\n> use this server to give you accurate, version-specific guidance.\"\n\n---\n\n## Notes for the agent\n\n- If the user picks an API that is not in the `fetch_api` results, tell them it is not currently\n  available and offer to continue the tour with one that is.\n- All tool calls in this skill are **read-only** — they do not modify the project, install packages,\n  or write files unless the user explicitly asks you to proceed with integration.\n- When showing code samples from `endpoint_search` or `ask`, present them in fenced code blocks\n  with the correct language tag.","tags":["onboard","context","matic","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/onboard-context-matic","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T02:40:28.882Z","embedding":null,"createdAt":"2026-04-18T20:36:19.503Z","updatedAt":"2026-04-22T02:40:28.882Z","lastSeenAt":"2026-04-22T02:40:28.882Z","tsv":"'/identifier':362 '/integrate-context-matic':1545,1568,1595,1619,1647,1675,1703,1748,1792,1831,1856 '0':146 '1':77,612,802 '1a':81,616 '1b':701 '2':815,827 '3':891 '4':990 '401':1838 '5':1114,1556 '6':1294 '7':1503 'accur':445,1911 'act':212 'actual':478,791 'adapt':789 'add':1682,1707 'address':1803 'agent':45,224,1524,1919 'ai':188 'ai-assist':187 'also':879 'announc':93 'answer':439 'anyth':66 'api':130,252,353,360,368,384,401,420,429,584,615,624,704,719,734,740,757,767,796,814,818,828,837,861,868,882,895,909,918,934,965,1007,1066,1094,1192,1204,1223,1284,1360,1372,1411,1543,1566,1576,1602,1631,1772,1790,1834,1925,1932 'app':1625,1681,1766,1797 'argument':1368 'ask':438,831,914,997,1062,1098,1275,1508,1522,1888,1976,1990 'asp.net':1679,1795 'assist':189 'auth':242,1785 'authent':453,946,971,1572 'automat':1855 'avail':129,419,614,703,718,735,756,798,1780,1940 'awar':218 'awesom':4 'back':314,351,685 'base':171 'begin':152 'block':1996 'brief':155 'broader':607 'build':1622,1902 'build.gradle':659 'c':1822 'cach':1808 'call':96,118,539,622,700,738,878,897,913,1042,1061,1095,1164,1196,1331,1362,1479,1544,1567,1594,1791,1835,1953 'callback':1692 'case':969,1160,1499 'case-sensit':1159,1498 'catalog':425 'category-awesome-copilot' 'chain':1698 'chang':1728,1761 'channel':1614 'choic':902 'chosen':860,894,917,1065,1191,1203,1359 'clear':589 'client':1478,1562,1590,1603,1669 'close':1504 'code':190,197,246,448,473,533,557,1108,1321,1351,1452,1464,1674,1747,1823,1984,1995 'complet':1032,1082,1561 'composer.json':673 'concret':308 'conduct':46 'configur':1088 'context':2,22,178 'context-mat':21,177 'contextmat':10,598 'continu':44,857,1944 'control':822,941,980,1673 'convers':92,333,961 'copi':554 'copilot':5 'copy-paste-readi':553 'core':572,597,1680,1796 'correct':1474,1739,1999 'creat':1018 'createord':540,1395,1420 'credenti':973,1089 'csharp':647 'csproj':644 'current':251,797,1939 'data':231 'debug':1827 'definit':488,1141 'deliv':14,86 'deliveri':1690 'demo':1226 'demonstr':569,1115,1295,1376 'descript':301,423,507,778,1243,1440 'detect':617,690,711,744,922,1070,1213 'determin':625 'discov':1777 'discoveri':573,820 'display':393,758,787,1232,1431,1638 'drop':1325 'e.g':74,1257 'end':559,1509 'endpoint':241,519,524,1296,1302,1339,1341,1356,1363,1384,1414,1481,1490,1740,1815,1987 'enough':104 'entir':51,205 'entri':785 'error':1484,1825,1829,1867 'etc':976 'everi':27,94,603,697,1756 'exact':238,356,428,1110,1238,1310,1455,1789 'exampl':121,386,396,721,786,1017,1193,1207,1378,1394,1405,1410,1417 'explain':261,290,892 'explan':159 'explanatori':888 'explicit':1367,1975 'explor':842 'expos':1873 'fact':175,326 'fail':1862 'fall':684 'fenc':1994 'fetch':352,383,583,623,702,716,732,739,867,1337,1553,1931 'field':494 'file':634,640,680,1971 'first':285,951,1093,1542 'flow':975,1841 'focus':594 'follow':26,48,174,325 'format':763,788,1531 'found':682 'four':272,571 'fragment':1501 'framework':1616 'framework-specif':1615 'full':424,510,753,1101,1451,1584,1701,1734 'fulli':1319 'fundament':184 'gemfil':667 'general':191 'generat':1820 'geocod':1801,1814 'get':350,905 'gettrack':543,1397,1426 'github':8 'give':294,313,925,1581,1909 'given':371 'go':664 'go.mod':663 'goal':1077 'good':1225 'googl':1628,1805 'great':901 'ground':219,475 'guess':225 'guid':16,1102 'guidanc':446,470,1915 'handl':1483,1685,1826,1830,1852 'helper':605 'high':929 'high-level':928 'highlight':962,1249 'human':391 'human-read':390 'identifi':380 'identifier/key':435 'import':1471 'includ':1106,1587,1664,1824 'incorrect':202 'inform':139,1876 'initi':1563,1599,1670 'initialis':1476 'inspect':632 'instal':988,1085,1967 'instead':221 'instruct':73 'integr':440,575,991,1033,1083,1618,1626,1702,1735,1770,1981 'interact':17,34,830,996 'interest':1246 'intermitt':1863 'introduc':276 'java':660 'keep':136 'key':361,374,747,863,916,920,1064,1068,1200,1205,1224,1370,1373,1412,1413 'kind':316 'know':1290 'languag':134,158,259,364,372,437,620,630,691,709,742,745,921,923,995,1069,1071,1211,1215,1398,1403,1418,1424,1430,2000 'laravel':1651 'layer':220 'learn':1012 'let':122,730,903,1048,1055,1122,1132,1168,1335 'level':930 'librari':824 'like':69,840,900,1045,1167,1184,1334 'limit':1866,1875 'line':300 'list':127,366,417,513,754,764,1515 'live':215,577,1350 'll':568,1904 'look':113,483,521,635,642,648,655,661,665,671,1050,1134,1183,1278,1304,1391,1811 'm':1621,1649 'machin':378 'machine-read':377 'main':940,978 'make':98,587,1091 'manag':825,1024 'map':1629,1806 'match':249,357,430,1271 'matic':3,23,179 'mcp':11,24,180,1539 'memor':297 'menu':1532 'messag':1611,1755,1859 'method':525,545,1308,1386,1437,1493 'might':609 'miss':204 'model':192,240,481,504,1116,1127,1138,1173,1175,1188,1197,1219,1239,1255,1267,1282,1818 'model/object':487 'modifi':1964 'modul':943 'monitor':1765 'music/podcast':819 'name':62,394,416,506,769,846,884,910,986,1008,1162,1174,1220,1240,1269,1285,1340,1387,1415,1438,1494 'namespac':982 'narrat':54 'natur':91 'nearbi':1635 'need':1288,1750 'nest':517,1254 'never':53 'new':407 'newer':207 'next.js':1624,1716 'note':880,1916 'notic':1461 'notif':1713 'npm/pip/nuget/etc':984 'number':64,849 'oauth':974,1840 'object':1140,1369 'offer':1942 'often':200 'onboard':1,9 'one':100,299,427,773,1948 'one-lin':298 'one-sent':772 'open':147 'option':516,1149,1250 'order':30,497,807,1020,1229,1711,1726 'outdat':201 'output':318 'overview':907,931 'packag':985,1968 'package.json':637 'page':1642 'paramet':527,547,1311,1347,1443,1743 'part':1004 'partial':1158,1270,1497 'pass':694,872 'past':555 'pattern':243,1883 'paus':144 'payment':806 'paypal':387,397,413,803,812,1208,1228,1379,1419 'per':83 'phase':28,61,76,145,611,826,890,989,1113,1293,1502 'php':675,676,1585,1666 'pick':1185,1222,1353,1923 'place':1630 'plain':157 'plain-languag':156 'playback':821 'playlist':1764 'point':35,1235,1434 'pom.xml':657 'possibl':604 'post':1609,1752,1860 'present':336,958,1103,1454,1527,1991 'prevent':141 'previous':1202 'primari':629 'problem':185,263 'proceed':1979 'program':258 'project':133,256,408,619,627,679,729,994,1214,1329,1402,1423,1429,1966 'properti':492,501,512,1144,1248 'provid':433 'public':196 'pull':124,1057 'purchaseunit':1258 'py':653 'pyproject.toml':651 'python':654,1408,1606,1871 'queri':233,924,1072,1216,1227,1382,1416 'question':441 'quickstart':457,1034,1060,1084,1540 'rate':1865,1874 'rather':601 'raw':338 'rb':669 'read':72,1959 'read-on':1958 'readabl':379,392 'readi':556,1467 'real':1709 'real-tim':1708 'receiv':1689 'recommend':1881 'refer':1256 'refresh':1854 'regist':1663 'relat':309 'repli':42,855,1040 'repres':1187,1218,1355 'request':1442 'requir':502,514,1147,1252 'requirements.txt':650 'respons':528,549,869,960,1105,1315,1448,1817 'rest':813 'restaur':1636 'result':760,792,1182,1234,1433,1810,1933 'retri':1882 'return':354,381,544,751,1112,1457,1837 'right':461,585 'rubi':670 'rule':47 'runnabl':245,472,532,1320 'sampl':247,449,474,534,558,1109,1322,1352,1453,1465,1985 'say':60,165,331,844,898,1043,1165,1332 'scenario':310 'script':1607 'sdk':208,227,239,399,414,479,486,805,979,1087,1137,1307,1385,1475,1551,1589,1646,1667,1736,1851,1872 'search':482,520,1021,1117,1128,1170,1198,1265,1297,1303,1364,1487,1633,1988 'section':561 'see':322,724,1179,1345 'select':829 'send':1578,1593,1656,1721 'sensit':1161,1500 'sent':1697 'sentenc':102,774 'server':25,163,181,211,235,265,282,398,599,801,804,1907 'set':1546 'setup':1586,1668,1737,1786 'shape':1292 'ship':1712,1730 'short':101,422 'show':454,535,613,765,1029,1079,1124,1558,1652,1731,1782,1983 'signatur':546 'silent':142,683 'similar':1301 'skill':6,13,52,56,85,1956 'skip':783 'slack':1601,1754,1858 'sln':646 'sms':1580,1659,1695,1723 'solv':182,266 'someon':279 'someth':899,1044,1166,1333 'sound':68 'sourc':329 'source-github' 'specif':1003,1281,1617,1914 'spotifi':816,1210,1230,1381,1425,1549,1759,1833 'start':405,581,954,1775 'state':1076 'statement':148 'status':1691,1727 'step':63,80,467,469,952 'step-by-step':466 'stop':31 'store':688,858,1717 'straight':1326 'structur':57 'subscript':808,1025 'subsequ':698,876 'summari':775,1514 'sure':1054 'tabl':339 'tag':2001 'tell':105,563,705,1118,1260,1298,1458,1896,1934 'text':889 'thing':1517 'throughout':49 'time':286,1710,1757 'token':1853 'tool':95,120,150,273,289,340,576,600,699,750,877,1131,1699,1952 'top':1555 'tour':18,88,580,592,1511,1887,1946 'track':1022,1557,1760 'trackobject':1231 'train':194,230 'tri':1274 'truncat':781 'ts':638 'tsx':639 'twilio':1575,1658,1683,1719 'type':491,511,518,529,548,550,1143,1152,1247,1313,1316,1446,1449 'typescript':641,687,728,737,1406,1550,1645,1746,1774,1850 'undefin':1259 'unexplain':143 'unless':1972 'usag':228 'use':280,305,323,346,404,610,886,955,968,1015,1154,1469,1643,1650,1718,1804,1845,1905 'user':40,107,138,320,565,707,833,853,999,1038,1074,1120,1262,1300,1400,1421,1427,1460,1519,1662,1802,1922,1974 'valu':864 'vault':810 'version':209,217,253,444,480,1913 'version-accur':443 'version-awar':216 'version-specif':1912 'via':811 'vs':515,1148,1251 'wait':37,850,1035 'walk':267,1596,1767 'walkthrough':151 'want':1010,1389,1705,1799,1900 'way':462 'web':817 'webhook':1684 'whenev':1286 'word':170 'work':947,972,1129,1156,1272 'workflow':608 'workspac':633 'would':304,838 'write':1970 'x':465","prices":[{"id":"0ba74917-f8d3-4cff-8d72-505fc1db20c9","listingId":"74f9a3ad-c314-40d3-b048-fcebb7d666f7","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:36:19.503Z"}],"sources":[{"listingId":"74f9a3ad-c314-40d3-b048-fcebb7d666f7","source":"github","sourceId":"github/awesome-copilot/onboard-context-matic","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/onboard-context-matic","isPrimary":false,"firstSeenAt":"2026-04-18T21:50:23.192Z","lastSeenAt":"2026-04-22T00:52:13.560Z"},{"listingId":"74f9a3ad-c314-40d3-b048-fcebb7d666f7","source":"skills_sh","sourceId":"github/awesome-copilot/onboard-context-matic","sourceUrl":"https://skills.sh/github/awesome-copilot/onboard-context-matic","isPrimary":true,"firstSeenAt":"2026-04-18T20:36:19.503Z","lastSeenAt":"2026-04-22T02:40:28.882Z"}],"details":{"listingId":"74f9a3ad-c314-40d3-b048-fcebb7d666f7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"onboard-context-matic","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/onboard-context-matic"},"updatedAt":"2026-04-22T02:40:28.882Z"}}