명나라 시대에 전해져 내려오는 유명한 예언서 『소병가』는 명태조 시기의 국사 유기(유백온이라고도 함)가 지었다. 유기는 수리(數理)에 정통했으며, 민간에서는 신선이 하계에 강림하여 태조를 보좌해 위업을 달성했다고 전해진다. 민간 이야기와 문학 작품 속에서 그는 늘 신기묘산(神機妙算)을 부리고, 미래를 예지(豫知)하며, 고금을 통찰할 뿐 아니라 바람과 비를 불러오고 신통이 매우 광대하여 "앞으론 오백 년, 뒤으론 오백 년을 안다"고 하여 신선과 같은 인물로 묘사된다.
유기의 아버지는 유약(劉爚)이라 했으며, 전설에 따르면 그의 부모는 마음이 매우 착했다고 한다. 어느 날, 백학선사(白鶴仙師)가 머리에 종기가 난 거지로 변하여 집에 구걸하러 왔는데, 그들은 그를 천대하지 않고 밥을 주었을 뿐 아니라 산에 올라 약초를 채집하여 종기와 고름을 치료해 주었다. 백학선사는 그들의 착한 마음에 감동하여, 집 뒤의 오봉산(五峰山) 기슭에 선조의 유해를 묻으면 장래에 장수와 재상이 나올 것이라 일러주었다. 선인의 도움으로 유약은 선조의 유해를 산기슭에 묻었다. 그로부터 3년 후, 유약의 아내가 유기를 낳았다.
태어난 직후의 유기는 소리를 내지 않아 마치 벙어리 같았다. 유약 부부가 걱정하고 있던 그때, 백학선사가 다시 나타났다. 그는 유약에게 "이 아이는 눈썹이 맑고 눈이 밝으며, 천창(天倉)이 충만하고 지고(地庫)가 넓고 둥글며, 장차 왕후장상이 될 자격이 있다"고 말한 후, 아이의 목구멍을 더듬고 가슴을 두드리자 유기는 바로 소리를 내며 입을 열었다. 백학선사는 곧 상서로운 구름을 타고 날아가 버렸다.
어릴 적의 유기는 매우 총명하여, 책을 한 번 읽으면 잊지 않는 뛰어난 기억력을 지녔고, 책을 몇 번 읽으면 곧장 외워버려서, 선생님들의 칭찬을 받았다.
유기는 22세에 과거에 급제하였으나, 성품이 강직하고 청렴결백하여 공을 위해 헌신하였다. 이후 감찰어사의 직무유기를 폭로했다가 배척을 받아 은거하였다. 은거 기간 동안 은사와 선도(仙道)를 찾아다녔으며, 전설에 따르면 선인 황석공(黃石公)을 만나기도 하였다. 결국 유기는 미래를 예지하고 고금을 통찰하는 능력을 갖추게 되었다.
유기가 선인 황석공을 만났다는 전설은 다음과 같다. 유기가 백원동(白猿洞)에서 글자 없는 천서(天書)를 얻은 후 어느 날 아침, 유기는 책 한 권을 들고 산의 석문동(石門洞) 폭포 왼쪽 수십 장 떨어진 절벽 아래에서 독서하고 있었다. 갑자기 큰 소리가 나더니 절벽이 천천히 갈라졌다. 유기가 계속 걸어가자 석실(石室)에 도착했는데, 그 안의 뒷벽은 옥처럼 하얗고, 벽에는 두 신선이 마주 서서 네 손으로 한 덩어리의 금패(金牌)를 함께 들고 있었으며, 금패에는 "묘금도(卯金刀), 돌을 들고 두드려라(持石敲)"라고 쓰여 있었다. 유기는 천부적인 재능으로 곧바로 깨달았다. 즉시 커다란 돌을 집어 벽을 두드리기 시작했다. 오랫동안 두드리자 벽이 스스로 열리며 석함(石匣)이 드러났고, 그 안에는 병서(兵書) 네 권이 들어 있었다.
유기는 매우 기뻐하며 병서 네 권을 들고 돌아서서 나갔다. 밖으로 나온 후에는 절벽이 원래처럼 다시 닫혔다.
유기가 거처로 돌아와 병서 네 권을 꺼내 왼쪽 오른쪽으로 살펴보았으나 그 속의 비밀을 알아낼 수 없었다. 이윽고 찬 달이 하늘에 떠오를 무렵, 유기는 글자 없는 천서를 펼쳤는데, 책 안에서 "사람 밖에 사람이 있다(人外有人)"는 네 글자가 비쳤다. 유기는 이것이 자신이 고인(高人)을 찾아야 한다는 뜻임을 깨달았다.于是 유기는 명산과 옛 절을 두루 찾아다녔고, 마침내 어느 날 구름 끝까지 솟은 산봉우리 꼭대기에서 선풍도골(仙風道骨)의 도사장을 만났다. 도사는 유기에게 두 치 두께의 책을 주며 말했다. "내일 이 책을 외울 수 있다면, 내가 너를 가르쳐 주겠다."
영리한 유기는 밤이 되기 전에 두 치 두께의 책을 외워버렸다. 도사는 감탄하며 "정말 천재구나!"라고 말한 후, 즉석에서 석실을 열어 유기를 안으로 들였다. 유기는 방 안에 온갖 종류의 책들이 가득한 것을 보고 매우 흥분했다.于是 도사는 석실의 책과 유기가 가져온 천서 네 권을 함께 설명해주었다. 도사의 정성스러운 교육을 거쳐 유기는 마침내 병서 네 권과 석실의 책이 담고 있는 요지를 이해하게 되었다. 산을 내려가기 전, 도사는 유기에게 자신이 바로 한나라 장량에게 병서를 전수한 구강(九江)의 황석공이라고 밝혔다.
원나라 말기, 호웅들이 속출하였다. 주원장이 난을 일으킨 후, 유기는 천의(天意)를 받들어 은거를 끝내고 그를 보좌하였으며, 결국 주원장을 도와 제왕의 위업을 완성하였다.
유기는 예지하는 능력이 뛰어났다. 전해지기에 따르면, 주원장이 오왕(吳王)이었을 때, 강남 지방에 가뭄이 들었다. 당시 유기는 천문을 관장하고 있었고, 주원장은 그에게 왜 가뭄이 들었는지, 어떻게 해야 하늘이 비를 내려줄지 물었다. 유기는 "하늘이 계속 비를 내리지 않는 것은 옥중에 억울한 원한을 가진 죄수가 있기 때문입니다"라고 답했다. 주원장은 유기의 말을 듣고, 그를 시켜 옥중의 죄수들을 조사하게 하였다. 유기가 조사해보니 실제로 많은 억울한 옥사(獄事)가 있었다. 그는 주원장에게 이를 보고하고, 억울한 사건을 바로잡으며 잘못 잡힌 사람들을 풀어주었다. 며칠 지나지 않아 과연 먹구름이 하늘을 뒤덮었고, 그 후 축축이 젖을 정도로 비가 내렸다.
또 한 번은 명태조가 내전에 머물며 소병(燒餅)을 먹고 있었다. 한 입을 막 먹었는데, 내관이 갑자기 국사 유기가 뵙자고 한다고 알렸다. 태조는 즉시 사발로 소병을 덮은 후 유기를 내전으로 불러들였다. 예를 마친 후, 태조가 물었다. "선생은 수리에 정통하니, 사발 안에 무엇이 있는지 아시겠는가?" 유기는 손가락을 꼬집어 계산한 후 대답했다. "반은 해 같고 반은 달 같으며, 금룡(金龍)에게 한 입 베어 먹힌 모양, 이것은 음식입니다." 사발을 열어보니 과연 그의 말과 같았다.
홍무 4년(1371년), 유기는 노고를 인정받아 고향에 돌아가게 되었다(태조의 하사). 유기는 악을 미워하여 일부 간사한 자들을 적으로 만들었는데, 후유용(胡惟庸)은 명나라 초의 제일 큰 간신이었다. 유기와 대장 서달(徐達) 등은 모두 태조에게 그를 등용하지 말 것을 간언한 바 있다. 후유용은 이에 원한을 품고 나중에 사람을 시켜 유기가 왕기를 품은 묘자리를 골라 후세의 영광을 노리고 있다고 소문을 퍼뜨렸다. 주원장은 비록 부지런한 군주였으나, 그 마음의 넓이가 당태종에 미치지 못했다.于是 명태조는 유기의 봉록을 박탈하였다. 유기는 모함을 당한 후 어쩔 수 없이 수도로 가서 죄를 빌었고, 태조는 크게 책망하지 않고 나중에 사람을 보내 유기를 고향으로 호송하였다. 당시 유기는 병이 들어 있었는데, 후유용이 사람을 시켜 유기의 약에 독을 넣었다는 전설이 있다. 고향으로 돌아온 후, 유기는 아들에게 말했다. "지금 당장 조정은 덕정(德政)을 세우고 형벌을 줄여야 하오만, 아쉽게도 후유용이 권세를 잡고 있으니 이런 말을 해도 소용없소. 장차 후유용이 멸망한 후에는 태조께서 나를 떠올리실 것이니, 너는 내 뜻을 황상께 아뢰어라." 유기는 또 말했다. "내 예언이 틀리다면, 그것이야말로 천하 백성의 복이리라." 한 달 후 유기는 세상을 떠났고, 향년 65세였다. 이후 후유용은 재상이 되어 많은 나쁜 짓을 하였다. 수년 후 그의 반역 모의가 드러나 처형되기까지 하였다. 이 사실은 유기의 예언이 다시 한번 정확함을 입증하였다.