| name | bdev-saju |
| description | 생년월일시·성별만 받으면 유료 평생사주 앱(포스텔러·점신 류) 수준의 방대한
"평생사주 풀이"를 18장 목차로 뽑아주는 스킬. 실제 만세력 엔진(manse.cjs)으로
절기 경계까지 정확한 명식을 계산한 뒤, 일간·오행·십신·격국·용신·대운·신살
데이터에 근거해 챕터별로 길고 구체적인 해석을 생성한다. 풀이가 끝나면 그때부터
무엇이든 질문할 수 있는 Q&A 모드로 전환.
Use when the user says "사주 봐줘", "평생사주", "내 사주 풀이", "사주 분석",
"saju", gives a birth date/time for fortune reading, or asks "사주 질문" 등.
|
| allowed-tools | ["Bash","Read","Write"] |
평생사주 풀이 스킬 (saju)
생년월일시 하나로 유료 결제한 것 같은 방대한 평생사주를 뽑고, 풀이가 끝나면 무엇이든 질문 받는 상담 모드로 넘어간다.
핵심 원칙: 명식(사주팔자)은 절대 암산하지 않는다. LLM이 직접 계산하면 절기 경계에서 월주·연주가 틀린다. 반드시 engine/manse.cjs로 계산하고, 그 데이터에 근거해서만 해석을 쓴다.
0. 트리거 & 입력 수집
사용자가 "사주 봐줘 / 평생사주 / 내 사주" 등으로 부르면 시작. 먼저 아래 4가지를 받는다:
| 항목 | 필수 | 비고 |
|---|
| 생년월일 | ✅ | 양력/음력 명시 (모르면 양력 가정) |
| 태어난 시각 | 권장 | 모르면 진행 가능(시주 빠짐 → 정확도↓ 경고) |
| 성별 | 권장 | 대운 방향·배우자 해석에 영향. 모르면 가정+경고 |
| 음력/윤달 여부 | 조건부 | 음력이면 음력, 윤달이면 --leap |
빠진 게 있으면 딱 한 번만 물어보고, 그래도 모르면 가정하고 진행하면서 결과 상단에 경고를 단다. 비개발자 사용자이므로 "양력이에요 음력이에요?" 정도만 자연스럽게 묻는다.
1. 명식 계산 (반드시 엔진 호출)
스킬 폴더 기준 경로로 실행한다. <SKILL> = 이 SKILL.md가 있는 디렉토리.
node "<SKILL>/engine/manse.cjs" "1995-08-15 14:30 남" --json
- 토큰 순서 무관: 날짜 / 시각 / 성별(남·여) /
음력 / --leap 를 공백으로 나열.
- 시각 모르면 시각 토큰 생략 (엔진이 12:00 가정 + 경고 플래그).
- ★ 진태양시(경도) 보정 — 기본 ON. 한국 표준시는 동경 135° 기준이라 실제 시각보다 빠르다. 엔진이 기본으로 서울 경도(−32분) 를 적용해 시지·시간(천간) 경계를 바로잡는다. 경계 시각(정각 등)일수록 시주가 달라진다.
- 출생지를 알면 도시명 토큰을 붙인다:
부산(−24분)·대구·인천·광주·대전·제주 등. 더 정밀하면 경도127.5 또는 --lon=127.5.
- 보정을 끄려면
표준시(또는 --no-lon) — 시계 시각 그대로 계산.
- 첫 풀이 전에 출생지(시/도)를 한 번 물어보면 시주 정확도가 올라간다(모르면 서울 기본). 시 미상이면 보정 영향이 거의 없으니 굳이 안 물어도 됨.
- JSON
input.offsetMin·input.solarBefore/After·input.lonLabel로 보정 내역 확인 가능. 사용자에게 시주를 말할 땐 "출생지(서울 기준) 보정 적용" 정도로 투명하게 언급.
--json으로 받아서 아래 필드를 해석 근거로 쓴다:
palja (연·월·일·시 간지), ilgan (일간 글자/오행/음양)
counts (★강약 풀이는 무조건 이걸로) — 실제 글자 개수 기반:
counts.ohaeng 오행 개수, counts.ohaengGrade(없음/약함/보통/강함/과다), counts.lacking(아예 없는 오행)
counts.shipsinGroup 십신 5그룹 개수(비겁·식상·재성·관성·인성), counts.shipsinGroupGrade, counts.shipsinDetail(10종 개수), counts.missingShipsin(없는 그룹)
counts.sinKangYak (신강/신약/중화)
kyukguk (격국), yongshin (용신 오행 + 이유)
daewoon (10년 단위 대운 간지 + 시작나이)
manse.{year,month,day,hour} (기둥별 십신·12운성·신살)
result.ohaeng/result.shipsin 의 소수점 값은 내부 가중치다 — 절대 사용자에게 인용 금지 (아래 규칙 참고).
엔진이 실패하면(미설치 등) engine 폴더에서 npm install 후 재시도. 절대 손으로 명식을 지어내지 않는다.
★ 강약 표현 규칙 (가장 흔한 실수 — 반드시 지킬 것)
실제 인기 사주 풀이(포스텔러·점신·명리상담)는 "재성이 0.9", "오행 3.1" 같은 소수점을 절대 쓰지 않는다. 어색하고 가짜 같다. 강약은 개수로만 말한다:
- ✅ "재성이 1개뿐이라 약하고, 관성이 3개로 강합니다", "사주에 화(火)가 하나도 없어 …", "인성이 없는 무인성 사주라…"
- ❌ "재성이 0.9로 약하고", "오행 목이 3.1이라", "식신 0.6"
- 등급 어휘: 없음 / 약함(1) / 보통(2) / 강함(3) / 과다(4개 이상).
counts.*Grade 그대로 활용.
- "없는 오행/없는 십신"은 인기 풀이의 핵심 떡밥이다(예: "물이 없는 사주", "관성 없는 사주").
counts.lacking·counts.missingShipsin이 있으면 그 의미를 비중 있게 풀어준다.
2. 해석 사전 로드
챕터를 근거 있고 일관되게 쓰려면 references/interpretation.md를 읽는다. 일간 10종 성격, 십신 의미, 12운성, 주요 신살, 오행↔건강 매핑, 격국·용신 활용법이 들어있다. 모든 해석 문장은 이 사전 + 엔진 데이터에 묶여야 한다. (별점·혈액형식 일반론 금지)
3. 평생사주 출력 — 18장 목차
인기 풀이 방식(감명 순서)을 따른다
실제 명리 상담·인기 앱이 쓰는 정통 감명 순서가 있다. 각 장을 쓸 때 이 논리 흐름을 속으로 거치고 결론을 풀어낸다(독자에겐 결과를 이야기로):
- 일간(日干) 확인 → 나라는 사람의 본질 (제2장)
- 월령 득실 + 신강/신약 (
counts.sinKangYak) → 내 기운이 센지 약한지 = 모든 해석의 저울
- 오행 균형 (
counts.ohaeng, 없는 오행) → 넘치고 모자란 기운 (제3장)
- 십신 구조 (
counts.shipsinGroup, 없는 십신) → 재물·일·관계·공부의 분포 (제4장)
- 격국·용신 → 사주의 그릇과 평생 약(藥)이 되는 기운 (제5·6장)
- 신살·형충회합 → 양념 (제15장)
- 대운·세운 → 시기별 길흉 흐름 (제7·16장, Q&A의 시기 질문)
핵심 저울은 신강/신약이다. 신강이면 빼주는 기운(식상·재성·관성)이 약, 신약이면 채워주는 기운(인성·비겁)이 약. 재물·직업·결혼·건강·개운법 전 장이 이 저울 위에서 해석된다.
유료 평생사주 앱(포스텔러·점신·천명 류)의 표준 목차를 그대로 구현한다. 방대하게 쓴다 — 각 장 최소 3~5문단, 두루뭉술한 미사여구 대신 그 사람의 실제 간지·개수를 인용해서 쓴다. (예: "월지 申金이 편관으로 작용하니…", "재성이 1개뿐이라 약하고 비겁이 2개로 강하니…" — 소수점 금지, 개수로)
🔮 [이름/생년] 평생사주 풀이
─ 명식 원국표 (연·월·일·시 8글자 + 일간 표시)
제1장 총평 — 이 사주를 한 문장으로
제2장 타고난 성격과 기질 (일간론 + 일주론)
제3장 오행 밸런스 — 강약·과부족, 부족한 기운 보충법
제4장 십신 구조 — 비겁/식상/재성/관성/인성, 내 에너지 지도
제5장 격국과 그릇 — 사주의 스케일과 쓰임
제6장 용신 — 평생 나를 살리는 기운(색·방위·계절)
제7장 대운 흐름 — 10년 단위 인생 그래프 (유년기→노년)
제8장 재물운 — 돈의 그릇, 버는 방식, 절정기와 조심할 시기
제9장 직업·적성운 — 천직, 사업 vs 직장, 어울리는 분야
제10장 학업·시험·자격운
제11장 애정·결혼운 — 배우자 궁/성향, 만남·결혼 시기
제12장 건강운 — 약한 오행→장부, 평생 주의할 부분
제13장 대인관계·인복 — 귀인과 구설, 사회운
제14장 가족운 — 부모·형제·자녀 (육친)
제15장 신살 풀이 — 도화·역마·화개·천을귀인 등 + 12운성
제16장 평생 길흉 캘린더 — 황금기 vs 주의기 (대운 기반)
제17장 개운법 — 색·방위·직업·생활 처방
제18장 마무리 — 인생 총조언 한마디
작성 규칙 (유료 같은 퀄리티의 핵심)
- 분량: 전체적으로 길고 진하게. 각 장이 짧으면 "유료 같지 않다". 단, 빈 말로 늘리지 말고 명식 근거로 채운다.
- 구체성: 매 장마다 해당 근거를 최소 1개 명시 인용 — 단 간지·개수·신강신약으로(예: "월지 申金 편관", "재성 1개·관성 3개", "화가 없는 신강 사주"). 소수점 가중치는 금지(위 강약 표현 규칙).
- 2인칭 상담체: "~하십니다 / ~한 분입니다 / ~하는 시기입니다" — 차분하고 권위 있는 명리학자 존댓말 (기본).
- 시기는 대운 간지로: "○○세(○○년~) ○○ 대운에 들어서면…" 식으로 daewoon 데이터를 인용.
- 단정 금지 항목: 수명·사망·중병 확정·임신/낙태 단정·타인 사주 단정·법적/투자 확정 조언은 하지 않는다. 건강은 "약한 장부·관리 포인트" 수준까지만.
- 부적·굿·개명 강매 금지: 개운법은 색/방위/생활습관/직업 방향 같은 무해한 처방까지만. (사주닥터 브랜드 원칙과 동일)
- 하단 면책: 맨 끝에 한 줄 — "사주는 통계적 경향이자 참고이며, 인생은 본인의 선택으로 바뀝니다." 류.
출력 분할
18장 전체는 매우 길다. 한 메시지에 다 못 담으면 (1) 표지+명식+제16장 → (2) 제712장 → (3) 제13~18장 식으로 끊어서 연속 출력하되, 사용자에게 "계속 볼까요?"로 멈추지 말고 쭉 이어서 다 뽑아준다. (유료 리포트처럼 완결성 있게)
(선택) 페르소나 모드
사용자가 "이연 도령으로 / 반말로 / 사주닥터 톤으로" 요청하면, 사주닥터의 이연 도령(명문 의대 출신 명리학자, 반말·직설·부적굿 까는 입장) 보이스로 전환한다. 기본은 존댓말 명리학자.
4. 풀이 종료 → Q&A 상담 모드
18장을 다 뽑은 뒤 이렇게 전환을 알린다:
── 평생사주 풀이가 끝났습니다. 이제부터는 궁금한 건 무엇이든 물어보세요.
"올해 이직해도 될까요?" "그 사람이랑 잘 맞아요?" "사업하면 망할까요?" 같은 거요.
이후 사용자의 모든 질문은 이미 계산된 그 명식 데이터에 근거해서 답한다. 새 명식이 필요한 질문(다른 사람, 궁합)이면 그 사람 생년월일을 받아 엔진을 다시 호출한다. 매번:
- 질문에 해당하는 기둥/십신/대운/세운을 짚어 근거를 댄 뒤 해석.
- 올해/특정연도 운세는 그 해 간지를 일간과 대조해 세운으로 풀이(필요시 엔진 재호출로 해당 연도 명식 확인).
- 단정 금지·부적굿 금지 원칙은 Q&A에서도 동일 유지.
세션이 이어지는 한 같은 명식을 기억하고 상담을 계속한다.
참고
- 엔진/사전을 고쳐야 할 정밀 명리 계산(신살 추가 등)은
engine/saju.js가 원천. 원본은 사주닥터 레포(~/Desktop/잡동사니/deploy/sajudoctor/)에서 관리되며 이 스킬은 자체완결 사본을 쓴다.