本文へ移動
cccskills
無料GitHub で公開

event-venue-kit

当使用者说"给我们的活动做个网站"、"展会/开放日/校园导览/博物馆/市集要一个手机导览站"、"做个可以拖动的 3D 楼层图"、"展位地图和路线导航"、"每个展商/学校一页"、"像 College Fair 那个网站一样好看"时使用。

适用于有真实场地的活动网站:入口首页、实体列表与搜索、实体长页、3D 场地图、分步路线、主题路线、印刷物同源。方法来自一个很受欢迎的大学展网站,但每个项目先抽一个设计方向,不复制原站外观;原站外观只在使用者明说时作为规范出口取用。不编造场地几何,不随包分发第三方校徽、照片和字体。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skillsスター 5(GitHub 5 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(48)

  • SKILL.md13.1 KB
  • assets/demo/engine-demo.html46.9 KB
  • assets/demo/ui-demo.html25.6 KB
  • assets/demo/venue.json11.3 KB
  • assets/engine/part-nav.js22.4 KB
  • assets/engine/search.js18.2 KB
  • assets/engine/sheet.js17.5 KB
  • assets/engine/spring.js10.7 KB
  • assets/engine/tones.js19.8 KB
  • assets/engine/venue-map.js130.4 KB
  • assets/engine/venue.schema.json34.1 KB
  • assets/engine/wayfind.js101.6 KB
  • assets/floor/base.css61.5 KB
  • assets/recipes/airmail.css13.8 KB
  • assets/recipes/blueprint.css13.9 KB
  • assets/recipes/broadsheet.css12.5 KB
  • assets/recipes/departures.css11.9 KB
  • assets/recipes/festival-riso.css17.7 KB
  • assets/recipes/heraldry.css16.0 KB
  • assets/recipes/herbarium.css12.2 KB
  • assets/recipes/library-catalog.css13.3 KB
  • assets/recipes/museum-placard.css12.4 KB
  • assets/recipes/track-meet.css13.5 KB
  • assets/recipes/transit-signage.css14.8 KB
  • assets/recipes/varsity.css9.2 KB
  • assets/starter/starter.css19.3 KB
  • assets/starter/starter.js50.0 KB
  • library/directions.json129.3 KB
  • references/craft-details.md44.1 KB
  • references/derive.md41.8 KB
  • references/floor.md24.2 KB
  • references/lessons.md32.8 KB
  • references/map-craft.md54.7 KB
  • references/print-parity.md33.0 KB
  • references/randomness.md7.2 KB
  • references/reading.md34.2 KB
  • references/reference-direction/DESIGN.md49.8 KB
  • references/reference-direction/fingerprint.json9.9 KB
  • references/ux-contracts.md46.6 KB
  • references/wayfinding-copy.md26.0 KB
  • scripts/draw.py58.6 KB
  • scripts/install.py72.1 KB
  • scripts/kit.py168.1 KB
  • scripts/lint_floor.py31.0 KB
  • scripts/similarity.py18.8 KB
  • scripts/specimen.py105.8 KB
  • scripts/starter.py130.5 KB
  • scripts/tones.py16.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

活动与场馆网站套件 / Event Venue Kit

给一个发生在真实场地里的活动做手机优先的网站:入口首页、实体(展位、学校、展商、展品)列表与长页、可拖动的 3D 场地图、分步路线。

这套方法来自 SDSZ College Fair 网站(Varsity '28)。要带走的不是它长什么样,而是它怎么长出来的:

  1. 身份从活动自己的实物里推出来;
  2. 一层质量地板托住所有细节;
  3. 一套手写的地图与动效引擎让它好用。

所以每个新项目都先抽一个设计方向,原站只是方向池里权重很低的一张牌。

何时使用 / When to use

  • 学校活动、展会、开放日、市集、博物馆、校园导览、会议,需要一个手机上看的网站。
  • 要做楼层图、展位地图、3D 场地图,或者"从我在的地方走到某个展位"的导航。
  • 有一批实体(学校、展商、摊位、展品),每个都要一页,并且要能搜索。
  • 使用者说"要好看""不要模板味""像 College Fair 那个网站一样"。

不适用于 / Not for:

  • 没有场地的普通落地页或产品官网:用 ui-design-system-builder 从项目意象推 token。
  • 想直接套 MaestrWave 那套深色衬线视觉:用 maestrwave-ui-system。
  • 已有完整品牌规范、也不需要地图:照规范实现。本套件里只有地板(references/floor.md)还用得上。

三层 / Three layers

层内容随机?在哪
地板 Floor对比度角色与实体色算法、双语层级、CJK 断行、触控与焦点、减弱动效、只为状态而动的弹簧、地图静止不重绘、UX 契约否references/floor.md、references/ux-contracts.md、assets/floor/base.css
表面 Surface配色结构与色相、展示与标签字体、形状语言、分隔线、实体页头、地图标记、数字样式、导航呈现、地图投影与材质、动效性格、密度是:先整套抽方向,再在方向包络内抽参数library/directions.json、assets/recipes/<方向>.css、references/randomness.md
引擎 Engine伪 3D 场地图、网格寻路与分步文字、弹簧、底部弹层、分部导航、实体色计算否;外观全部由 token 驱动assets/engine/*.js、assets/engine/venue.schema.json

流程 / Process

  1. 读项目,把硬要求翻成冻结项:已有品牌色、logo、字体、平面图、实体名单吗?brief 里白纸黑字的要求,抽牌前就写成 --keep:
    • 品牌色 → --keep palette=#主色,#强调色;指定字体 → --keep display="字体名";
    • "可旋转 / 能转" → --keep projection=rotate(orbit 或 exploded);"3D、能看到几层、不必转" → --keep projection=3d;"平面图就行" → --keep projection=plan;
    • 以中文为主(中文为主或只给中文读者)→ --keep lead=zh;双语且现场有外国访客 → 默认 lead=en,或按 brief 定。
    • 没有平面图就问要平面图(照片也行)。不要凭空画楼。实在没有,只画示意,并在页面上写"示意图"。
    • 场地数据写成 venue.json(格式见 assets/engine/venue.schema.json:房间、开放区或走廊、中庭挑空、楼梯电梯、实体、活动信息)。写完先跑 node assets/engine/wayfind.js --selftest 你的 venue.json,所有起点到所有实体都要走得通。
  2. 盘点活动的物理世界:按 references/derive.md 的问题清单列出 8–12 件只属于这个活动的东西,并打上标签。没有照片时按常识推断,标"假设",交付时请使用者确认。
  3. 抽牌,看样张,再选:按 references/randomness.md 跑 draw.py(三张牌),再用 specimen.py --venue 你的 venue.json 出三页样张(用这个活动自己的名字和场地)。
    • 不能下载字体时加 --offline,样张才和成品一样用系统回落字体。
    • 在浏览器的前台标签里打开三页看过再选(后台或隐藏的窗格里画布不绘制)。
    • 开不了新标签时:
      • 先关掉自己以前开过、已经不用的标签;
      • 仍不行,用 specimen.py --png 让本机 Chrome 无头渲染截图来看;
      • 连 Chrome 也没有,就按牌面参数、recipe 和 lint 结果比较,交付时写明"样张未在浏览器里看过"。
    • 理由要点名盘点里的一件实物。选定之后要改参数用 draw.py adjust,再 install.py --update;不要重抽、也不要手改 roll.json。
  4. 落地:install.py --starter --venue 你的 venue.json 写入 token、base.css、所选方向的 recipe、引擎、项目自己的 DESIGN.md,以及一套能用的页面骨架:首页、地图页(路线弹层、搜索、URL 状态、无 JS 名录)、每个实体一页。在骨架上改,不要从零写胶水代码。
    • 字体:牌上的字体都是免费字体,但套件不带字体文件,页面运行时也不向第三方请求字体(地板 F27)。
      • 先问使用者能不能下载字体。能,就按 references/print-parity.md §5 自托管并裁成子集。
      • 不能,就用 token 里的系统回落字体栈,并在 DESIGN.md 写明"字体:系统回落"。
  5. 把页面做满:骨架已经满足 references/ux-contracts.md 的契约;改动时别破坏它们。
    • 方向自带的品类道具(directions.json 里的 props,如标本叶形、网点、盾形)只在盘点清单支持时保留;不支持就把对应的 --prop-* 设成关闭值。
    • 再用以下文件把细节做满:
      • references/craft-details.md(界面)
      • references/reading.md(实体长页)
      • references/map-craft.md(地图)
      • references/wayfinding-copy.md(路线文案与搜索)
      • references/print-parity.md(门牌、告示、二维码、徽章、照片)
  6. 检查:
    • 跑 lint_floor.py 和 similarity.py;
    • 在 375 px 宽、浅色和深色下各看一遍(深底方向的"浅色"也是深底,这是预期);
    • 地图拖动和捏合;
    • 走一条跨楼层路线;
    • 对照 references/floor.md 逐条看。lint_floor.py 只查 token 和样式表里能静态看出的东西;按钮、填色标签、按下的分段按钮里的字要在浏览器里亲眼看。
    • 浏览器会缓存样式和脚本,改完看不到变化时,给资源地址加内容哈希或 ?v=。
    • 踩过的坑在 references/lessons.md。
  7. 记录:把方向、预设码(它能复现这张牌)、抽牌种子、改过的参数写进项目的 DESIGN.md。以后在这个项目里继续做,先读它。

速查 / Quick reference

python3 scripts/draw.py --tags campus,science --keep projection=rotate --out .evk/roll.json   # 抽三张牌(--keep / --steer / --canon)
python3 scripts/specimen.py .evk/roll.json --all --venue data/venue.json --out .evk/specimens   # 每张牌一页样张,用自己的场地(不能下载字体加 --offline)
python3 scripts/draw.py choose 2 --reason "…" --roll .evk/roll.json       # 选定并写历史
python3 scripts/draw.py adjust pitch=30 --reason "…" --roll .evk/roll.json   # 选定后改参数(不重抽,记进 adjusted)
python3 scripts/install.py .evk/roll.json ./site --starter --venue data/venue.json   # 落地:token、样式、引擎、页面骨架
python3 scripts/install.py .evk/roll.json ./site --update                 # adjust 之后只重写 token 与 roll
python3 scripts/tones.py "#8C1515" --roll .evk/roll.json                 # 一个实体色的全部角色(按这张牌的纸色与夜色)
node assets/engine/wayfind.js --selftest data/venue.json                 # 场地数据:每个起点到每个实体都走得通
node assets/engine/wayfind.js --describe-all data/venue.json --from entrance:1F   # 从入口到每个实体的分步路线(JSON,起步页用它生成静态"怎么走")
python3 scripts/lint_floor.py site/evk/tokens.css                         # 地板检查
python3 scripts/similarity.py .evk/roll.json                              # 与原站的指纹距离
要做什么读哪份
从活动推身份、标签词表references/derive.md
抽牌规则、何时重抽、降级做法references/randomness.md
必须守住的规则references/floor.md
每个 UX 部件的契约与可变呈现references/ux-contracts.md
界面微细节(梯度、细线、按压、深色)references/craft-details.md
实体长页、块词汇、阅读导航references/reading.md
3D 场地图的全部手艺references/map-craft.md
路线文案、搜索、URL 状态references/wayfinding-copy.md
门牌、告示、二维码、徽章、照片、文案语气references/print-parity.md
原站踩过的坑references/lessons.md
原站完整规格(只在使用者要原站外观时)references/reference-direction/DESIGN.md

红旗 / Red flags

出现任何一条,说明你正在滑回默认值或复制原站。回到对应的步骤:

  • 还没跑 draw.py 就开始写 CSS。
  • 只看了方向名,没打开样张就选了。
  • 选择理由里没有盘点清单上的任何一件实物。
  • 页面上的母题来自品类,而不是这个活动。比如科学节就用元素周期表,书市就用邮戳。
    • 换成盘点清单里的东西,或者写清楚它为什么就是这个活动的东西。
  • 页面上出现倒计时胶囊、底部 Tab 栏、入场依次上浮这类"活动网站标配",但说不出它服务哪条 UX 契约。
  • 双语靠切换按钮把另一种语言藏起来,而 brief 没说只用一种语言。
    • 现场人群是混合的。两种语言同时出现、分主次,见 references/floor.md。
  • similarity.py ≥ 0.5,而使用者没要原站外观。
  • 地图在不动的时候还在跑 requestAnimationFrame,或者动效用的是固定时长的缓动、不能从当前速度接手。

输出格式 / Output

交付时一次说完:

**方向**:<方向名>(预设码 <EVK1-…>,抽牌种子 <draw.py 打印的 seed>);三张牌是 <A> / <B> / <C>,选 <B> 因为 <盘点里的实物>
**冻结**:<--keep 的内容,或"无">
**页面**:<做了哪些页面和部件>
**检查**:lint_floor <通过/问题>;与原站相似度 <x>;375 px 浅色/深色、地图手势、跨楼层路线 <结果>
**我替你定了的**:<方向内手调的参数 + 理由 + 怎么改回去>

边界 / Boundaries

  • 不编造场地。 楼层、房间、门、楼梯来自平面图或使用者确认的数据。示意图必须标"示意"。
  • 不随包分发第三方素材。 校徽、logo、照片要有授权并注明出处(做法见 references/print-parity.md)。套件本身只提供标记渲染器的插槽。
  • 不放个人信息。 学生姓名、班级、联系方式默认不上页面,除非使用者明确要求,且有当事人同意。
  • 品牌和 brief 优先于抽牌。 抽牌只决定 brief 没有决定的部分。
  • 原站外观只在被要求时用。 使用者明说"一样的"或"同一家族",才用 --canon。

Token 控制 / Token discipline

  • 先读本文件、references/randomness.md,以及 references/derive.md 的问题清单与标签词表。其余参考按上表在做到那一步时再读,并且只读用得上的小节(各文件开头有目录):没有长页就不读 reading.md,没有印刷物就不读 print-parity.md。
  • library/directions.json 让脚本去读,不必整份读进上下文;要看某个方向,只看那一项。
  • 样张用浏览器看,不要把样张 HTML 读进上下文。

变更记录 / Changelog

版本日期变更类型
0.1.02026-10-24初始版本:方法与细节总结自 SDSZ College Fair 网站;三层结构(地板 / 抽牌表面 / 引擎);12 个方向(含原站规范出口,色相分家族),抽牌带历史降权与手内差异;无框架引擎(场地图、寻路、搜索、弹层、阅读导航、实体色)与起步页骨架;经五轮独立实做测试修订minor

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

当学生说"Common App 活动栏写不下"、"这段活动描述超字数了"、"帮我把这几条压到限制内"时使用。先按官方申请表核对当季字符限额,再逐条检查;一次把所有条目量完并直接给出压缩版,只在需要砍掉实质内容时才用选择题问该保哪部分。每改一版都用工具重新数一遍字符,绝不凭感觉说"这样应该够了"。只压缩,不代写空白。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills52026年10月24日 更新

当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills52026年10月24日 更新

当学生问"招生官会怎么看我的档案"、"我的背景还差什么"、"帮我评估一下现在的申请竞争力"时使用。以顶尖大学招生官的视角通读学生的档案、长期活动与已写下的反思,不问任何前置问题直接产出一份指名道姓的坦诚点评:这份材料的亮点、招生官真实的解读方式、明显的短板与空白、以及接下来最值得做的一到两件事。只读不写,不修改学生的任何数据,也不代写任何申请材料。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills52026年10月24日 更新

当使用者说"帮我填词"、"按这个字数模板写歌词"、"用多Agent对抗式写词"、"这首副歌帮我想几句"时使用,前提是字数骨架和这首歌写什么都已经有了;只有主题、还没定写什么时先用 lyric-concept-builder。拿一份字数骨架和意象系统,派三个 sonnet 子代理按不同路子并行独立起草(场景派 / 口语派 / 意象派),再派一个红队子代理逐句挑毛病,主 Agent 按句裁决拼稿,最后统一辙口与意象。收敛判据卡死:字数用 lyric-doctor 的脚本对模板数、每段同辙、hook 不含陈词、主歌二对主歌一有推进。不抄现有歌词,不替使用者决定这首歌要说什么。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills52026年10月24日 更新

当想知道一段 AI 回答"哪些能直接用、哪些必须先验证、哪些只能当建议"时使用。按声明类型分四级——低风险草稿材料、观点与策略建议、可查证的事实声明、会改变状态的可执行指令——每级配一句默认处置动作;再按影响半径排序,给出最小的下一步检查。可执行类一律标"不能直接执行;先做代码审阅/沙箱测试/回滚准备",其中破坏性或提权的命令排在最前。教的是一套可复用的复查习惯,不是替使用者把所有内容都核实一遍:本 skill 只分级、排序、定处置,要逐条核实走 ai-output-fact-checker,整段代码要做入库体检走 ai-code-onboarding-checklist。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills52026年10月24日 更新

当拿到一段 AI 生成的代码,还没决定要不要信、要不要跑、要不要往上继续加东西时使用。先做一遍客观体检:行数与嵌套深度、有没有测试、有没有硬编码密钥或遗留 TODO、依赖是不是真实存在、有没有危险调用(eval/exec、shell=True、递归删除、反序列化、提权、外发网络,按正文给的 grep 模式逐类查);再给风险评级和下一步动作。老实写明它查不了算法正确性——体检通过不等于代码是对的。回答里文字、事实和代码混在一起时先用 ai-answer-triage 分级;只审相对已有代码的一份改动用 ai-diff-review-protocol。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills52026年10月24日 更新

ChromiteCr のスキルをすべて見る

このスキルの問題を報告する