skills/holiday-enough/SKILL.md
评估旅行目的地需要几天才能玩好,判断用户的假期时间是否充足。通过真实旅行攻略提取各段路线实际耗时,给出"时间充裕/刚好/偏紧"的评估和精简方案建议。 当用户提到以下场景时使用此 skill:假期够不够、旅行时间评估、几天够玩、行程天数、时间够吗、假期天数够不够、去XX玩几天合适、XX天能玩完吗。 即使用户没有明确说"评估时间",只要涉及"目的地 + 可用天数"的组合,就应该触发此 skill。
npx skillsauth add mrlyk/skills holiday-enoughInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
帮用户判断假期时间和旅行目的地是否匹配。核心逻辑:从社区平台获取真实攻略中的时间数据,与用户可用天数对比,给出实用建议。
每次执行前先确认 CDP 环境可用:
node "$SKILL_ROOT/scripts/check-deps.mjs"
如果脚本报告 Chrome 未连接,它会自动打开 chrome://inspect/#remote-debugging 页面。此时告诉用户:
已为你打开 Chrome 调试设置页面。请勾选页面中的 "Allow remote debugging for this browser instance",完成后告诉我,我会继续执行。
用户确认后重新运行 check-deps.mjs 验证连接。
从用户的描述中提取两个关键信息:
如果用户只提了目的地没说天数,主动追问可用天数。如果用户只说了天数没说目的地,追问想去哪里。两个信息都齐了再开始检索。
路线不需要用户提供,由真实攻略中获取。
数据源为反爬严格的社区平台,必须通过 CDP 浏览器模式访问,不要尝试 WebSearch 或 WebFetch。
# 启动搜索页(将 KEYWORD 替换为实际关键词)
curl -s "http://localhost:3456/new?url=https://www.xiaohongshu.com/search_result?keyword=KEYWORD&source=web_search_result_note"
搜索关键词策略 -- 用多组关键词获取更全面的信息:
"{目的地} 旅行攻略 时间安排""{目的地} 几天够玩""{目的地} X天行程" (X 为用户提供的天数)记录返回的 targetId,后续操作都需要用到。
# 等待页面加载后提取笔记链接和标题
curl -s -X POST "http://localhost:3456/eval?target=TARGET_ID" \
-d 'JSON.stringify([...document.querySelectorAll("section.note-item a.cover")].slice(0, 10).map(a => ({title: a.closest("section")?.querySelector(".title")?.textContent?.trim() || "", url: a.href})))'
如果选择器未命中,先用 /eval 观察页面实际 DOM 结构再调整选择器。该平台前端频繁改版,选择器可能需要适配。
可以用 /scroll 向下滚动加载更多结果:
curl -s "http://localhost:3456/scroll?target=TARGET_ID&direction=bottom"
从搜索结果中选取 5-10 篇相关度高的笔记(标题中包含天数、攻略、行程等关键词的优先),逐一打开并提取正文:
# 在新标签页打开笔记
curl -s "http://localhost:3456/new?url=NOTE_URL"
# 提取正文内容
curl -s -X POST "http://localhost:3456/eval?target=NOTE_TARGET_ID" \
-d 'document.querySelector("#detail-desc")?.textContent?.trim() || document.querySelector(".note-text")?.textContent?.trim() || ""'
提取完一篇后关闭标签页再打开下一篇,避免同时开太多标签页:
curl -s "http://localhost:3456/close?target=NOTE_TARGET_ID"
所有笔记提取完毕后,关闭搜索页标签页:
curl -s "http://localhost:3456/close?target=TARGET_ID"
/eval 查看实际 DOM 结构并动态调整。这个 skill 的核心是判断时间够不够,不是帮用户做路线规划。提取信息时聚焦以下三点:
交叉对比多篇笔记,关注共识性结论:
结论先行,依据在后。语言简洁实用。
这是最重要的部分,放在最前面。明确回答用户"我的假期够不够":
列出该目的地的必去景点及各自所需时间,作为结论的支撑依据。格式:
[景点名]:游玩约X小时
[景点名]:游玩约X小时(距上一景点车程约X小时)
...
合计:核心景点游玩约需X天
标注数据来源于真实用户攻略,可能因季节、交通方式等因素有所差异。
根据评估结论给出针对性建议:
每条建议要具体,比如"XX景点可以跳过,多数人反馈性价比不高"或"XX和XX距离近,可以安排在同一天"。
development
把一段需求 / 一段思考 / 一段会议纪要写成单页 HTML 格式的「技术方案 / Design Doc」(工程视角的"怎么做",含背景、目标、技术方案、风险、影响范围、产研计划等模块;不是产品 PRD 的"做什么"),或者增量更新一份已有技术方案。新建场景:当用户说「写一份技术方案」「写个 design doc」「整理成 HTML 技术文档」「评审用的方案文档」「create tech spec」时使用。更新场景:当用户指向某份已有技术方案 HTML、说「评审完根据反馈调一下」「在风险章节加一条」「方案 A 改成 B」「补充某个章节」时也使用本 skill —— 走「最小化改动 + 保持文档稳定身份」的更新工作流而不是重写。
tools
Safe disk space analysis and cleanup workflow for local machines. Use when asked to analyze full disks, identify large cache/log/temp/build artifacts, produce a cleanup report, run or simulate dry-runs, wait for user approval, and then clean only confirmed redundant files without affecting software functionality, user data, databases, models, projects, or developer toolchains. Also use for creating reusable disk cleanup SOPs or post-cleanup reports.
tools
Improve typography by fixing font choices, hierarchy, sizing, weight consistency, and readability. Makes text feel intentional and polished.
documentation
One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.