بنقرة واحدة
get-fortune-analysis
生成视觉华丽、内容详实、具有仪式感的流年运势报告(流金星象风格)。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
生成视觉华丽、内容详实、具有仪式感的流年运势报告(流金星象风格)。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
把本地 HTML 文件或目录部署到飞书妙搭(Miaoda),生成一个公网可访问的应用及其链接(URL)。当用户要创建 HTML 或要把 HTML、静态网站或 Web demo 发布成公网可访问的链接 / 可分享链接、设置应用共享范围,或提到妙搭 / Miaoda 时使用。凡产出可独立访问的 HTML 产物都属本 skill 的潜在归宿,是否真要部署由 skill 内部协议判断。不用于:上传普通文件到云空间/云盘/云存储(用 lark-drive)、编辑飞书云文档内容(用 lark-doc)、创建飞书原生幻灯片 / 演示文稿(用 lark-slides)。
当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。
飞书日历(calendar):提供日历与日程(会议)的全面管理能力。核心场景包括:查看/搜索日程、创建/更新日程、管理参会人、查询忙闲状态及推荐空闲时段、查询/搜索与预定会议室。注意:涉及【预约日程/会议】或【查询/预定会议室】时,必须先读取 references/lark-calendar-schedule-meeting.md 工作流!高频操作请优先使用 Shortcuts:+agenda(快速概览今日/近期行程)、+create(创建日程并按需邀请参会人及预定会议室)、+update(更新既有日程字段,或独立增删参会人/会议室)、+freebusy(查询用户主日历的忙闲信息和rsvp的状态)、+rsvp(回复日程邀请)
飞书云文档 / Docx / 知识库 Wiki 文档(v2):创建、打开、读取、获取、查看、总结、整理、改写、翻译、审阅和编辑飞书文档内容。当用户给出飞书文档 URL/token,或说查看/读取/打开某个文档、提取文档内容、总结文档、生成/创建文档、追加/替换/删除/移动内容、调整排版、插入或下载文档图片/附件/素材/画板缩略图时使用。文档内容中出现嵌入电子表格、多维表格、需要将重要信息可视化为画板(含 SVG 画板)、引用或同步块时,也先用本 skill 读取和提取 token,再切到对应 skill 下钻。使用本 skill 时,docs +create、docs +fetch、docs +update 必须携带 --api-version v2;默认使用 DocxXML,也支持 Markdown。当用户给出 doubao.com 的 /docx/ 或 /wiki/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。
飞书云空间(云盘/云存储):管理云空间(云盘/云存储)中的文件和文件夹。上传和下载文件、创建文件夹、复制/移动/删除文件、查看文件元数据、管理文档评论、管理文档权限、订阅用户评论变更事件、修改文件标题(docx、sheet、bitable、file、folder、wiki);也负责把本地 Word/Markdown/Excel/CSV/PPTX 以及 Base 快照(.base)导入为飞书在线云文档(docx、sheet、bitable、slides)。当用户需要上传或下载文件、整理云空间(云盘/云存储)目录、查看文件详情、管理评论、管理文档权限、修改文件标题、订阅用户评论变更事件,或要把本地文件导入成新版文档、电子表格、多维表格/Base/幻灯片 时使用。"云空间"、"云盘"和"云存储"是同一概念,用户说"云盘"、"云存储"、"网盘"、"我的空间"时均路由到本 skill。当用户给出 doubao.com 的云空间资源 URL/token,或明确提到豆包里的 file/folder/docx/sheet/bitable/wiki 资源时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是资源类型、URL 路径模式和 token,而不是域名。
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据时使用。
| name | get-fortune-analysis |
| description | 生成视觉华丽、内容详实、具有仪式感的流年运势报告(流金星象风格)。 |
| Parameter | Type | Description |
|---|---|---|
birth_year, birth_month, birth_day, birth_hour | Integer | 用户出生时间 |
focus_type | String | (可选) "事业", "财运", "情感" |
调用 get_cyber_divination_data 获取 bazi (八字基础) 和 fortune (流年十神) 数据。
基于 bazi 和 fortune 进行多维度推理。
文案要求:
生成适配前端的 JSON 数据。
{
"fortune_report": {
"score": 88,
"keyword": "灵感迸发 · 贵人引路",
"user_tag": "丁火 (身弱)",
"stars": {
"c": "★★★★☆",
"w": "★★★☆☆",
"l": "★★★★★"
},
"analysis": {
"overview": "2026 丙午流年,火气旺盛,对你而言是充满灵性与机遇的一年。虽然竞争压力(比劫)增大,但也激活了你命局中的‘印星’能量。这意味着今年你的直觉力、学习力将达到巅峰,是沉淀自我、弯道超车的最佳时机。",
"career": "今年不适合盲目扩张,适合‘深耕’。职场上会遇到强有力的女性贵人或资深导师,给你带来关键性的指点。若从事创意、咨询、教育行业,今年极易出成果。切记:多听少说,以柔克刚。",
"love": "情感方面,桃花星悄然绽放。单身者极易在学习场所、图书馆或艺术展上邂逅精神契合的伴侣;有伴侣者,今年是进行深度沟通、解决历史遗留问题的破冰之年,关系将升华到精神层面。"
}
}
}```
### 2. 前端展示代码 (`result_card.html`)
*修改点:在首页(`ritual-layer`)增加了动态生成漂浮二进制代码的逻辑。代码粒子是半透明的金色/白色,缓慢上升并消散,营造神秘的数据空间感。*
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2026 流年运势书</title>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Noto+Serif+SC:wght@400;700&display=swap" rel="stylesheet">
<style>
:root {
--bg-deep: #1a0b2e;
--bg-gradient: radial-gradient(circle at 50% 0%, #431d69 0%, #1a0b2e 80%);
--gold-light: #fcf6ba;
--gold-dark: #bf953f;
--gold-gradient: linear-gradient(to bottom, #fcf6ba, #bf953f);
--glass-bg: rgba(255, 255, 255, 0.08);
--card-border: rgba(255, 255, 255, 0.15);
}
body {
background: var(--bg-deep);
background-image: var(--bg-gradient);
color: #fff;
font-family: 'Noto Serif SC', serif;
margin: 0;
min-height: 100vh;
display: flex;
justify-content: center;
overflow-x: hidden;
font-weight: 300;
}
.app-container {
width: 100%;
max-width: 414px;
position: relative;
min-height: 100vh;
overflow: hidden;
}
/* --- 1. 启动页 (Ritual Layer) --- */
.ritual-layer {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
z-index: 100;
background: var(--bg-deep);
background-image: var(--bg-gradient);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
transition: opacity 0.8s ease;
overflow: hidden;
}
/* 新增:二进制数据容器 */
.binary-container {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
pointer-events: none;
z-index: 0; /* 在最底层 */
}
/* 新增:二进制粒子样式 */
.binary-particle {
position: absolute;
bottom: -20px;
font-family: 'Courier New', monospace;
color: rgba(252, 246, 186, 0.3); /* 微弱的金白色 */
font-size: 10px;
user-select: none;
animation: floatUp linear forwards;
}
/* 启动页内容容器 (确保在粒子之上) */
.ritual-content {
position: relative;
z-index: 10;
display: flex;
flex-direction: column;
align-items: center;
}
.fingerprint-area {
width: 100px; height: 100px;
border: 2px solid rgba(191, 149, 63, 0.3);
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
position: relative; cursor: pointer;
margin-bottom: 20px;
backdrop-filter: blur(2px); /* 轻微磨砂,突出按钮 */
}
.fingerprint-area::after {
content: ''; position: absolute; width: 100%; height: 100%;
border-radius: 50%;
box-shadow: 0 0 30px var(--gold-dark);
opacity: 0; animation: breathe 2s infinite;
}
.fingerprint-icon {
font-size: 40px; color: var(--gold-dark); transition: color 0.3s;
}
.hint-text {
color: rgba(255,255,255,0.6); font-size: 14px; letter-spacing: 2px;
}
/* --- 2. 结果页 (Result Layer) --- */
/* ... (保持不变) ... */
.result-layer {
padding: 20px; opacity: 0; transform: translateY(20px);
transition: all 0.8s ease; display: none;
}
.header-card { text-align: center; margin-bottom: 30px; position: relative; }
.year-title { font-family: 'Playfair Display', serif; font-size: 16px; color: rgba(255,255,255,0.7); letter-spacing: 4px; margin-bottom: 5px; }
.score-box { font-size: 72px; font-weight: 700; background: var(--gold-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin: 10px 0; text-shadow: 0 0 30px rgba(191, 149, 63, 0.4); }
.keyword-badge { display: inline-block; border: 1px solid var(--gold-dark); color: var(--gold-light); padding: 4px 12px; border-radius: 20px; font-size: 14px; background: rgba(0,0,0,0.3); }
.detail-card { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--card-border); border-radius: 16px; padding: 24px; margin-bottom: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.section-title { display: flex; align-items: center; color: var(--gold-light); font-size: 16px; font-weight: bold; margin-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 8px; }
.section-title span { margin-right: 8px; }
.text-content { font-size: 14px; line-height: 1.8; color: rgba(255,255,255,0.9); text-align: justify; }
.star-row { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 14px; }
.stars { color: var(--gold-dark); letter-spacing: 2px; }
.footer-share { text-align: center; font-size: 12px; color: rgba(255,255,255,0.4); margin-top: 30px; padding-bottom: 30px; }
/* 动画 Keyframes */
@keyframes breathe {
0% { opacity: 0.3; transform: scale(1); }
50% { opacity: 0.8; transform: scale(1.1); }
100% { opacity: 0.3; transform: scale(1); }
}
/* 新增:粒子上浮动画 */
@keyframes floatUp {
0% { transform: translateY(0) rotate(0deg); opacity: 0; }
20% { opacity: 0.5; }
80% { opacity: 0.2; }
100% { transform: translateY(-120vh) rotate(20deg); opacity: 0; }
}
</style>
</head>
<body>
<div class="app-container">
<div class="ritual-layer" id="ritualLayer">
<div class="binary-container" id="binaryContainer"></div>
<div class="ritual-content">
<div style="margin-bottom: 40px; opacity: 0.7;">
<svg width="60" height="60" viewBox="0 0 24 24" fill="none" stroke="#bf953f" stroke-width="1">
<circle cx="12" cy="12" r="10"></circle>
<path d="M12 2a15 15 0 0 0 0 30 15 15 0 0 0 0-30"></path>
<path d="M2 12h20"></path>
</svg>
</div>
<div class="fingerprint-area" id="fingerBtn">
<div class="fingerprint-icon">
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
<path d="M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10v1c0 2.21-1.79 4-4 4s-4-1.79-4-4V7c0-1.66-1.34-3-3-3S8 5.34 8 7v6c0 1.1.9 2 2 2s2-.9 2-2V7"></path>
</svg>
</div>
</div>
<div class="hint-text">长按开启 2026 运势书</div>
</div>
</div>
<div class="result-layer" id="resultLayer">
<div class="header-card">
<div class="year-title">FORTUNE REPORT 2026</div>
<div class="score-box" id="scoreVal">0</div>
<div class="keyword-badge" id="mainKeyword">读取中...</div>
<div style="font-size: 12px; color:rgba(255,255,255,0.5); margin-top: 10px;">
日主:<span id="userTag">--</span>
</div>
</div>
<div class="detail-card">
<div class="star-row"><span>事业前程 Career</span><span class="stars" id="careerStars">★★★★☆</span></div>
<div class="star-row"><span>财富机缘 Wealth</span><span class="stars" id="wealthStars">★★★☆☆</span></div>
<div class="star-row"><span>情感关系 Love</span><span class="stars" id="loveStars">★★★★★</span></div>
</div>
<div class="detail-card">
<div class="section-title"><span>✦</span> 年度总批 Overview</div>
<div class="text-content" id="overviewText">正在解析星盘数据...</div>
</div>
<div class="detail-card">
<div class="section-title"><span>⚔</span> 事业与财富</div>
<div class="text-content" id="careerText">...</div>
</div>
<div class="detail-card">
<div class="section-title"><span>♥</span> 情感与建议</div>
<div class="text-content" id="loveText">...</div>
</div>
<div class="footer-share">Mystic AI Lab © 2026</div>
</div>
</div>
<script>
// --- 模拟 AI 返回的数据 ---
const aiData = {
"fortune_report": {
"score": 88,
"keyword": "灵感迸发 · 贵人引路",
"user_tag": "丁火 (身弱)",
"stars": { "c": "★★★★☆", "w": "★★★☆☆", "l": "★★★★★" },
"analysis": {
"overview": "2026 丙午流年,对你而言是充满灵性与机遇的一年。虽然流年火旺带来了竞争压力,但也激活了你命局中的‘印星’能量。这意味着今年你的直觉力、学习力将达到巅峰,是沉淀自我、弯道超车的最佳时机。",
"career": "今年不适合盲目扩张,适合‘深耕’。职场上会遇到强有力的女性贵人或资深导师,给你带来关键性的指点。若从事创意、咨询、教育行业,今年极易出成果。",
"love": "情感方面,桃花星悄然绽放。单身者极易在学习场所、图书馆或艺术展上邂逅精神契合的伴侣;有伴侣者,今年是进行深度沟通、解决历史遗留问题的破冰之年。"
}
}
};
// --- 二进制粒子效果 ---
const binaryContainer = document.getElementById('binaryContainer');
let particleInterval;
function createBinaryParticle() {
const particle = document.createElement('div');
particle.classList.add('binary-particle');
// 随机生成 01 字符串
const len = Math.floor(Math.random() * 6) + 2;
let text = "";
for(let i=0; i<len; i++) text += Math.random() > 0.5 ? "1" : "0";
particle.innerText = text;
// 随机位置和属性
particle.style.left = Math.random() * 100 + '%';
const duration = Math.random() * 10 + 8; // 8-18秒飘动时间
particle.style.animationDuration = duration + 's';
particle.style.fontSize = (Math.random() * 8 + 8) + 'px';
particle.style.opacity = Math.random() * 0.3 + 0.1;
binaryContainer.appendChild(particle);
// 动画结束后移除
setTimeout(() => {
particle.remove();
}, duration * 1000);
}
// 开始生成粒子
function startBinaryRain() {
// 初始先生成一批
for(let i=0; i<15; i++) createBinaryParticle();
// 然后定期生成
particleInterval = setInterval(createBinaryParticle, 600);
}
function stopBinaryRain() {
clearInterval(particleInterval);
// 可选:渐隐清除现有粒子
// binaryContainer.style.opacity = 0;
}
// --- 交互逻辑 ---
const btn = document.getElementById('fingerBtn');
const ritual = document.getElementById('ritualLayer');
const result = document.getElementById('resultLayer');
let pressTimer;
btn.addEventListener('touchstart', startRitual, {passive: false});
btn.addEventListener('mousedown', startRitual);
btn.addEventListener('touchend', endRitual);
btn.addEventListener('mouseup', endRitual);
btn.addEventListener('mouseleave', endRitual);
function startRitual(e) {
e.preventDefault();
btn.style.transform = "scale(0.95)";
btn.style.borderColor = "#fff";
document.querySelector('.fingerprint-icon').style.color = "#fff";
pressTimer = setTimeout(revealResult, 1500);
}
function endRitual() {
clearTimeout(pressTimer);
btn.style.transform = "scale(1)";
btn.style.borderColor = "rgba(191, 149, 63, 0.3)";
document.querySelector('.fingerprint-icon').style.color = "#bf953f";
}
function revealResult() {
stopBinaryRain(); // 停止生成粒子
ritual.style.opacity = '0';
setTimeout(() => {
ritual.style.display = 'none';
result.style.display = 'block';
requestAnimationFrame(() => {
result.style.opacity = '1';
result.style.transform = 'translateY(0)';
runNumberAnimation();
});
}, 800);
// 填充数据(省略详细代码,与上版相同)...
document.getElementById('mainKeyword').innerText = aiData.fortune_report.keyword;
document.getElementById('userTag').innerText = aiData.fortune_report.user_tag;
document.getElementById('overviewText').innerText = aiData.fortune_report.analysis.overview;
}
function runNumberAnimation() { /* (省略,与上版相同) */
document.getElementById('scoreVal').innerText = aiData.fortune_report.score;
}
// 页面加载后启动特效
startBinaryRain();
</script>
</body>
</html>