[{"data":1,"prerenderedAt":3138},["ShallowReactive",2],{"docs-page-en-\u002Fmemos_cloud\u002Ffeatures\u002Fskill":3,"surround-en-\u002Fmemos_cloud\u002Ffeatures\u002Fskill":3122},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":3115,"description":178,"extension":3116,"links":6,"meta":3117,"navigation":6,"path":3118,"seo":3119,"stem":3120,"__hash__":3121},"docs\u002Fen\u002Fmemos_cloud\u002Ffeatures\u002Fskill.md","Skill",null,{"type":8,"value":9,"toc":3096},"minimark",[10,15,23,36,39,50,53,56,60,65,68,75,77,81,84,86,88,92,96,103,106,150,153,155,159,162,164,169,172,862,864,868,874,1078,1080,1084,1087,1244,1247,1384,1386,1388,1392,1396,1399,1401,1405,1408,2395,2397,2401,2420,2426,2428,2432,2442,2660,2662,2666,2673,2694,2702,2704,2711,2715,2781,2786,2792,2794,2796,2800,2804,2811,2845,2847,2851,2854,2856,2860,2866,2956,2958,2962,2968,3053,3059,3061,3066,3092],[11,12,14],"h2",{"id":13},"what-is-a-skill","What is a Skill?",[16,17,18,19,22],"p",{},"In the context of AI Agents, a ",[20,21,5],"strong",{}," is a reusable task-handling method. It tells an Agent \"what to do when it encounters a certain type of task\", for example:",[24,25,26,30,33],"ul",{},[27,28,29],"li",{},"How to plan a trip",[27,31,32],{},"How to process a return ticket",[27,34,35],{},"How to generate a weekly report following company standards",[16,37,38],{},"Skills help compensate for the fact that execution experience is hard to accumulate in long-running LLM applications:",[24,40,41,44,47],{},[27,42,43],{},"Maintainable: turn stable real-world workflows into structured methods that can be iterated over time.",[27,45,46],{},"On-demand: let the Agent retrieve relevant skills for the current task, instead of placing every workflow into the context.",[27,48,49],{},"Personalized: turn different users' preferences, habits, and constraints into reusable execution methods.",[51,52],"hr",{},[54,55],"br",{},[11,57,59],{"id":58},"how-memos-provides-skills-for-agents","How MemOS Provides Skills for Agents",[61,62,64],"h3",{"id":63},"_1-auto-generate-personalized-skills","1. Auto-generate Personalized Skills",[16,66,67],{},"MemOS believes \"memory is an asset\". The solution paths and user preferences accumulated in real conversations are the most valuable raw material for skills.",[16,69,70,71,74],{},"You do not need to prepare any files. As long as you add the original conversation history between the user and the Agent, MemOS ",[20,72,73],{},"automatically extracts skills from user memories"," and turns scattered interaction history into reusable, personalized professional capabilities.",[54,76],{},[61,78,80],{"id":79},"_2-upload-custom-skills","2. Upload Custom Skills",[16,82,83],{},"MemOS also supports uploading existing skill files directly. Upload a Markdown file or ZIP package to a knowledge base, and MemOS can return relevant skills to the Agent during retrieval.",[51,85],{},[54,87],{},[11,89,91],{"id":90},"auto-generate-personalized-skills","Auto-generate Personalized Skills",[61,93,95],{"id":94},"how-it-works","How It Works",[16,97,98],{},[99,100],"img",{"alt":101,"src":102},"image.png","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002F1769759436251_3tx57c_compressed.png",[16,104,105],{},"The diagram above shows the full interaction flow between end users, the AI Agent you build, and MemOS:",[107,108,109,117,141,147],"ol",{},[27,110,111,112,116],{},"Call the ",[113,114,115],"code",{},"add\u002Fmessage"," API to send the user's conversation messages to MemOS.",[27,118,119,120,122,123,126,127,129,130,133,134,136,137,140],{},"After receiving the request, MemOS processes the messages in sequence and generates Skill files:",[54,121],{},"a. ",[20,124,125],{},"Intelligent chunking",": identify task boundaries in historical conversations and split them into task text chunks.",[54,128],{},"b. ",[20,131,132],{},"Cluster extraction",": cluster similar task text chunks and combine them with the user's historical memories to extract structured skill text.",[54,135],{},"c. ",[20,138,139],{},"Skill conversion",": convert the skill into a runnable and recognizable Skill file.",[27,142,111,143,146],{},[113,144,145],{},"search\u002Fmemory"," API to retrieve memories. MemOS returns user facts, preferences, tool memories, and matching Skill files related to the current context in a unified response.",[27,148,149],{},"Download the Skill file and pass both memories and the Skill file to your self-hosted LLM, enabling effective use of long-term experience and automatically generated skills.",[16,151,152],{},"The entire process does not require manually uploading any skill files.",[54,154],{},[61,156,158],{"id":157},"travel-planning-example","Travel Planning Example",[16,160,161],{},"Using \"Travel Planning\" as an example to show how the same task generates different skills for different users.",[54,163],{},[165,166,168],"h4",{"id":167},"_1-add-conversations","1. Add Conversations",[16,170,171],{},"The user expresses travel planning preferences in conversation: no backtracking, compact routes, cultural attractions, and weather checks in advance.",[173,174,179],"pre",{"className":175,"code":176,"language":177,"meta":178,"style":178},"language-python shiki shiki-themes material-theme-lighter github-light-high-contrast github-dark-default","import os\nimport json\nimport requests\n\nos.environ[\"MEMOS_API_KEY\"] = \"YOUR_API_KEY\"\nos.environ[\"MEMOS_BASE_URL\"] = \"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1\"\n\ndata = {\n    \"user_id\": \"memos_user_j\",\n    \"conversation_id\": \"travel_0127\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"I'm going to Chengdu next week for 5 days. I like intense, no-backtracking trips. Also mark the must-try food along the route.\"\n        },\n        {\"role\": \"assistant\", \"content\": \"...omitted...\"},\n        {\n            \"role\": \"user\",\n            \"content\": \"I prefer cultural attractions. Not interested in shopping malls.\"\n        },\n        {\"role\": \"assistant\", \"content\": \"...omitted...\"},\n        {\n            \"role\": \"user\",\n            \"content\": \"Check the weather and temperature in advance so I can pack properly.\"\n        },\n        {\"role\": \"assistant\", \"content\": \"...omitted...\"}\n    ]\n}\n\nheaders = {\n    \"Content-Type\": \"application\u002Fjson\",\n    \"Authorization\": f\"Token {os.environ['MEMOS_API_KEY']}\"\n}\nurl = f\"{os.environ['MEMOS_BASE_URL']}\u002Fadd\u002Fmessage\"\n\nres = requests.post(url=url, headers=headers, data=json.dumps(data))\nprint(f\"result: {res.json()}\")\n","python","",[113,180,181,194,202,210,217,260,289,294,306,330,351,366,372,394,413,419,461,466,485,503,508,545,550,569,587,592,630,636,641,646,656,677,722,727,762,767,828],{"__ignoreMap":178},[182,183,186,190],"span",{"class":184,"line":185},"line",1,[182,187,189],{"class":188},"sBMTB","import",[182,191,193],{"class":192},"s5ojA"," os\n",[182,195,197,199],{"class":184,"line":196},2,[182,198,189],{"class":188},[182,200,201],{"class":192}," json\n",[182,203,205,207],{"class":184,"line":204},3,[182,206,189],{"class":188},[182,208,209],{"class":192}," requests\n",[182,211,213],{"class":184,"line":212},4,[182,214,216],{"emptyLinePlaceholder":215},true,"\n",[182,218,220,223,227,231,234,238,242,244,247,251,254,257],{"class":184,"line":219},5,[182,221,222],{"class":192},"os",[182,224,226],{"class":225},"suWxN",".",[182,228,230],{"class":229},"s5qkx","environ",[182,232,233],{"class":225},"[",[182,235,237],{"class":236},"sjUum","\"",[182,239,241],{"class":240},"sp1uZ","MEMOS_API_KEY",[182,243,237],{"class":236},[182,245,246],{"class":225},"]",[182,248,250],{"class":249},"saN0X"," =",[182,252,253],{"class":236}," \"",[182,255,256],{"class":240},"YOUR_API_KEY",[182,258,259],{"class":236},"\"\n",[182,261,263,265,267,269,271,273,276,278,280,282,284,287],{"class":184,"line":262},6,[182,264,222],{"class":192},[182,266,226],{"class":225},[182,268,230],{"class":229},[182,270,233],{"class":225},[182,272,237],{"class":236},[182,274,275],{"class":240},"MEMOS_BASE_URL",[182,277,237],{"class":236},[182,279,246],{"class":225},[182,281,250],{"class":249},[182,283,253],{"class":236},[182,285,286],{"class":240},"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1",[182,288,259],{"class":236},[182,290,292],{"class":184,"line":291},7,[182,293,216],{"emptyLinePlaceholder":215},[182,295,297,300,303],{"class":184,"line":296},8,[182,298,299],{"class":192},"data ",[182,301,302],{"class":249},"=",[182,304,305],{"class":225}," {\n",[182,307,309,312,315,317,320,322,325,327],{"class":184,"line":308},9,[182,310,311],{"class":236},"    \"",[182,313,314],{"class":240},"user_id",[182,316,237],{"class":236},[182,318,319],{"class":225},":",[182,321,253],{"class":236},[182,323,324],{"class":240},"memos_user_j",[182,326,237],{"class":236},[182,328,329],{"class":225},",\n",[182,331,333,335,338,340,342,344,347,349],{"class":184,"line":332},10,[182,334,311],{"class":236},[182,336,337],{"class":240},"conversation_id",[182,339,237],{"class":236},[182,341,319],{"class":225},[182,343,253],{"class":236},[182,345,346],{"class":240},"travel_0127",[182,348,237],{"class":236},[182,350,329],{"class":225},[182,352,354,356,359,361,363],{"class":184,"line":353},11,[182,355,311],{"class":236},[182,357,358],{"class":240},"messages",[182,360,237],{"class":236},[182,362,319],{"class":225},[182,364,365],{"class":225}," [\n",[182,367,369],{"class":184,"line":368},12,[182,370,371],{"class":225},"        {\n",[182,373,375,378,381,383,385,387,390,392],{"class":184,"line":374},13,[182,376,377],{"class":236},"            \"",[182,379,380],{"class":240},"role",[182,382,237],{"class":236},[182,384,319],{"class":225},[182,386,253],{"class":236},[182,388,389],{"class":240},"user",[182,391,237],{"class":236},[182,393,329],{"class":225},[182,395,397,399,402,404,406,408,411],{"class":184,"line":396},14,[182,398,377],{"class":236},[182,400,401],{"class":240},"content",[182,403,237],{"class":236},[182,405,319],{"class":225},[182,407,253],{"class":236},[182,409,410],{"class":240},"I'm going to Chengdu next week for 5 days. I like intense, no-backtracking trips. Also mark the must-try food along the route.",[182,412,259],{"class":236},[182,414,416],{"class":184,"line":415},15,[182,417,418],{"class":225},"        },\n",[182,420,422,425,427,429,431,433,435,438,440,443,445,447,449,451,453,456,458],{"class":184,"line":421},16,[182,423,424],{"class":225},"        {",[182,426,237],{"class":236},[182,428,380],{"class":240},[182,430,237],{"class":236},[182,432,319],{"class":225},[182,434,253],{"class":236},[182,436,437],{"class":240},"assistant",[182,439,237],{"class":236},[182,441,442],{"class":225},",",[182,444,253],{"class":236},[182,446,401],{"class":240},[182,448,237],{"class":236},[182,450,319],{"class":225},[182,452,253],{"class":236},[182,454,455],{"class":240},"...omitted...",[182,457,237],{"class":236},[182,459,460],{"class":225},"},\n",[182,462,464],{"class":184,"line":463},17,[182,465,371],{"class":225},[182,467,469,471,473,475,477,479,481,483],{"class":184,"line":468},18,[182,470,377],{"class":236},[182,472,380],{"class":240},[182,474,237],{"class":236},[182,476,319],{"class":225},[182,478,253],{"class":236},[182,480,389],{"class":240},[182,482,237],{"class":236},[182,484,329],{"class":225},[182,486,488,490,492,494,496,498,501],{"class":184,"line":487},19,[182,489,377],{"class":236},[182,491,401],{"class":240},[182,493,237],{"class":236},[182,495,319],{"class":225},[182,497,253],{"class":236},[182,499,500],{"class":240},"I prefer cultural attractions. Not interested in shopping malls.",[182,502,259],{"class":236},[182,504,506],{"class":184,"line":505},20,[182,507,418],{"class":225},[182,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543],{"class":184,"line":510},21,[182,512,424],{"class":225},[182,514,237],{"class":236},[182,516,380],{"class":240},[182,518,237],{"class":236},[182,520,319],{"class":225},[182,522,253],{"class":236},[182,524,437],{"class":240},[182,526,237],{"class":236},[182,528,442],{"class":225},[182,530,253],{"class":236},[182,532,401],{"class":240},[182,534,237],{"class":236},[182,536,319],{"class":225},[182,538,253],{"class":236},[182,540,455],{"class":240},[182,542,237],{"class":236},[182,544,460],{"class":225},[182,546,548],{"class":184,"line":547},22,[182,549,371],{"class":225},[182,551,553,555,557,559,561,563,565,567],{"class":184,"line":552},23,[182,554,377],{"class":236},[182,556,380],{"class":240},[182,558,237],{"class":236},[182,560,319],{"class":225},[182,562,253],{"class":236},[182,564,389],{"class":240},[182,566,237],{"class":236},[182,568,329],{"class":225},[182,570,572,574,576,578,580,582,585],{"class":184,"line":571},24,[182,573,377],{"class":236},[182,575,401],{"class":240},[182,577,237],{"class":236},[182,579,319],{"class":225},[182,581,253],{"class":236},[182,583,584],{"class":240},"Check the weather and temperature in advance so I can pack properly.",[182,586,259],{"class":236},[182,588,590],{"class":184,"line":589},25,[182,591,418],{"class":225},[182,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627],{"class":184,"line":594},26,[182,596,424],{"class":225},[182,598,237],{"class":236},[182,600,380],{"class":240},[182,602,237],{"class":236},[182,604,319],{"class":225},[182,606,253],{"class":236},[182,608,437],{"class":240},[182,610,237],{"class":236},[182,612,442],{"class":225},[182,614,253],{"class":236},[182,616,401],{"class":240},[182,618,237],{"class":236},[182,620,319],{"class":225},[182,622,253],{"class":236},[182,624,455],{"class":240},[182,626,237],{"class":236},[182,628,629],{"class":225},"}\n",[182,631,633],{"class":184,"line":632},27,[182,634,635],{"class":225},"    ]\n",[182,637,639],{"class":184,"line":638},28,[182,640,629],{"class":225},[182,642,644],{"class":184,"line":643},29,[182,645,216],{"emptyLinePlaceholder":215},[182,647,649,652,654],{"class":184,"line":648},30,[182,650,651],{"class":192},"headers ",[182,653,302],{"class":249},[182,655,305],{"class":225},[182,657,659,661,664,666,668,670,673,675],{"class":184,"line":658},31,[182,660,311],{"class":236},[182,662,663],{"class":240},"Content-Type",[182,665,237],{"class":236},[182,667,319],{"class":225},[182,669,253],{"class":236},[182,671,672],{"class":240},"application\u002Fjson",[182,674,237],{"class":236},[182,676,329],{"class":225},[182,678,680,682,685,687,689,693,696,700,702,704,706,708,711,713,715,717,720],{"class":184,"line":679},32,[182,681,311],{"class":236},[182,683,684],{"class":240},"Authorization",[182,686,237],{"class":236},[182,688,319],{"class":225},[182,690,692],{"class":691},"sZ6T4"," f",[182,694,695],{"class":240},"\"Token ",[182,697,699],{"class":698},"scyET","{",[182,701,222],{"class":192},[182,703,226],{"class":225},[182,705,230],{"class":229},[182,707,233],{"class":225},[182,709,710],{"class":236},"'",[182,712,241],{"class":240},[182,714,710],{"class":236},[182,716,246],{"class":225},[182,718,719],{"class":698},"}",[182,721,259],{"class":240},[182,723,725],{"class":184,"line":724},33,[182,726,629],{"class":225},[182,728,730,733,735,737,739,741,743,745,747,749,751,753,755,757,759],{"class":184,"line":729},34,[182,731,732],{"class":192},"url ",[182,734,302],{"class":249},[182,736,692],{"class":691},[182,738,237],{"class":240},[182,740,699],{"class":698},[182,742,222],{"class":192},[182,744,226],{"class":225},[182,746,230],{"class":229},[182,748,233],{"class":225},[182,750,710],{"class":236},[182,752,275],{"class":240},[182,754,710],{"class":236},[182,756,246],{"class":225},[182,758,719],{"class":698},[182,760,761],{"class":240},"\u002Fadd\u002Fmessage\"\n",[182,763,765],{"class":184,"line":764},35,[182,766,216],{"emptyLinePlaceholder":215},[182,768,770,773,775,778,780,784,787,791,793,795,797,800,802,805,807,810,812,815,817,820,822,825],{"class":184,"line":769},36,[182,771,772],{"class":192},"res ",[182,774,302],{"class":249},[182,776,777],{"class":192}," requests",[182,779,226],{"class":225},[182,781,783],{"class":782},"sa-2m","post",[182,785,786],{"class":225},"(",[182,788,790],{"class":789},"sp4zP","url",[182,792,302],{"class":249},[182,794,790],{"class":782},[182,796,442],{"class":225},[182,798,799],{"class":789}," headers",[182,801,302],{"class":249},[182,803,804],{"class":782},"headers",[182,806,442],{"class":225},[182,808,809],{"class":789}," data",[182,811,302],{"class":249},[182,813,814],{"class":782},"json",[182,816,226],{"class":225},[182,818,819],{"class":782},"dumps",[182,821,786],{"class":225},[182,823,824],{"class":782},"data",[182,826,827],{"class":225},"))\n",[182,829,831,835,837,840,843,845,848,850,852,855,857,859],{"class":184,"line":830},37,[182,832,834],{"class":833},"svxCd","print",[182,836,786],{"class":225},[182,838,839],{"class":691},"f",[182,841,842],{"class":240},"\"result: ",[182,844,699],{"class":698},[182,846,847],{"class":782},"res",[182,849,226],{"class":225},[182,851,814],{"class":782},[182,853,854],{"class":225},"()",[182,856,719],{"class":698},[182,858,237],{"class":240},[182,860,861],{"class":225},")\n",[54,863],{},[165,865,867],{"id":866},"_2-retrieve-skills","2. Retrieve Skills",[16,869,870,871,319],{},"When the same user makes a similar request next time, pass ",[113,872,873],{},"include_skill=true",[173,875,877],{"className":175,"code":876,"language":177,"meta":178,"style":178},"data = {\n    \"query\": \"I'm planning a 7-day trip to Yunnan for the spring holiday.\",\n    \"user_id\": \"memos_user_j\",\n    \"conversation_id\": \"travel_0301\",\n    \"include_skill\": True\n}\n\nres = requests.post(\n    url=f\"{os.environ['MEMOS_BASE_URL']}\u002Fsearch\u002Fmemory\",\n    headers=headers,\n    data=json.dumps(data)\n)\nprint(f\"result: {res.json()}\")\n",[113,878,879,887,907,925,944,959,963,967,982,1018,1029,1048,1052],{"__ignoreMap":178},[182,880,881,883,885],{"class":184,"line":185},[182,882,299],{"class":192},[182,884,302],{"class":249},[182,886,305],{"class":225},[182,888,889,891,894,896,898,900,903,905],{"class":184,"line":196},[182,890,311],{"class":236},[182,892,893],{"class":240},"query",[182,895,237],{"class":236},[182,897,319],{"class":225},[182,899,253],{"class":236},[182,901,902],{"class":240},"I'm planning a 7-day trip to Yunnan for the spring holiday.",[182,904,237],{"class":236},[182,906,329],{"class":225},[182,908,909,911,913,915,917,919,921,923],{"class":184,"line":204},[182,910,311],{"class":236},[182,912,314],{"class":240},[182,914,237],{"class":236},[182,916,319],{"class":225},[182,918,253],{"class":236},[182,920,324],{"class":240},[182,922,237],{"class":236},[182,924,329],{"class":225},[182,926,927,929,931,933,935,937,940,942],{"class":184,"line":212},[182,928,311],{"class":236},[182,930,337],{"class":240},[182,932,237],{"class":236},[182,934,319],{"class":225},[182,936,253],{"class":236},[182,938,939],{"class":240},"travel_0301",[182,941,237],{"class":236},[182,943,329],{"class":225},[182,945,946,948,951,953,955],{"class":184,"line":219},[182,947,311],{"class":236},[182,949,950],{"class":240},"include_skill",[182,952,237],{"class":236},[182,954,319],{"class":225},[182,956,958],{"class":957},"smHB8"," True\n",[182,960,961],{"class":184,"line":262},[182,962,629],{"class":225},[182,964,965],{"class":184,"line":291},[182,966,216],{"emptyLinePlaceholder":215},[182,968,969,971,973,975,977,979],{"class":184,"line":296},[182,970,772],{"class":192},[182,972,302],{"class":249},[182,974,777],{"class":192},[182,976,226],{"class":225},[182,978,783],{"class":782},[182,980,981],{"class":225},"(\n",[182,983,984,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1016],{"class":184,"line":308},[182,985,986],{"class":789},"    url",[182,988,302],{"class":249},[182,990,839],{"class":691},[182,992,237],{"class":240},[182,994,699],{"class":698},[182,996,222],{"class":782},[182,998,226],{"class":225},[182,1000,230],{"class":229},[182,1002,233],{"class":225},[182,1004,710],{"class":236},[182,1006,275],{"class":240},[182,1008,710],{"class":236},[182,1010,246],{"class":225},[182,1012,719],{"class":698},[182,1014,1015],{"class":240},"\u002Fsearch\u002Fmemory\"",[182,1017,329],{"class":225},[182,1019,1020,1023,1025,1027],{"class":184,"line":332},[182,1021,1022],{"class":789},"    headers",[182,1024,302],{"class":249},[182,1026,804],{"class":782},[182,1028,329],{"class":225},[182,1030,1031,1034,1036,1038,1040,1042,1044,1046],{"class":184,"line":353},[182,1032,1033],{"class":789},"    data",[182,1035,302],{"class":249},[182,1037,814],{"class":782},[182,1039,226],{"class":225},[182,1041,819],{"class":782},[182,1043,786],{"class":225},[182,1045,824],{"class":782},[182,1047,861],{"class":225},[182,1049,1050],{"class":184,"line":368},[182,1051,861],{"class":225},[182,1053,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076],{"class":184,"line":374},[182,1055,834],{"class":833},[182,1057,786],{"class":225},[182,1059,839],{"class":691},[182,1061,842],{"class":240},[182,1063,699],{"class":698},[182,1065,847],{"class":782},[182,1067,226],{"class":225},[182,1069,814],{"class":782},[182,1071,854],{"class":225},[182,1073,719],{"class":698},[182,1075,237],{"class":240},[182,1077,861],{"class":225},[54,1079],{},[165,1081,1083],{"id":1082},"_3-generated-skill-example","3. Generated Skill Example",[16,1085,1086],{},"For the same \"Travel Planning\" task, MemOS does not apply one template to every user. It turns each user's long-term conversational preferences into a dedicated, reusable capability.\nAs shown below, MemOS may generate a skill like this for the high-energy planner:",[173,1088,1092],{"className":1089,"code":1090,"language":1091,"meta":178,"style":178},"language-markdown shiki shiki-themes material-theme-lighter github-light-high-contrast github-dark-default","---\nname: Travel Itinerary Planning\ndescription: Design multi-day itineraries for high-energy travelers, including efficient routes, cultural attractions, food spots, and weather-adapted suggestions.\n---\n\n## Procedure\n1. Determine trip duration, destination, and user preferences\n2. Collect cultural attractions, food spots, and transit info\n3. Plan daily routes by area to avoid backtracking\n4. Weave food spots into the transit route\n5. Check weather forecast and adjust routes and packing advice\n\n## Experience\n- Prioritize cultural attractions over shopping\n- Keep routes compact for high-energy travel\n- Plan each day geographically to move forward\n\n## User Preferences\n- No backtracking\n- Prefers cultural attractions\n- Wants weather checked in advance\n","markdown",[113,1093,1094,1099,1110,1120,1124,1128,1138,1147,1155,1163,1171,1179,1183,1190,1198,1205,1212,1216,1223,1230,1237],{"__ignoreMap":178},[182,1095,1096],{"class":184,"line":185},[182,1097,1098],{"class":225},"---\n",[182,1100,1101,1105,1107],{"class":184,"line":196},[182,1102,1104],{"class":1103},"sw4Oa","name",[182,1106,319],{"class":225},[182,1108,1109],{"class":240}," Travel Itinerary Planning\n",[182,1111,1112,1115,1117],{"class":184,"line":204},[182,1113,1114],{"class":1103},"description",[182,1116,319],{"class":225},[182,1118,1119],{"class":240}," Design multi-day itineraries for high-energy travelers, including efficient routes, cultural attractions, food spots, and weather-adapted suggestions.\n",[182,1121,1122],{"class":184,"line":212},[182,1123,1098],{"class":225},[182,1125,1126],{"class":184,"line":219},[182,1127,216],{"emptyLinePlaceholder":215},[182,1129,1130,1134],{"class":184,"line":262},[182,1131,1133],{"class":1132},"sJcg5","## ",[182,1135,1137],{"class":1136},"sGXFf","Procedure\n",[182,1139,1140,1144],{"class":184,"line":291},[182,1141,1143],{"class":1142},"sQBKe","1.",[182,1145,1146],{"class":192}," Determine trip duration, destination, and user preferences\n",[182,1148,1149,1152],{"class":184,"line":296},[182,1150,1151],{"class":1142},"2.",[182,1153,1154],{"class":192}," Collect cultural attractions, food spots, and transit info\n",[182,1156,1157,1160],{"class":184,"line":308},[182,1158,1159],{"class":1142},"3.",[182,1161,1162],{"class":192}," Plan daily routes by area to avoid backtracking\n",[182,1164,1165,1168],{"class":184,"line":332},[182,1166,1167],{"class":1142},"4.",[182,1169,1170],{"class":192}," Weave food spots into the transit route\n",[182,1172,1173,1176],{"class":184,"line":353},[182,1174,1175],{"class":1142},"5.",[182,1177,1178],{"class":192}," Check weather forecast and adjust routes and packing advice\n",[182,1180,1181],{"class":184,"line":368},[182,1182,216],{"emptyLinePlaceholder":215},[182,1184,1185,1187],{"class":184,"line":374},[182,1186,1133],{"class":1132},[182,1188,1189],{"class":1136},"Experience\n",[182,1191,1192,1195],{"class":184,"line":396},[182,1193,1194],{"class":1142},"-",[182,1196,1197],{"class":192}," Prioritize cultural attractions over shopping\n",[182,1199,1200,1202],{"class":184,"line":415},[182,1201,1194],{"class":1142},[182,1203,1204],{"class":192}," Keep routes compact for high-energy travel\n",[182,1206,1207,1209],{"class":184,"line":421},[182,1208,1194],{"class":1142},[182,1210,1211],{"class":192}," Plan each day geographically to move forward\n",[182,1213,1214],{"class":184,"line":463},[182,1215,216],{"emptyLinePlaceholder":215},[182,1217,1218,1220],{"class":184,"line":468},[182,1219,1133],{"class":1132},[182,1221,1222],{"class":1136},"User Preferences\n",[182,1224,1225,1227],{"class":184,"line":487},[182,1226,1194],{"class":1142},[182,1228,1229],{"class":192}," No backtracking\n",[182,1231,1232,1234],{"class":184,"line":505},[182,1233,1194],{"class":1142},[182,1235,1236],{"class":192}," Prefers cultural attractions\n",[182,1238,1239,1241],{"class":184,"line":510},[182,1240,1194],{"class":1142},[182,1242,1243],{"class":192}," Wants weather checked in advance\n",[16,1245,1246],{},"If another user is a \"low-energy relaxed traveler\" who mentions being a night owl, hating early mornings, not wanting long commutes, and preferring hidden gems, MemOS generates a noticeably different skill:",[173,1248,1250],{"className":1089,"code":1249,"language":1091,"meta":178,"style":178},"---\nname: Travel Itinerary Planning\ndescription: Help low-energy travelers plan relaxed, flexible itineraries focused on afternoon and evening experiences.\n---\n\n## Procedure\n1. Confirm user's energy level, wake-up time, and max commute tolerance\n2. Prioritize nearby, easy-access spots that don't require early starts\n3. Focus activities on afternoon, evening, and nighttime\n4. Include hidden gems, avoid overly popular crowded routes\n5. Keep flexible time slots for spontaneous changes\n\n## Experience\n- Avoid scheduling early-morning activities\n- Avoid long commutes and packed schedules\n- Recommend places reachable by subway or short taxi rides\n\n## User Preferences\n- Night owl, can't wake up early\n- Dislikes long commutes\n- Likes niche, less conventional experiences\n",[113,1251,1252,1256,1264,1273,1277,1281,1287,1294,1301,1308,1315,1322,1326,1332,1339,1346,1353,1357,1363,1370,1377],{"__ignoreMap":178},[182,1253,1254],{"class":184,"line":185},[182,1255,1098],{"class":225},[182,1257,1258,1260,1262],{"class":184,"line":196},[182,1259,1104],{"class":1103},[182,1261,319],{"class":225},[182,1263,1109],{"class":240},[182,1265,1266,1268,1270],{"class":184,"line":204},[182,1267,1114],{"class":1103},[182,1269,319],{"class":225},[182,1271,1272],{"class":240}," Help low-energy travelers plan relaxed, flexible itineraries focused on afternoon and evening experiences.\n",[182,1274,1275],{"class":184,"line":212},[182,1276,1098],{"class":225},[182,1278,1279],{"class":184,"line":219},[182,1280,216],{"emptyLinePlaceholder":215},[182,1282,1283,1285],{"class":184,"line":262},[182,1284,1133],{"class":1132},[182,1286,1137],{"class":1136},[182,1288,1289,1291],{"class":184,"line":291},[182,1290,1143],{"class":1142},[182,1292,1293],{"class":192}," Confirm user's energy level, wake-up time, and max commute tolerance\n",[182,1295,1296,1298],{"class":184,"line":296},[182,1297,1151],{"class":1142},[182,1299,1300],{"class":192}," Prioritize nearby, easy-access spots that don't require early starts\n",[182,1302,1303,1305],{"class":184,"line":308},[182,1304,1159],{"class":1142},[182,1306,1307],{"class":192}," Focus activities on afternoon, evening, and nighttime\n",[182,1309,1310,1312],{"class":184,"line":332},[182,1311,1167],{"class":1142},[182,1313,1314],{"class":192}," Include hidden gems, avoid overly popular crowded routes\n",[182,1316,1317,1319],{"class":184,"line":353},[182,1318,1175],{"class":1142},[182,1320,1321],{"class":192}," Keep flexible time slots for spontaneous changes\n",[182,1323,1324],{"class":184,"line":368},[182,1325,216],{"emptyLinePlaceholder":215},[182,1327,1328,1330],{"class":184,"line":374},[182,1329,1133],{"class":1132},[182,1331,1189],{"class":1136},[182,1333,1334,1336],{"class":184,"line":396},[182,1335,1194],{"class":1142},[182,1337,1338],{"class":192}," Avoid scheduling early-morning activities\n",[182,1340,1341,1343],{"class":184,"line":415},[182,1342,1194],{"class":1142},[182,1344,1345],{"class":192}," Avoid long commutes and packed schedules\n",[182,1347,1348,1350],{"class":184,"line":421},[182,1349,1194],{"class":1142},[182,1351,1352],{"class":192}," Recommend places reachable by subway or short taxi rides\n",[182,1354,1355],{"class":184,"line":463},[182,1356,216],{"emptyLinePlaceholder":215},[182,1358,1359,1361],{"class":184,"line":468},[182,1360,1133],{"class":1132},[182,1362,1222],{"class":1136},[182,1364,1365,1367],{"class":184,"line":487},[182,1366,1194],{"class":1142},[182,1368,1369],{"class":192}," Night owl, can't wake up early\n",[182,1371,1372,1374],{"class":184,"line":505},[182,1373,1194],{"class":1142},[182,1375,1376],{"class":192}," Dislikes long commutes\n",[182,1378,1379,1381],{"class":184,"line":510},[182,1380,1194],{"class":1142},[182,1382,1383],{"class":192}," Likes niche, less conventional experiences\n",[51,1385],{},[54,1387],{},[11,1389,1391],{"id":1390},"upload-custom-skills","Upload Custom Skills",[61,1393,1395],{"id":1394},"customer-return-example","Customer Return Example",[16,1397,1398],{},"When you already have a clear standard workflow, upload the skill file directly to a knowledge base. MemOS will retrieve and return relevant skills in a unified way. The following example uses \"Customer Service Agent Return Processing\" to walk through the full flow from skill upload to retrieval.",[54,1400],{},[165,1402,1404],{"id":1403},"_1-upload-to-the-knowledge-base-via-api","1. Upload to the Knowledge Base via API",[16,1406,1407],{},"Upload a skill file that guides a customer service Agent to help users complete product returns.",[1409,1410,1411,1780],"code-group",{},[173,1412,1415],{"className":175,"code":1413,"filename":1414,"language":177,"meta":178,"style":178},"import os\nimport json\nimport requests\n\nos.environ[\"MEMOS_API_KEY\"] = \"YOUR_API_KEY\"\nos.environ[\"MEMOS_BASE_URL\"] = \"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1\"\n\nheaders = {\n    \"Content-Type\": \"application\u002Fjson\",\n    \"Authorization\": f\"Token {os.environ['MEMOS_API_KEY']}\"\n}\n\ndata = {\n    \"knowledgebase_id\": \"kb_xxx\",  # Replace with your knowledge base ID\n    \"file\": [\n        {\n            \"type\": \"skill\",\n            \"content\": \"https:\u002F\u002Fcdn.memtensor.com.cn\u002Ffile\u002FSKILL.md\"  # Replace with your public file URL\n        }\n    ]\n}\n\nurl = f\"{os.environ['MEMOS_BASE_URL']}\u002Fadd\u002Fknowledgebase-file\"\n\nres = requests.post(url=url, headers=headers, data=json.dumps(data))\nprint(f\"result: {res.json()}\")\n","URL Upload",[113,1416,1417,1423,1429,1435,1439,1465,1491,1495,1503,1521,1557,1561,1565,1573,1597,1610,1614,1634,1654,1659,1663,1667,1671,1704,1708,1754],{"__ignoreMap":178},[182,1418,1419,1421],{"class":184,"line":185},[182,1420,189],{"class":188},[182,1422,193],{"class":192},[182,1424,1425,1427],{"class":184,"line":196},[182,1426,189],{"class":188},[182,1428,201],{"class":192},[182,1430,1431,1433],{"class":184,"line":204},[182,1432,189],{"class":188},[182,1434,209],{"class":192},[182,1436,1437],{"class":184,"line":212},[182,1438,216],{"emptyLinePlaceholder":215},[182,1440,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463],{"class":184,"line":219},[182,1442,222],{"class":192},[182,1444,226],{"class":225},[182,1446,230],{"class":229},[182,1448,233],{"class":225},[182,1450,237],{"class":236},[182,1452,241],{"class":240},[182,1454,237],{"class":236},[182,1456,246],{"class":225},[182,1458,250],{"class":249},[182,1460,253],{"class":236},[182,1462,256],{"class":240},[182,1464,259],{"class":236},[182,1466,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489],{"class":184,"line":262},[182,1468,222],{"class":192},[182,1470,226],{"class":225},[182,1472,230],{"class":229},[182,1474,233],{"class":225},[182,1476,237],{"class":236},[182,1478,275],{"class":240},[182,1480,237],{"class":236},[182,1482,246],{"class":225},[182,1484,250],{"class":249},[182,1486,253],{"class":236},[182,1488,286],{"class":240},[182,1490,259],{"class":236},[182,1492,1493],{"class":184,"line":291},[182,1494,216],{"emptyLinePlaceholder":215},[182,1496,1497,1499,1501],{"class":184,"line":296},[182,1498,651],{"class":192},[182,1500,302],{"class":249},[182,1502,305],{"class":225},[182,1504,1505,1507,1509,1511,1513,1515,1517,1519],{"class":184,"line":308},[182,1506,311],{"class":236},[182,1508,663],{"class":240},[182,1510,237],{"class":236},[182,1512,319],{"class":225},[182,1514,253],{"class":236},[182,1516,672],{"class":240},[182,1518,237],{"class":236},[182,1520,329],{"class":225},[182,1522,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555],{"class":184,"line":332},[182,1524,311],{"class":236},[182,1526,684],{"class":240},[182,1528,237],{"class":236},[182,1530,319],{"class":225},[182,1532,692],{"class":691},[182,1534,695],{"class":240},[182,1536,699],{"class":698},[182,1538,222],{"class":192},[182,1540,226],{"class":225},[182,1542,230],{"class":229},[182,1544,233],{"class":225},[182,1546,710],{"class":236},[182,1548,241],{"class":240},[182,1550,710],{"class":236},[182,1552,246],{"class":225},[182,1554,719],{"class":698},[182,1556,259],{"class":240},[182,1558,1559],{"class":184,"line":353},[182,1560,629],{"class":225},[182,1562,1563],{"class":184,"line":368},[182,1564,216],{"emptyLinePlaceholder":215},[182,1566,1567,1569,1571],{"class":184,"line":374},[182,1568,299],{"class":192},[182,1570,302],{"class":249},[182,1572,305],{"class":225},[182,1574,1575,1577,1580,1582,1584,1586,1589,1591,1593],{"class":184,"line":396},[182,1576,311],{"class":236},[182,1578,1579],{"class":240},"knowledgebase_id",[182,1581,237],{"class":236},[182,1583,319],{"class":225},[182,1585,253],{"class":236},[182,1587,1588],{"class":240},"kb_xxx",[182,1590,237],{"class":236},[182,1592,442],{"class":225},[182,1594,1596],{"class":1595},"sfVK4","  # Replace with your knowledge base ID\n",[182,1598,1599,1601,1604,1606,1608],{"class":184,"line":415},[182,1600,311],{"class":236},[182,1602,1603],{"class":240},"file",[182,1605,237],{"class":236},[182,1607,319],{"class":225},[182,1609,365],{"class":225},[182,1611,1612],{"class":184,"line":421},[182,1613,371],{"class":225},[182,1615,1616,1618,1621,1623,1625,1627,1630,1632],{"class":184,"line":463},[182,1617,377],{"class":236},[182,1619,1620],{"class":240},"type",[182,1622,237],{"class":236},[182,1624,319],{"class":225},[182,1626,253],{"class":236},[182,1628,1629],{"class":240},"skill",[182,1631,237],{"class":236},[182,1633,329],{"class":225},[182,1635,1636,1638,1640,1642,1644,1646,1649,1651],{"class":184,"line":468},[182,1637,377],{"class":236},[182,1639,401],{"class":240},[182,1641,237],{"class":236},[182,1643,319],{"class":225},[182,1645,253],{"class":236},[182,1647,1648],{"class":240},"https:\u002F\u002Fcdn.memtensor.com.cn\u002Ffile\u002FSKILL.md",[182,1650,237],{"class":236},[182,1652,1653],{"class":1595},"  # Replace with your public file URL\n",[182,1655,1656],{"class":184,"line":487},[182,1657,1658],{"class":225},"        }\n",[182,1660,1661],{"class":184,"line":505},[182,1662,635],{"class":225},[182,1664,1665],{"class":184,"line":510},[182,1666,629],{"class":225},[182,1668,1669],{"class":184,"line":547},[182,1670,216],{"emptyLinePlaceholder":215},[182,1672,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701],{"class":184,"line":552},[182,1674,732],{"class":192},[182,1676,302],{"class":249},[182,1678,692],{"class":691},[182,1680,237],{"class":240},[182,1682,699],{"class":698},[182,1684,222],{"class":192},[182,1686,226],{"class":225},[182,1688,230],{"class":229},[182,1690,233],{"class":225},[182,1692,710],{"class":236},[182,1694,275],{"class":240},[182,1696,710],{"class":236},[182,1698,246],{"class":225},[182,1700,719],{"class":698},[182,1702,1703],{"class":240},"\u002Fadd\u002Fknowledgebase-file\"\n",[182,1705,1706],{"class":184,"line":571},[182,1707,216],{"emptyLinePlaceholder":215},[182,1709,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752],{"class":184,"line":589},[182,1711,772],{"class":192},[182,1713,302],{"class":249},[182,1715,777],{"class":192},[182,1717,226],{"class":225},[182,1719,783],{"class":782},[182,1721,786],{"class":225},[182,1723,790],{"class":789},[182,1725,302],{"class":249},[182,1727,790],{"class":782},[182,1729,442],{"class":225},[182,1731,799],{"class":789},[182,1733,302],{"class":249},[182,1735,804],{"class":782},[182,1737,442],{"class":225},[182,1739,809],{"class":789},[182,1741,302],{"class":249},[182,1743,814],{"class":782},[182,1745,226],{"class":225},[182,1747,819],{"class":782},[182,1749,786],{"class":225},[182,1751,824],{"class":782},[182,1753,827],{"class":225},[182,1755,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778],{"class":184,"line":594},[182,1757,834],{"class":833},[182,1759,786],{"class":225},[182,1761,839],{"class":691},[182,1763,842],{"class":240},[182,1765,699],{"class":698},[182,1767,847],{"class":782},[182,1769,226],{"class":225},[182,1771,814],{"class":782},[182,1773,854],{"class":225},[182,1775,719],{"class":698},[182,1777,237],{"class":240},[182,1779,861],{"class":225},[173,1781,1784],{"className":175,"code":1782,"filename":1783,"language":177,"meta":178,"style":178},"import os\nimport json\nimport base64\nimport requests\n\nos.environ[\"MEMOS_API_KEY\"] = \"YOUR_API_KEY\"\nos.environ[\"MEMOS_BASE_URL\"] = \"https:\u002F\u002Fmemos.memtensor.cn\u002Fapi\u002Fopenmem\u002Fv1\"\n\nskill_markdown = \"\"\"---\nname: Customer Return Processing\ndescription: Guide customer service to handle user return requests following standard procedures\n---\n\n## Procedure\n\n1. Verify user identity and order number\n2. Confirm return reason meets policy requirements\n3. Guide user to select return method (pickup \u002F self-ship)\n4. Generate return tracking number and notify user\n5. Track logistics status and notify user upon refund completion\n\n## Experience\n\n- No-reason returns accepted within 7 days of receipt\n- Fresh products do not support returns; use after-sales compensation\n- High-value items (>$70) require supervisor approval\n\n## User Preferences\n\n- Recommend pickup service first to reduce user effort\n- Default refund to original payment method\n\n## Examples\n\n### Example 1: Standard product return\nUser: I want to return the headphones I bought three days ago.\nAssistant: Got it. I've confirmed your order is within the 7-day no-reason return window. Would you prefer pickup or self-shipping?\n\"\"\"\n\nencoded_skill = base64.b64encode(skill_markdown.encode(\"utf-8\")).decode(\"utf-8\")\n\ndata = {\n    \"knowledgebase_id\": \"kb_xxx\",  # Replace with your knowledge base ID\n    \"file\": [\n        {\n            \"type\": \"skill\",\n            \"name\": \"customer-return-sop.md\",\n            \"content\": f\"data:text\u002Fmarkdown;base64,{encoded_skill}\"\n        }\n    ]\n}\n\nheaders = {\n    \"Content-Type\": \"application\u002Fjson\",\n    \"Authorization\": f\"Token {os.environ['MEMOS_API_KEY']}\"\n}\nurl = f\"{os.environ['MEMOS_BASE_URL']}\u002Fadd\u002Fknowledgebase-file\"\n\nres = requests.post(url=url, headers=headers, data=json.dumps(data))\nprint(f\"result: {res.json()}\")\n","Base64 Upload",[113,1785,1786,1792,1798,1805,1811,1815,1841,1867,1871,1883,1888,1893,1897,1901,1906,1910,1915,1920,1925,1930,1935,1939,1944,1948,1953,1958,1963,1967,1972,1976,1981,1986,1990,1995,1999,2004,2009,2014,2020,2025,2076,2081,2090,2111,2124,2129,2148,2168,2193,2198,2203,2208,2213,2222,2241,2278,2283,2316,2321,2368],{"__ignoreMap":178},[182,1787,1788,1790],{"class":184,"line":185},[182,1789,189],{"class":188},[182,1791,193],{"class":192},[182,1793,1794,1796],{"class":184,"line":196},[182,1795,189],{"class":188},[182,1797,201],{"class":192},[182,1799,1800,1802],{"class":184,"line":204},[182,1801,189],{"class":188},[182,1803,1804],{"class":192}," base64\n",[182,1806,1807,1809],{"class":184,"line":212},[182,1808,189],{"class":188},[182,1810,209],{"class":192},[182,1812,1813],{"class":184,"line":219},[182,1814,216],{"emptyLinePlaceholder":215},[182,1816,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839],{"class":184,"line":262},[182,1818,222],{"class":192},[182,1820,226],{"class":225},[182,1822,230],{"class":229},[182,1824,233],{"class":225},[182,1826,237],{"class":236},[182,1828,241],{"class":240},[182,1830,237],{"class":236},[182,1832,246],{"class":225},[182,1834,250],{"class":249},[182,1836,253],{"class":236},[182,1838,256],{"class":240},[182,1840,259],{"class":236},[182,1842,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865],{"class":184,"line":291},[182,1844,222],{"class":192},[182,1846,226],{"class":225},[182,1848,230],{"class":229},[182,1850,233],{"class":225},[182,1852,237],{"class":236},[182,1854,275],{"class":240},[182,1856,237],{"class":236},[182,1858,246],{"class":225},[182,1860,250],{"class":249},[182,1862,253],{"class":236},[182,1864,286],{"class":240},[182,1866,259],{"class":236},[182,1868,1869],{"class":184,"line":296},[182,1870,216],{"emptyLinePlaceholder":215},[182,1872,1873,1876,1878,1881],{"class":184,"line":308},[182,1874,1875],{"class":192},"skill_markdown ",[182,1877,302],{"class":249},[182,1879,1880],{"class":236}," \"\"\"",[182,1882,1098],{"class":240},[182,1884,1885],{"class":184,"line":332},[182,1886,1887],{"class":240},"name: Customer Return Processing\n",[182,1889,1890],{"class":184,"line":353},[182,1891,1892],{"class":240},"description: Guide customer service to handle user return requests following standard procedures\n",[182,1894,1895],{"class":184,"line":368},[182,1896,1098],{"class":240},[182,1898,1899],{"class":184,"line":374},[182,1900,216],{"emptyLinePlaceholder":215},[182,1902,1903],{"class":184,"line":396},[182,1904,1905],{"class":240},"## Procedure\n",[182,1907,1908],{"class":184,"line":415},[182,1909,216],{"emptyLinePlaceholder":215},[182,1911,1912],{"class":184,"line":421},[182,1913,1914],{"class":240},"1. Verify user identity and order number\n",[182,1916,1917],{"class":184,"line":463},[182,1918,1919],{"class":240},"2. Confirm return reason meets policy requirements\n",[182,1921,1922],{"class":184,"line":468},[182,1923,1924],{"class":240},"3. Guide user to select return method (pickup \u002F self-ship)\n",[182,1926,1927],{"class":184,"line":487},[182,1928,1929],{"class":240},"4. Generate return tracking number and notify user\n",[182,1931,1932],{"class":184,"line":505},[182,1933,1934],{"class":240},"5. Track logistics status and notify user upon refund completion\n",[182,1936,1937],{"class":184,"line":510},[182,1938,216],{"emptyLinePlaceholder":215},[182,1940,1941],{"class":184,"line":547},[182,1942,1943],{"class":240},"## Experience\n",[182,1945,1946],{"class":184,"line":552},[182,1947,216],{"emptyLinePlaceholder":215},[182,1949,1950],{"class":184,"line":571},[182,1951,1952],{"class":240},"- No-reason returns accepted within 7 days of receipt\n",[182,1954,1955],{"class":184,"line":589},[182,1956,1957],{"class":240},"- Fresh products do not support returns; use after-sales compensation\n",[182,1959,1960],{"class":184,"line":594},[182,1961,1962],{"class":240},"- High-value items (>$70) require supervisor approval\n",[182,1964,1965],{"class":184,"line":632},[182,1966,216],{"emptyLinePlaceholder":215},[182,1968,1969],{"class":184,"line":638},[182,1970,1971],{"class":240},"## User Preferences\n",[182,1973,1974],{"class":184,"line":643},[182,1975,216],{"emptyLinePlaceholder":215},[182,1977,1978],{"class":184,"line":648},[182,1979,1980],{"class":240},"- Recommend pickup service first to reduce user effort\n",[182,1982,1983],{"class":184,"line":658},[182,1984,1985],{"class":240},"- Default refund to original payment method\n",[182,1987,1988],{"class":184,"line":679},[182,1989,216],{"emptyLinePlaceholder":215},[182,1991,1992],{"class":184,"line":724},[182,1993,1994],{"class":240},"## Examples\n",[182,1996,1997],{"class":184,"line":729},[182,1998,216],{"emptyLinePlaceholder":215},[182,2000,2001],{"class":184,"line":764},[182,2002,2003],{"class":240},"### Example 1: Standard product return\n",[182,2005,2006],{"class":184,"line":769},[182,2007,2008],{"class":240},"User: I want to return the headphones I bought three days ago.\n",[182,2010,2011],{"class":184,"line":830},[182,2012,2013],{"class":240},"Assistant: Got it. I've confirmed your order is within the 7-day no-reason return window. Would you prefer pickup or self-shipping?\n",[182,2015,2017],{"class":184,"line":2016},38,[182,2018,2019],{"class":236},"\"\"\"\n",[182,2021,2023],{"class":184,"line":2022},39,[182,2024,216],{"emptyLinePlaceholder":215},[182,2026,2028,2031,2033,2036,2038,2041,2043,2046,2048,2051,2053,2055,2058,2060,2063,2066,2068,2070,2072,2074],{"class":184,"line":2027},40,[182,2029,2030],{"class":192},"encoded_skill ",[182,2032,302],{"class":249},[182,2034,2035],{"class":192}," base64",[182,2037,226],{"class":225},[182,2039,2040],{"class":782},"b64encode",[182,2042,786],{"class":225},[182,2044,2045],{"class":782},"skill_markdown",[182,2047,226],{"class":225},[182,2049,2050],{"class":782},"encode",[182,2052,786],{"class":225},[182,2054,237],{"class":236},[182,2056,2057],{"class":240},"utf-8",[182,2059,237],{"class":236},[182,2061,2062],{"class":225},")).",[182,2064,2065],{"class":782},"decode",[182,2067,786],{"class":225},[182,2069,237],{"class":236},[182,2071,2057],{"class":240},[182,2073,237],{"class":236},[182,2075,861],{"class":225},[182,2077,2079],{"class":184,"line":2078},41,[182,2080,216],{"emptyLinePlaceholder":215},[182,2082,2084,2086,2088],{"class":184,"line":2083},42,[182,2085,299],{"class":192},[182,2087,302],{"class":249},[182,2089,305],{"class":225},[182,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109],{"class":184,"line":2092},43,[182,2094,311],{"class":236},[182,2096,1579],{"class":240},[182,2098,237],{"class":236},[182,2100,319],{"class":225},[182,2102,253],{"class":236},[182,2104,1588],{"class":240},[182,2106,237],{"class":236},[182,2108,442],{"class":225},[182,2110,1596],{"class":1595},[182,2112,2114,2116,2118,2120,2122],{"class":184,"line":2113},44,[182,2115,311],{"class":236},[182,2117,1603],{"class":240},[182,2119,237],{"class":236},[182,2121,319],{"class":225},[182,2123,365],{"class":225},[182,2125,2127],{"class":184,"line":2126},45,[182,2128,371],{"class":225},[182,2130,2132,2134,2136,2138,2140,2142,2144,2146],{"class":184,"line":2131},46,[182,2133,377],{"class":236},[182,2135,1620],{"class":240},[182,2137,237],{"class":236},[182,2139,319],{"class":225},[182,2141,253],{"class":236},[182,2143,1629],{"class":240},[182,2145,237],{"class":236},[182,2147,329],{"class":225},[182,2149,2151,2153,2155,2157,2159,2161,2164,2166],{"class":184,"line":2150},47,[182,2152,377],{"class":236},[182,2154,1104],{"class":240},[182,2156,237],{"class":236},[182,2158,319],{"class":225},[182,2160,253],{"class":236},[182,2162,2163],{"class":240},"customer-return-sop.md",[182,2165,237],{"class":236},[182,2167,329],{"class":225},[182,2169,2171,2173,2175,2177,2179,2181,2184,2186,2189,2191],{"class":184,"line":2170},48,[182,2172,377],{"class":236},[182,2174,401],{"class":240},[182,2176,237],{"class":236},[182,2178,319],{"class":225},[182,2180,692],{"class":691},[182,2182,2183],{"class":240},"\"data:text\u002Fmarkdown;base64,",[182,2185,699],{"class":698},[182,2187,2188],{"class":192},"encoded_skill",[182,2190,719],{"class":698},[182,2192,259],{"class":240},[182,2194,2196],{"class":184,"line":2195},49,[182,2197,1658],{"class":225},[182,2199,2201],{"class":184,"line":2200},50,[182,2202,635],{"class":225},[182,2204,2206],{"class":184,"line":2205},51,[182,2207,629],{"class":225},[182,2209,2211],{"class":184,"line":2210},52,[182,2212,216],{"emptyLinePlaceholder":215},[182,2214,2216,2218,2220],{"class":184,"line":2215},53,[182,2217,651],{"class":192},[182,2219,302],{"class":249},[182,2221,305],{"class":225},[182,2223,2225,2227,2229,2231,2233,2235,2237,2239],{"class":184,"line":2224},54,[182,2226,311],{"class":236},[182,2228,663],{"class":240},[182,2230,237],{"class":236},[182,2232,319],{"class":225},[182,2234,253],{"class":236},[182,2236,672],{"class":240},[182,2238,237],{"class":236},[182,2240,329],{"class":225},[182,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276],{"class":184,"line":2243},55,[182,2245,311],{"class":236},[182,2247,684],{"class":240},[182,2249,237],{"class":236},[182,2251,319],{"class":225},[182,2253,692],{"class":691},[182,2255,695],{"class":240},[182,2257,699],{"class":698},[182,2259,222],{"class":192},[182,2261,226],{"class":225},[182,2263,230],{"class":229},[182,2265,233],{"class":225},[182,2267,710],{"class":236},[182,2269,241],{"class":240},[182,2271,710],{"class":236},[182,2273,246],{"class":225},[182,2275,719],{"class":698},[182,2277,259],{"class":240},[182,2279,2281],{"class":184,"line":2280},56,[182,2282,629],{"class":225},[182,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314],{"class":184,"line":2285},57,[182,2287,732],{"class":192},[182,2289,302],{"class":249},[182,2291,692],{"class":691},[182,2293,237],{"class":240},[182,2295,699],{"class":698},[182,2297,222],{"class":192},[182,2299,226],{"class":225},[182,2301,230],{"class":229},[182,2303,233],{"class":225},[182,2305,710],{"class":236},[182,2307,275],{"class":240},[182,2309,710],{"class":236},[182,2311,246],{"class":225},[182,2313,719],{"class":698},[182,2315,1703],{"class":240},[182,2317,2319],{"class":184,"line":2318},58,[182,2320,216],{"emptyLinePlaceholder":215},[182,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366],{"class":184,"line":2323},59,[182,2325,772],{"class":192},[182,2327,302],{"class":249},[182,2329,777],{"class":192},[182,2331,226],{"class":225},[182,2333,783],{"class":782},[182,2335,786],{"class":225},[182,2337,790],{"class":789},[182,2339,302],{"class":249},[182,2341,790],{"class":782},[182,2343,442],{"class":225},[182,2345,799],{"class":789},[182,2347,302],{"class":249},[182,2349,804],{"class":782},[182,2351,442],{"class":225},[182,2353,809],{"class":789},[182,2355,302],{"class":249},[182,2357,814],{"class":782},[182,2359,226],{"class":225},[182,2361,819],{"class":782},[182,2363,786],{"class":225},[182,2365,824],{"class":782},[182,2367,827],{"class":225},[182,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387,2389,2391,2393],{"class":184,"line":2370},60,[182,2372,834],{"class":833},[182,2374,786],{"class":225},[182,2376,839],{"class":691},[182,2378,842],{"class":240},[182,2380,699],{"class":698},[182,2382,847],{"class":782},[182,2384,226],{"class":225},[182,2386,814],{"class":782},[182,2388,854],{"class":225},[182,2390,719],{"class":698},[182,2392,237],{"class":240},[182,2394,861],{"class":225},[54,2396],{},[165,2398,2400],{"id":2399},"_2-upload-skill-files-via-dashboard","2. Upload Skill Files via Dashboard",[16,2402,2403,2404,2411,2412,2415,2416,2419],{},"Go to ",[2405,2406,2410],"a",{"href":2407,"rel":2408},"https:\u002F\u002Fmemos-dashboard.openmem.net\u002FknowledgeBase\u002F",[2409],"nofollow","Dashboard - Knowledge Base",", select the target knowledge base, click \"Upload Document\", and drag in your ",[113,2413,2414],{},".md"," or ",[113,2417,2418],{},".zip"," file. Select \"Skill file\" as the upload type.",[16,2421,2422],{},[99,2423],{"alt":2424,"src":2425},"image","https:\u002F\u002Fcdn.memtensor.com.cn\u002Fimg\u002F1778148193764_flblvp_compressed.png",[54,2427],{},[165,2429,2431],{"id":2430},"_3-retrieve-skills","3. Retrieve Skills",[16,2433,2434,2435,2438,2439,2441],{},"After upload succeeds, pass ",[113,2436,2437],{},"knowledgebase_ids"," and enable ",[113,2440,950],{}," during retrieval. MemOS will return skills relevant to the query. As shown below, the Agent can follow the \"Customer Return Processing\" flow to guide the user through the return.",[173,2443,2445],{"className":175,"code":2444,"language":177,"meta":178,"style":178},"data = {\n    \"query\": \"The user wants to return headphones bought three days ago\",\n    \"user_id\": \"memos_user_123\",\n    \"conversation_id\": \"session_001\",\n    \"knowledgebase_ids\": [\"kb_xxx\"],\n    \"include_skill\": True\n}\n\nres = requests.post(\n    url=f\"{os.environ['MEMOS_BASE_URL']}\u002Fsearch\u002Fmemory\",\n    headers=headers,\n    data=json.dumps(data)\n)\nprint(f\"result: {res.json()}\")\n",[113,2446,2447,2455,2474,2493,2512,2534,2546,2550,2554,2568,2602,2612,2630,2634],{"__ignoreMap":178},[182,2448,2449,2451,2453],{"class":184,"line":185},[182,2450,299],{"class":192},[182,2452,302],{"class":249},[182,2454,305],{"class":225},[182,2456,2457,2459,2461,2463,2465,2467,2470,2472],{"class":184,"line":196},[182,2458,311],{"class":236},[182,2460,893],{"class":240},[182,2462,237],{"class":236},[182,2464,319],{"class":225},[182,2466,253],{"class":236},[182,2468,2469],{"class":240},"The user wants to return headphones bought three days ago",[182,2471,237],{"class":236},[182,2473,329],{"class":225},[182,2475,2476,2478,2480,2482,2484,2486,2489,2491],{"class":184,"line":204},[182,2477,311],{"class":236},[182,2479,314],{"class":240},[182,2481,237],{"class":236},[182,2483,319],{"class":225},[182,2485,253],{"class":236},[182,2487,2488],{"class":240},"memos_user_123",[182,2490,237],{"class":236},[182,2492,329],{"class":225},[182,2494,2495,2497,2499,2501,2503,2505,2508,2510],{"class":184,"line":212},[182,2496,311],{"class":236},[182,2498,337],{"class":240},[182,2500,237],{"class":236},[182,2502,319],{"class":225},[182,2504,253],{"class":236},[182,2506,2507],{"class":240},"session_001",[182,2509,237],{"class":236},[182,2511,329],{"class":225},[182,2513,2514,2516,2518,2520,2522,2525,2527,2529,2531],{"class":184,"line":219},[182,2515,311],{"class":236},[182,2517,2437],{"class":240},[182,2519,237],{"class":236},[182,2521,319],{"class":225},[182,2523,2524],{"class":225}," [",[182,2526,237],{"class":236},[182,2528,1588],{"class":240},[182,2530,237],{"class":236},[182,2532,2533],{"class":225},"],\n",[182,2535,2536,2538,2540,2542,2544],{"class":184,"line":262},[182,2537,311],{"class":236},[182,2539,950],{"class":240},[182,2541,237],{"class":236},[182,2543,319],{"class":225},[182,2545,958],{"class":957},[182,2547,2548],{"class":184,"line":291},[182,2549,629],{"class":225},[182,2551,2552],{"class":184,"line":296},[182,2553,216],{"emptyLinePlaceholder":215},[182,2555,2556,2558,2560,2562,2564,2566],{"class":184,"line":308},[182,2557,772],{"class":192},[182,2559,302],{"class":249},[182,2561,777],{"class":192},[182,2563,226],{"class":225},[182,2565,783],{"class":782},[182,2567,981],{"class":225},[182,2569,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600],{"class":184,"line":332},[182,2571,986],{"class":789},[182,2573,302],{"class":249},[182,2575,839],{"class":691},[182,2577,237],{"class":240},[182,2579,699],{"class":698},[182,2581,222],{"class":782},[182,2583,226],{"class":225},[182,2585,230],{"class":229},[182,2587,233],{"class":225},[182,2589,710],{"class":236},[182,2591,275],{"class":240},[182,2593,710],{"class":236},[182,2595,246],{"class":225},[182,2597,719],{"class":698},[182,2599,1015],{"class":240},[182,2601,329],{"class":225},[182,2603,2604,2606,2608,2610],{"class":184,"line":353},[182,2605,1022],{"class":789},[182,2607,302],{"class":249},[182,2609,804],{"class":782},[182,2611,329],{"class":225},[182,2613,2614,2616,2618,2620,2622,2624,2626,2628],{"class":184,"line":368},[182,2615,1033],{"class":789},[182,2617,302],{"class":249},[182,2619,814],{"class":782},[182,2621,226],{"class":225},[182,2623,819],{"class":782},[182,2625,786],{"class":225},[182,2627,824],{"class":782},[182,2629,861],{"class":225},[182,2631,2632],{"class":184,"line":374},[182,2633,861],{"class":225},[182,2635,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658],{"class":184,"line":396},[182,2637,834],{"class":833},[182,2639,786],{"class":225},[182,2641,839],{"class":691},[182,2643,842],{"class":240},[182,2645,699],{"class":698},[182,2647,847],{"class":782},[182,2649,226],{"class":225},[182,2651,814],{"class":782},[182,2653,854],{"class":225},[182,2655,719],{"class":698},[182,2657,237],{"class":240},[182,2659,861],{"class":225},[54,2661],{},[61,2663,2665],{"id":2664},"skill-file-specification","Skill File Specification",[165,2667,2669,2670,2672],{"id":2668},"_1-md-single-file","1. ",[113,2671,2414],{}," Single File",[24,2674,2675,2691],{},[27,2676,2677,2678],{},"The constraints are as follows:",[24,2679,2680,2683],{},[27,2681,2682],{},"Size limit: ≤ 100KB",[27,2684,2685,2686,2688,2689],{},"File content: must include ",[113,2687,1104],{}," and ",[113,2690,1114],{},[27,2692,2693],{},"Recommended body structure:",[173,2695,2700],{"className":2696,"code":2698,"language":2699,"meta":178},[2697],"language-text","---\nname: (Skill name)\ndescription: (One-sentence description of purpose and scenario)\n---\n\n## Procedure\n1. Step one\n2. Step two\n3. Step three\n\n## Experience\n- Experience or note one\n- Experience or note two\n\n## User Preferences\n- Preference setting one\n- Preference setting two\n\n## Examples\n\n### Example 1: (Scenario description)\n(Complete input\u002Foutput example)\n\n## Additional Information\n(Additional notes, such as reference links or special rules)\n","text",[113,2701,2698],{"__ignoreMap":178},[54,2703],{},[165,2705,2707,2708,2710],{"id":2706},"_2-zip-skill-package","2. ",[113,2709,2418],{}," Skill Package",[24,2712,2713],{},[27,2714,2677],{},[2716,2717,2718,2731],"table",{},[2719,2720,2721],"thead",{},[2722,2723,2724,2728],"tr",{},[2725,2726,2727],"th",{},"Constraint",[2725,2729,2730],{},"Requirement",[2732,2733,2734,2743,2751,2759,2767],"tbody",{},[2722,2735,2736,2740],{},[2737,2738,2739],"td",{},"Format",[2737,2741,2742],{},"Standard ZIP, no rar\u002F7z",[2722,2744,2745,2748],{},[2737,2746,2747],{},"Zip size",[2737,2749,2750],{},"≤ 20MB",[2722,2752,2753,2756],{},[2737,2754,2755],{},"File count after extraction",[2737,2757,2758],{},"≤ 200",[2722,2760,2761,2764],{},[2737,2762,2763],{},"Single file after extraction",[2737,2765,2766],{},"≤ 10MB",[2722,2768,2769,2772],{},[2737,2770,2771],{},"SKILL.md",[2737,2773,2774,2775,2777,2778,2780],{},"≤ 100KB, ",[113,2776,1104],{},"\u002F",[113,2779,1114],{}," required; must be at the first level of the archive",[24,2782,2783],{},[27,2784,2785],{},"Recommended structure:",[173,2787,2790],{"className":2788,"code":2789,"language":2699,"meta":178},[2697],"refund-sop-v1.zip\n├── SKILL.md\n├── references\u002F\n│   └── return_policy_summary.md\n├── scripts\u002F\n│   └── check_order.py\n└── assets\u002F\n    └── flowchart.png\n",[113,2791,2789],{"__ignoreMap":178},[51,2793],{},[54,2795],{},[11,2797,2799],{"id":2798},"how-to-use-retrieved-skills","How to Use Retrieved Skills",[61,2801,2803],{"id":2802},"returned-skill-details","Returned Skill Details",[16,2805,2806,2807,2810],{},"Regardless of whether the skill is auto-generated or uploaded to a knowledge base, each skill in ",[113,2808,2809],{},"skill_detail_list"," contains two fields:",[2716,2812,2813,2823],{},[2719,2814,2815],{},[2722,2816,2817,2820],{},[2725,2818,2819],{},"Field",[2725,2821,2822],{},"Description",[2732,2824,2825,2835],{},[2722,2826,2827,2832],{},[2737,2828,2829],{},[113,2830,2831],{},"skill_value",[2737,2833,2834],{},"Structured skill content; can be converted to a string and injected into the Agent's prompt",[2722,2836,2837,2842],{},[2737,2838,2839],{},[113,2840,2841],{},"skill_url",[2737,2843,2844],{},"Download link for the skill file; for ZIP packages, the Agent can download scripts, references, and other attachments",[54,2846],{},[61,2848,2850],{"id":2849},"usage-reference","Usage Reference",[16,2852,2853],{},"Choose the usage method based on whether your Agent can use Skill files.",[54,2855],{},[165,2857,2859],{"id":2858},"_1-the-agent-supports-skill-files","1. The Agent Supports Skill Files",[16,2861,2862,2863,2865],{},"Provide ",[113,2864,2841],{}," to the Agent so it can download the file. You can write it into the prompt:",[173,2867,2869],{"className":175,"code":2868,"language":177,"meta":178,"style":178},"skill_detail = result[\"skill_detail_list\"][0]\nskill_url = skill_detail.get(\"skill_url\")\n\nsystem_prompt = f\"\"\"You are a customer service assistant. Use the following Skill file when handling the task:\n\n{skill_url}\n\"\"\"\n",[113,2870,2871,2899,2924,2928,2940,2944,2952],{"__ignoreMap":178},[182,2872,2873,2876,2878,2881,2883,2885,2887,2889,2892,2896],{"class":184,"line":185},[182,2874,2875],{"class":192},"skill_detail ",[182,2877,302],{"class":249},[182,2879,2880],{"class":192}," result",[182,2882,233],{"class":225},[182,2884,237],{"class":236},[182,2886,2809],{"class":240},[182,2888,237],{"class":236},[182,2890,2891],{"class":225},"][",[182,2893,2895],{"class":2894},"sJNII","0",[182,2897,2898],{"class":225},"]\n",[182,2900,2901,2904,2906,2909,2911,2914,2916,2918,2920,2922],{"class":184,"line":196},[182,2902,2903],{"class":192},"skill_url ",[182,2905,302],{"class":249},[182,2907,2908],{"class":192}," skill_detail",[182,2910,226],{"class":225},[182,2912,2913],{"class":782},"get",[182,2915,786],{"class":225},[182,2917,237],{"class":236},[182,2919,2841],{"class":240},[182,2921,237],{"class":236},[182,2923,861],{"class":225},[182,2925,2926],{"class":184,"line":204},[182,2927,216],{"emptyLinePlaceholder":215},[182,2929,2930,2933,2935,2937],{"class":184,"line":212},[182,2931,2932],{"class":192},"system_prompt ",[182,2934,302],{"class":249},[182,2936,692],{"class":691},[182,2938,2939],{"class":240},"\"\"\"You are a customer service assistant. Use the following Skill file when handling the task:\n",[182,2941,2942],{"class":184,"line":219},[182,2943,216],{"emptyLinePlaceholder":215},[182,2945,2946,2948,2950],{"class":184,"line":262},[182,2947,699],{"class":698},[182,2949,2841],{"class":192},[182,2951,629],{"class":698},[182,2953,2954],{"class":184,"line":291},[182,2955,2019],{"class":240},[54,2957],{},[165,2959,2961],{"id":2960},"_2-the-agent-does-not-support-skill-files","2. The Agent Does Not Support Skill Files",[16,2963,2964,2965,2967],{},"Convert ",[113,2966,2831],{}," to a string and add it to the prompt:",[173,2969,2971],{"className":175,"code":2970,"language":177,"meta":178,"style":178},"skill_detail = result[\"skill_detail_list\"][0]\nskill = str(skill_detail[\"skill_value\"])\n\nsystem_prompt = f\"\"\"You are a customer service assistant. Refer to this skill when handling the task:\n\n{skill}\n\"\"\"\n",[113,2972,2973,2995,3022,3026,3037,3041,3049],{"__ignoreMap":178},[182,2974,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993],{"class":184,"line":185},[182,2976,2875],{"class":192},[182,2978,302],{"class":249},[182,2980,2880],{"class":192},[182,2982,233],{"class":225},[182,2984,237],{"class":236},[182,2986,2809],{"class":240},[182,2988,237],{"class":236},[182,2990,2891],{"class":225},[182,2992,2895],{"class":2894},[182,2994,2898],{"class":225},[182,2996,2997,3000,3002,3006,3008,3011,3013,3015,3017,3019],{"class":184,"line":196},[182,2998,2999],{"class":192},"skill ",[182,3001,302],{"class":249},[182,3003,3005],{"class":3004},"skqQ-"," str",[182,3007,786],{"class":225},[182,3009,3010],{"class":782},"skill_detail",[182,3012,233],{"class":225},[182,3014,237],{"class":236},[182,3016,2831],{"class":240},[182,3018,237],{"class":236},[182,3020,3021],{"class":225},"])\n",[182,3023,3024],{"class":184,"line":204},[182,3025,216],{"emptyLinePlaceholder":215},[182,3027,3028,3030,3032,3034],{"class":184,"line":212},[182,3029,2932],{"class":192},[182,3031,302],{"class":249},[182,3033,692],{"class":691},[182,3035,3036],{"class":240},"\"\"\"You are a customer service assistant. Refer to this skill when handling the task:\n",[182,3038,3039],{"class":184,"line":219},[182,3040,216],{"emptyLinePlaceholder":215},[182,3042,3043,3045,3047],{"class":184,"line":262},[182,3044,699],{"class":698},[182,3046,1629],{"class":192},[182,3048,629],{"class":698},[182,3050,3051],{"class":184,"line":291},[182,3052,2019],{"class":240},[3054,3055,3056],"tip",{},[16,3057,3058],{},"During retrieval, MemOS searches both auto-generated personal skills and uploaded knowledge base skills, returning them in a unified ranked list. You do not need to distinguish the source.",[51,3060],{},[16,3062,3063],{},[20,3064,3065],{},"Start exploring MemOS Skills now!",[24,3067,3068,3077,3085],{},[27,3069,3070,3071,3076],{},"Go to the ",[2405,3072,3075],{"href":3073,"rel":3074},"https:\u002F\u002Fmemos-dashboard.openmem.net\u002Fskill\u002F",[2409],"Dashboard - Skills page"," to view auto-generated skills.",[27,3078,3079,3080,3084],{},"Don't have any skills yet? ",[2405,3081,3083],{"href":3082},"\u002Fmemos_cloud\u002Fmem_operations\u002Fadd_message","Add messages"," to trigger generation.",[27,3086,3087,3088,3091],{},"Want to upload custom skills? Go to ",[2405,3089,2410],{"href":2407,"rel":3090},[2409]," to upload.",[3093,3094,3095],"style",{},"html pre.shiki code .sBMTB, html code.shiki .sBMTB{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#A0111F;--shiki-default-font-style:inherit;--shiki-dark:#FF7B72;--shiki-dark-font-style:inherit}html pre.shiki code .s5ojA, html code.shiki .s5ojA{--shiki-light:#90A4AE;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .suWxN, html code.shiki .suWxN{--shiki-light:#39ADB5;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .s5qkx, html code.shiki .s5qkx{--shiki-light:#E53935;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .sjUum, html code.shiki .sjUum{--shiki-light:#39ADB5;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .sp1uZ, html code.shiki .sp1uZ{--shiki-light:#91B859;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .saN0X, html code.shiki .saN0X{--shiki-light:#39ADB5;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .sZ6T4, html code.shiki .sZ6T4{--shiki-light:#9C3EDA;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .scyET, html code.shiki .scyET{--shiki-light:#F76D47;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .sa-2m, html code.shiki .sa-2m{--shiki-light:#6182B8;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .sp4zP, html code.shiki .sp4zP{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#702C00;--shiki-default-font-style:inherit;--shiki-dark:#FFA657;--shiki-dark-font-style:inherit}html pre.shiki code .svxCd, html code.shiki .svxCd{--shiki-light:#6182B8;--shiki-default:#023B95;--shiki-dark:#79C0FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .smHB8, html code.shiki .smHB8{--shiki-light:#39ADB5;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .sw4Oa, html code.shiki .sw4Oa{--shiki-light:#E53935;--shiki-default:#024C1A;--shiki-dark:#7EE787}html pre.shiki code .sJcg5, html code.shiki .sJcg5{--shiki-light:#39ADB5;--shiki-light-font-weight:inherit;--shiki-default:#023B95;--shiki-default-font-weight:bold;--shiki-dark:#79C0FF;--shiki-dark-font-weight:bold}html pre.shiki code .sGXFf, html code.shiki .sGXFf{--shiki-light:#E2931D;--shiki-light-font-weight:inherit;--shiki-default:#023B95;--shiki-default-font-weight:bold;--shiki-dark:#79C0FF;--shiki-dark-font-weight:bold}html pre.shiki code .sQBKe, html code.shiki .sQBKe{--shiki-light:#39ADB5;--shiki-default:#702C00;--shiki-dark:#FFA657}html pre.shiki code .sfVK4, html code.shiki .sfVK4{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#66707B;--shiki-default-font-style:inherit;--shiki-dark:#8B949E;--shiki-dark-font-style:inherit}html pre.shiki code .sJNII, html code.shiki .sJNII{--shiki-light:#F76D47;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .skqQ-, html code.shiki .skqQ-{--shiki-light:#E2931D;--shiki-default:#023B95;--shiki-dark:#79C0FF}",{"title":178,"searchDepth":196,"depth":196,"links":3097},[3098,3099,3103,3107,3111],{"id":13,"depth":196,"text":14},{"id":58,"depth":196,"text":59,"children":3100},[3101,3102],{"id":63,"depth":204,"text":64},{"id":79,"depth":204,"text":80},{"id":90,"depth":196,"text":91,"children":3104},[3105,3106],{"id":94,"depth":204,"text":95},{"id":157,"depth":204,"text":158},{"id":1390,"depth":196,"text":1391,"children":3108},[3109,3110],{"id":1394,"depth":204,"text":1395},{"id":2664,"depth":204,"text":2665},{"id":2798,"depth":196,"text":2799,"children":3112},[3113,3114],{"id":2802,"depth":204,"text":2803},{"id":2849,"depth":204,"text":2850},"Retrieve reusable relevant skills for Agents, supporting both auto-generation from conversations and custom uploads.","md",{},"\u002Fen\u002Fmemos_cloud\u002Ffeatures\u002Fskill",{"title":5,"description":178},"en\u002Fmemos_cloud\u002Ffeatures\u002Fskill","Z9WsT8Srob8UUWrjdWFy4HCyukIGnO-YRugh380hujo",[3123,3131],{"title":3124,"path":3125,"stem":3126,"icon":3127,"framework":6,"module":6,"class":3128,"target":-1,"active":3129,"defaultOpen":3129,"children":-1,"description":3130},"Custom Tags","\u002Fmemos_cloud\u002Ffeatures\u002Fcustom_tags","memos_cloud\u002Ffeatures\u002Fcustom_tags","i-ri-price-tag-3-line",[],false,"Use tags according to your business needs when adding messages.",{"title":3132,"path":3133,"stem":3134,"icon":3135,"framework":6,"module":6,"class":3136,"target":-1,"active":3129,"defaultOpen":3129,"children":-1,"description":3137},"Knowledge Base","\u002Fmemos_cloud\u002Ffeatures\u002Fknowledge_base","memos_cloud\u002Ffeatures\u002Fknowledge_base","i-ri-book-read-line",[],"Create a knowledge base associated with the project, and combine user memory with knowledge base to supplement knowledge when retrieving memories.",1779709040825]