# Knowledge Source Router

> Determines which region-specific knowledge source(s) to search based on the user's location. You MUST invoke this skill BEFORE calling the KnowledgeSearch tool, and pass the chosen source(s) as its `sources` parameter.

- Skill: `kody-w/knowledge-source-router` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kody-w/knowledge-source-router`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kody-w/knowledge-source-router/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: kody-w (https://skillmd.com/u/kody-w)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kody-w/knowledge-source-router

---


Pick the correct region-specific knowledge source(s) for a query based on the
**user's location**, so answers are grounded in content that is accurate for
where the user is. Always do this BEFORE calling the `KnowledgeSearch` tool, and
pass the chosen source(s) as the `sources` parameter of that call — on every
knowledge-grounded question. Policies, benefits, pricing, legal/compliance,
support hours, and product availability frequently differ by country or region,
so read from the source that matches the user's location before answering.

## Available sources
| Source | Use when the user is located in... |
| --- | --- |
| `Global` | Any location, for content that is the same everywhere (fallback / default). |
| `Americas` | United States, Canada, Mexico, Central & South America. |
| `EMEA` | Europe, the Middle East, and Africa. |
| `APAC` | Asia, Australia, and the Pacific. |

<!-- toaster:generated:begin -->

## Run this — do not improvise

This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as `knowledge_source_router_agent.py` and embedded as the fenced Python below (sha256 7852acf6808b8095…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to `knowledge_source_router_agent.py` first:

```bash
python3 knowledge_source_router_agent.py '{"key": "value"}'      # arguments as one JSON object
echo '{"key": "value"}' | python3 knowledge_source_router_agent.py   # or on stdin
python3 knowledge_source_router_agent.py --tool                      # emit the JSON tool contract
```

Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns `steps`, execute those steps in order exactly as returned; if it returns `instructions`, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed `rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent`.

```python  # rapp:deterministic
"""KnowledgeSourceRouter -- Determines which region-specific knowledge source(s) to search based on the user's location. You MUST invoke this skill BEFORE calling the KnowledgeSearch tool, and pass the chosen source(s) as its `sources` parameter.

Generated by the rapp skill from knowledge-source-router. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""

import json
import re
import sys

try:
    from agents.basic_agent import BasicAgent
except ImportError:  # running OUTSIDE a brainstem -- stay executable anyway.
    class BasicAgent:  # noqa: D101 - minimal stand-in, same contract
        def __init__(self, name=None, metadata=None):
            if name:
                self.name = name
            if metadata:
                self.metadata = metadata

        def perform(self, **kwargs):
            return "Not implemented."

        def system_context(self):
            return None

        def to_tool(self):
            return {"type": "function", "function": {
                "name": self.name,
                "description": self.metadata.get("description", ""),
                "parameters": self.metadata.get("parameters", {})}}

# The procedural layer, verbatim from the source capability.
INSTRUCTIONS = "Pick the correct region-specific knowledge source(s) for a query based on the\n**user's location**, so answers are grounded in content that is accurate for\nwhere the user is. Always do this BEFORE calling the `KnowledgeSearch` tool, and\npass the chosen source(s) as the `sources` parameter of that call — on every\nknowledge-grounded question. Policies, benefits, pricing, legal/compliance,\nsupport hours, and product availability frequently differ by country or region,\nso read from the source that matches the user's location before answering.\n\n## Available sources\n| Source | Use when the user is located in... |\n| --- | --- |\n| `Global` | Any location, for content that is the same everywhere (fallback / default). |\n| `Americas` | United States, Canada, Mexico, Central & South America. |\n| `EMEA` | Europe, the Middle East, and Africa. |\n| `APAC` | Asia, Australia, and the Pacific. |"

# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []


class KnowledgeSourceRouterAgent(BasicAgent):
    def __init__(self):
        self.name = 'KnowledgeSourceRouter'
        self.metadata = {
          "name": "KnowledgeSourceRouter",
          "description": "Determines which region-specific knowledge source(s) to search based on the user's location. You MUST invoke this skill BEFORE calling the KnowledgeSearch tool, and pass the chosen source(s) as its `sources` parameter.",
          "parameters": {
            "type": "object",
            "properties": {},
            "required": []
          }
        }
        super().__init__(name=self.name, metadata=self.metadata)

    def perform(self, **kwargs):  # toaster:generated-perform
        return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,
                           "inputs": kwargs,
                           "note": "Prose-only capability: follow INSTRUCTIONS "
                                   "with the given inputs."}, indent=2)

if __name__ == "__main__":
    #     echo '{"arg": "value"}' | python3 knowledge_source_router_agent.py
    #     python3 knowledge_source_router_agent.py '{"arg": "value"}'
    #     python3 knowledge_source_router_agent.py --tool          # emit the JSON tool contract
    _a = sys.argv[1:]
    if _a and _a[0] == "--tool":
        print(json.dumps(KnowledgeSourceRouterAgent().to_tool(), indent=2))
    else:
        _raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
        print(KnowledgeSourceRouterAgent().perform(**json.loads(_raw)))

# rci-capsule:v1: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
```

<!-- toaster:generated:end -->

<!-- rci-capsule:v1:H4sIAAAAAAAC/41ZeZOj2JH/KopyxO546G4EAgQdYUcAQtyHhEBCbscM933fjP3d96mqZ3ys12v9UcWDvPP3knzJL2/uOCR19/a1Govi01sQ9n6XNkNaV29f307hEHZlWoX9bk5SP9l1YQyefO6b0E+j1N/lVT0XYRCHu74eOz/8of/9bqh3feh2gNpz+zDY1dVuSMLd2Ifdf/e7ovbdl/QvO6ced6pl3nZpNdV5CIjSftfnaVHsGO6sX7md7xZFWsXv7PKvmswP2UNdF592bhXsGrfv30n8pO7D6u8scftdOvS7nz/u9D8D0s4tXz59efv0Fi5u2RRh//b1T3/+9JaC67evv7z5BRAHXP+bvnfmaz0CNjoOqwGwFm4VA5pmBaGrwLoJu6juSnArCKPd99UPfVhEn3Y//pjPbhf3v/+62/0OmO32QNBXICjs3CEMPn+n/lbtvv+6cBi7apf1IEjBWDb9D798e+sHdxj7b29fd9/e6vzb2yfwP636oRv9VzTfn4iaebta7E3UNfPT3+T9i9+LtxmHd64P6/4/+qoewg/tRgei/LmuihXkp3G9tEiH9esuqouinv/BBkD8b6X+TfqcDsl7CuN0Ahn8MO7Lt7e/fgLXAYj5H9Dfg8U/eAyCbaR+/pH5uutCf/iP4AmCvXN37Rh26z8A9Fv144//hNEff/wEGAHI+jns+p3bAQO7egQWBcAuoLUagG2A2R12ALuu74+vnL5UfKvmJOzC35APnn/Z0cXsrv0uqD+w/i9Q/vM/wfznv+H8W/Vvgf7O/b+BvqujD/teWnbfRnSPYC+Hwwn4/636LUCff3MMRKb/2KBGXaR+Gvafdh5AawS20qdd04FbVfxpV4SxW8B+DbZN6lZ+CADUj01Td8MuAVb03/dmVwcgXzt3ctPiO1Z2URcCJdUAEBSkUQSM9ACWgPoBpARk5yOLL4E1uHYDwFCX7w5++PfhUOkOfhL2/6q2AHtBCsLviQPmfvlWfat+97sd/WFG8auk/lv1l93HBt/9ZWf1IShzYfX3SfuQ+Z7vL1++7P7yYvj8+fPu+9/X8me+qD23+Bnco6v1NyM+vSPtnzHy7gVIzUcCPjDyQwRy47kAy/AO1A93LIbff1f1M10CB3y3f0m3qvRliQlKwSsprFu5gftpp4ZL6tdgDfR0brH7r5dHYD99Z/1VEqdy9EsKN3Z1E356t0RNgwAEgwM16SNfdPT3LLRBs+9u9SnQQ4/9S/7r8kX64jfc930G6F9FMfXDqg9/fZNUwMv/q46+SuavCO1fVbd52dQN6asa/wI2+gshaRcGH7V5WJuXqNrLwCZ/1YGmcIePgvsibroQJGt6Uf/y5r6XaHDhERjgEbBepD9+LEwhDxSX001yIWrNRR2VibZFzMuVH1IPvxgMdeEuNyrcBwjdF4xu5aVoeBEX9QkeV5VpeoxeRVOVIJtuzw77LDrcC/QD0t5X6P4UiMuosSvGhpKYoOLFWZIrBQeWgMtnHI4vllsNxMmxL34vwUJvXYb9Ijz3hJEPZsuw1MXzrVMacxfrqrszw8RzQ7LDeEkTXjVSQz49TDp1sHa4DKmbnidJ7ZYcosXV5AQrzOqRPdr8vD6w+mTGYU9MxV2cUJkk+ieDafh1PoU1xzKWoAkDzQnw6SrTMu1nxDQhLNzoWe7RK4q2RV5nhKqKDi1d1rlbWPGW7GGkPAvpNAxIhIdQNqeUbaaycH3gLCZadZByZ5/lJ+Ya33qfJe+lSDy5Hth1o+Vt3qSmPa0K5wvHDDYfB4G2WIwvXUuYYikzmANWoBwNSyeL0S68djypFLMM9jwW+1Y/z861ibGalOAH91jC+rLaZpbJQl5b4aXbz6IIXQvLpPMAVs5E3ZA6BZ/VA4zI7HNB+VKqLR5Ta7YVgQcNd/WECT/g0TpI5T6hLrEmppgRi5cVNtj6ylx7bkN4VR20BTL2A2OnhxEZ9iTfUo+z0ZEYfQnbEx40RHFMW/OGzdwBgUSPwnD4unJmTs2Szir3c9GtC0aXVJSIp9EQlqXnHpGuk33FdHslnrdRvjKcQ4tGSkVecjUbWFBUDIrwDB6vbjvld8qzMNIW2ntYwrmwhdKgGCslHkeWVzf2tFYDA0EPSb3czeQExWmqG2JDNqzF3bjkii/cZrZ4FBIml0rjQm0DSW9KcYMehTDGRpjqQqa2kGqoGSzr9JBADteWR37CIduZqnGLWgaCdZnxR2zuJyOdj0OULfEFJPdmjAWGH/WWiQRtnI18npTBw00SYQGkHOwAHSIrw6GDcYDuZgPJZbxmFzHgBUnI/Zzja+B/Idk8qrrHIr+GiRaYW94/XPHYOZKMciiXpTdxuj09NqlNdBKUPYbbBvCS1SfiYIowVz1vkuw8r1R9RKepAJtziScQTVOthYZvLma9xhf60qQIq3gLnSwrKYsudfcYLRRvMxucDnpotjDWjBGasaxyWGSqHSxkfdjJGmejoejeMdugOQLoOMrVAJMGJVVitO8iG5ey8aR4hABBOAwXdq+kXrh5MNZ5Hu5cg5XtmhVmi0WQsCt2RUsuyg/sVvm5p5s3j0KuSmfSd0o9WclFJwUbo0hE8O1kLvJ9XLMhkc1iJhUcwz5OfrOyJsRJa+rAQXYS/f16EYfn8nBIseFDwW+WU8nG+sr0zsTaZweb+R7dUz1snmuGhRfjsMp8ffbg8AmTG0XVXfPgdWKTppsG4yNBFULr7Rs+F646oUAaerYrLlxANDqqukw+hzQU1CPRhMH+hTbGAJYHAvUnUSdkzRgdUbRs3c1t2ovLVUQkulWZvE+RipHoo654DTFCwYakMY1fumJfUlx78U40czU2hcYpC01QJOYD4UTGxw1ktomwbJgzD5GMuic8xhlO2nDZUpmOJTkMxHONJxzvqyYPHYGV3ZQ8mq5rSOf6XNfTIeD1B0GiNqRJQRS7irgaxfoYImVlTyivXutt1YTUUH11H5EueoeL7CLd8RPRsKe9rkd34phc0Tw92fYximA0s9kmQKnrhONE6gUoGXR0xUxoIXhIgnQBhUfaVDywEXYHnWyeTbVVKDVrT8hEntF4cskJjswQpdAQIma4H6lAudEjQrvKRE5daM3bIoj7TZTwiITu3AGfIUFiuqc4V+s48Rulj3LOyKpXEp0CFZeNvU9ZdEZ0IX8ctcEkHqR3NqSkvcaKE11jw4cqag9V5gK54QmT7frgsJSgZZsMjGNVdhyN8D5pzdGqlaHB4ckeQOFB8COOJLouqD5+7poMijQgShcW27ql4RXGEgHUTphleunRMWN5XIlqrRYTkjksmLMn3hSJfkmUgm0bF64KoYidZm1JlXTdm43eRtIPBCIdmoMIGUJTmMICKwjZkbacspIW1tsGy4sU++5F8XnpCUepY515zzlNG++iFvnojIm8ddUDC0q1gWAr8qZ02sp5gpRimo6T8AwPkSzFDb7BnroczPVcd0p4IglDd++XvXeWvRyG6gQa2+d8ZJOLDdEZ1E5Q5mtPO4BLe+FiT+q2g9RW0CwSByT0nyT81K48pjwC5uztvWmZ05zRFOSQjjpMM0iOaRzK0pSqw8KVNSR7DcnRR49BVAkbrAwMysBXQ/NvCASdjSygmayWOpgoajp9mDezisYqQnuDjfaz10oSBXfzYLpDrHryPXL3G6i+uQnCIOYQlZrSNSRGJV0tLSXPkcNBdOnC18AtT9nzYl/78hDghrzhfXXa1C62D9Zm6Af1PLVirnUa42Unb7hVqNndQh2cCzJw9BpPqEKNUjseoxLXkNm3KCwqbc8NFDqHFDETxrp7npE6oFqffCyHw3niOl9vp5vwgJ0cuXP1JhXZPNmIUYnzPd5bs5d55vC4P3l+qQTZP+6D6cwer5pNybl/vKEjbGOq4jym01XQ/EwLp4N1nKuNO4yYphi4MuTBidS0gCKDm/n0pozHBgUd9e3UcUeiojbvfhBuXHjtZNca5Cc4lFf4jcED1iNHRR2uI6K1ShWx0wJ1CKOVZlU1lVnunRqy1kqZjCrGoeVZoti18G73SQFdcLvAN1W5H3rKvKdrPp1nM8qSg/AwDhYyGedCtzTaf7Z5N7Ycdrbg46bjGt2GyKWajoYQVPeV8NfbFJz5UEzXkRr8tchRHV4XKCvr+5oM7YLiDwKVYJvXVOs+7t0UiRqnlztP0J1McPeNZuqGR5OVpMhIZ1bU5TgcH55Q3RfZ8KDDJRsqwb2f4ruiNLj5uBH7gpfx4+Tw66HGnhlCqEjzuIlB759NS90mlcmga2kz5Dge+f5e7DH0nnWa9Cgjvl3IgVOaDKEO4XbA1dIvLVJfZwPHB5aUEYhIiXW7TWO/lZCFV0y9Dn04LX6XYHbttAej2uRlPVqV44GX1T1s7axGQbSPvrTOe/RZI0on6t2NKPt7dJaiKeO2K+siPF32ErJgCN8Py3Yuh6EomfTpjpD2iGm9bFB8BFnu77zfy8OCdF2y0kHAbJ5IBHtGpueNGFBYirWimjLQwnKZy64kY48TSpyYgfbqzr/p3mmqtZsRrsaYaxKhYx3lLtvY3ghRLxY3S9zmXJvpsxKP9009TZPk3HDQbWuoOiLenjgPqm/gboMWju9jm7AHmLEeiq+cqgYaYG4C7b8Oa4mD3RaZZHnEnm/d83Djqk3xjiAsexR+6I1+1iykupy9xynWhUaXyTq4jfZBHAo7xxCfeproOACO7c5km9KSCqHmGyuVqaAiXlt1rp4LuTIGpVk498Y+zvnC+htxtNv7sYru0yNxBJ9P2oaR0M5WnbAQ+tDtUR5esUq4dQ6JaJdlenYZ6RK2mHSDKztKZd8PU3TOU5JXkofJs+1eQzz+HltVVNnPi4wOCjk7RO2iWnB/Fo/5qdRhEcYKos3ympHBuiIBpi0xerxNPZnnl/mUB+Vhy+zsnhmgG9Gj6NySsd3mqY8iY1VbBaydzYsY5fDmsue2a/rsGqj9s7rxe9QE/XDAdSlMzFYN6vaM8pl/L7AzlDWyjtYjrnXp7PjZHnRpJirO+gCidNfiwgl79oZ6pjunoEN4EvBBeSoisV2Y+QniQGZ4ZWuxMzRXX7xCmsjOh/OxnRHp4phuIzi1y3Py9tAOmqjVDr/Bxdm7qK6hDPzoOx1KMuJqpSJehvsCJ22pIJ1UJcRuwZYGeWauo7SmxR2m7WQ+8uAhDkfveMtISCub24xiXSnvDWI0NNxn+qPQ3FHXjqtnkU7eEbxovCuDbnLPIrbDmlif9CQHIeCo6pxl9elrGNMveCGGIlHc3EiX/ah5QSdO3AtHOCs1MWqrXPomoOzn3KpU78sDyggMGjX+hmFKZpT7U2RfzuaxNNmOJL2112BiqkvTX02vjYM2RBnsvLC6YgGoG8vZ1NETodrgaOf1iWydHto9tRa5ixhUL7caugXM/sZGvgD6igPaTlI7XzFUPR7TRKk9rY/VcT5cTDbxqoTn+tMxY3UieNZturSpu4I247gW2TEHnXo4CodTZ8LBRbddxYRwW0+hdX2S6FkwvIczP6eQw/nsIRxMIt1nXpzoAu95RgyX0Iyn1/TRq4R9ou6OdptOBHX2TrF3EtbKZs/UfbO6TBfWOB6KO+IRXHQM7wjOGQv9hJzsQaGeWEjPMDlNaMIzXTGj0Wk1C2xGnbHgNRqluLM5xydz0i2Pde8PaylXtSYzR+tPHAmFDFokKURe7URhw/vtMV7lSG1cZc+tQbvI/j26pA8Ud7YjN8npk1kdRV70pBrcvly2ZNQjmxYvlALae8i2VuW+mSsyqszFric0aFzu5O6Pt2NODadmL0Oremnp7TFcrzXM80TULD6RxOQmzk/0MOT0dVykInWZwvMtbLovmkmFYz5kOmJ68D2o/UzhovXpkvqGo/yUjc3Adtl4BhE4Hog+l40QavZ5mzxzjHful1JDy/RcWSUplWvhJhP/FCxHmCHucktqBZNPKhqAt6YW39si2Axszwh6Fa7XbAFv9iYimT1mzPs8ftA0/Ye3T29RWoTfh0W/jSN/+pjP/dS9j4t+eh/qfGlWQN0nLooTgPZI4qjrRwS5Jz1yT+FUgHjgCB5gEY77AelHHhnt8ShCCeroYVRAei55wEIKCzHfI/zo7a/vo6MadD2v+eXb1z+9vYaNX9+/QHw1ZVFRvpQB0OjX1RR2w8eDz390v38DeCd+X3z9D8z+Vcj7rc9/fJf19mcgxU+BL8iX/cu1Yoz/PgifP6R97n6dmfVrP4TlT+8zxWX4ddA2uPH3bxhAQ//x4QYIBCL/+j8x6nMN3hkAAA== -->

