Create, update, or delete a "Starship" project subpage for the GMAI Lab Jekyll website
(repo: uni-medical/gmai-web). Handles both English and Chinese versions, uploads images,
and updates the homepage landing panel link. Use when adding a new research project page,
modifying an existing one, or removing it. Covers the full file chain:
pages/projects/{slug}.md · pages/zh/projects/{slug}.md · index.md · zh/index.md ·
assets/images/projects/{slug}/.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Der Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
SKILL.md wird angezeigt
SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
gmai-starship-page
description
Create, update, or delete a "Starship" project subpage for the GMAI Lab Jekyll website
(repo: uni-medical/gmai-web). Handles both English and Chinese versions, uploads images,
and updates the homepage landing panel link. Use when adding a new research project page,
modifying an existing one, or removing it. Covers the full file chain:
pages/projects/{slug}.md · pages/zh/projects/{slug}.md · index.md · zh/index.md ·
assets/images/projects/{slug}/.
allowed-tools
["Read","Write","Edit","Bash","Glob","Grep"]
GMAI Lab — Starship Project Subpage Skill
Overview
The GMAI Lab website has five research sections on its homepage (index.md / zh/index.md).
Each section links to a dedicated "Starship" project subpage.
Current implementations:
Section
Theme CSS class
Watermark
Current Starship
1 — Medical Data Infrastructure
vis-neural
01
/projects/imaging-x/
2 — Medical Multimodal LLMs
vis-genomics
02
/projects/gmai-vl/
3 — Medical Image Segmentation
vis-molecular
03
/projects/sam-med3d/
4 — Clinical AI Systems
vis-clinical
04
/projects/slide-chat/
5 — Scalable Segmentation
vis-stunet
05
/projects/stu-net/
Additional Starship pages (not on landing but in project listing):
/projects/ophclip/ — OphCLIP surgical video-language model
Cross-Linking Requirements
When creating a Starship subpage, also ensure:
_data/projects.yml has a matching entry with slug, thumbnail, links
Landing page (index.md + zh/index.md) links to the subpage (if featured)
Thumbnail image exists for the project listing page (pages/projects.md)
.rs-thumb floating thumbnail added inside the landing section's .rs-text div
Use the existing subpages as ground-truth templates:
EN template: pages/projects/imaging-x.md or pages/projects/sam-med3d.md
ZH template: pages/zh/projects/imaging-x.md or pages/zh/projects/sam-med3d.md
When to Use This Skill
Trigger phrases / scenarios:
"Add a Starship subpage for [project name]"
"Create the GMAI-VL project page"
"我们来做 Section 2 的 Starship 子页"
"Update the SAM-Med3D page with new figures"
"Remove the imaging-x starship page"
"Change the Section 4 link to DTR-MAS"
Prerequisites: Collect Before Starting
Ask the user for (or derive from context):
Required
SLUG kebab-case identifier, e.g. "gmai-vl" → used in all file paths & URLs
SECTION homepage section number: 1 / 2 / 3 / 4
TITLE_EN English project title, e.g. "GMAI-VL"
TITLE_ZH Chinese project title, e.g. "GMAI-VL"
SUBTITLE_EN One-sentence italic subtitle (EN)
SUBTITLE_ZH One-sentence italic subtitle (ZH)
AREA_EN Short area label, e.g. "Medical Vision-Language Models"
AREA_ZH Short area label, e.g. "医学多模态大模型"
INSTITUTION_EN Lead institution + collaborators (EN)
INSTITUTION_ZH Lead institution + collaborators (ZH)
GITHUB_URL Full GitHub URL (or empty string if none)
ARXIV_ID arXiv ID, e.g. "2411.14522" (or empty if none)
INTRO_EN 2–3 paragraphs of introductory text (EN)
INTRO_ZH 2–3 paragraphs of introductory text (ZH)
HIGHLIGHTS List of 4 highlight objects (see format below)
CONCLUSION_EN Conclusion callout paragraph (EN)
CONCLUSION_ZH Conclusion callout paragraph (ZH)
CONTRIBUTIONS_EN 4 bullet points (EN)
CONTRIBUTIONS_ZH 4 bullet points (ZH)
AUTHORS_EN Full comma-separated author list; PI "Junjun He" bold in <strong>
AUTHORS_ZH Same list in ZH convention (usually same names)
IMAGES List of image filenames the user will supply (placed in assets/images/projects/{SLUG}/)
Highlight object format
{
number: "01"
title_en: "Short highlight title"
title_zh: "短标题"
body_en: "1–2 paragraph body text (EN)"
body_zh: "1–2 paragraph body text (ZH)"
figure_file: "filename.png" # image in assets/images/projects/{SLUG}/
caption_en: "Figure caption (EN)"
caption_zh: "Figure caption (ZH)"
loading: "eager" | "lazy" # eager for first figure, lazy for rest
}
Optional links
HUGGINGFACE_PAPER_URL (e.g. https://huggingface.co/papers/2411.14522)
HUGGINGFACE_DATASET_URL (e.g. https://huggingface.co/datasets/...)
DEMO_URL (live demo link)
LINK_BTN_TEXT_EXTRA custom label for extra button
Repository & Stack Quick Reference
Repo: git@github.com:uni-medical/gmai-web.git
Stack: Jekyll 4 · GitHub Pages · SCSS · No npm · No custom plugins
Local: export GEM_HOME="$HOME/.local/share/gem/ruby/3.2.0"
export PATH="$GEM_HOME/bin:$PATH"
bundle exec jekyll serve --baseurl "" --port 4001
Deploy: git push origin main → GitHub Actions auto-deploys
WSL2 note: jekyll --watch does NOT auto-regenerate on NTFS drives.
Must Ctrl+C and restart server after every file change.
Key file map
index.md EN homepage (4 research sections)
zh/index.md ZH homepage (mirrors EN, Chinese text)
pages/projects/{slug}.md EN project subpage ← CREATE THIS
pages/zh/projects/{slug}.md ZH project subpage ← CREATE THIS
assets/images/projects/{slug}/ Images for the project ← UPLOAD HERE
_data/publications.yml Publication metadata (authors, links)
_data/team.yml Team member data
_config.yml Site-wide settings (lab.pi_last = "He")
If user has provided image files, place them in this directory.
If images are pending, use the placeholder <div> pattern (see Image Placeholders section).
Step 2 — Write EN subpage
File: pages/projects/{SLUG}.md
Use the template in the EN Page Template section below.
Replace every {PLACEHOLDER} with the collected inputs.
Step 3 — Write ZH subpage
File: pages/zh/projects/{SLUG}.md
Use the template in the ZH Page Template section below.
Same structure, Chinese text, permalink /zh/projects/{SLUG}/.
Step 4 — Update EN homepage link
File: index.md
Find the Section corresponding to {SECTION} (use watermark number to locate):
<!-- grep pattern to find the right line -->
<div class="rs-watermark">{SECTION_PADDED}</div> e.g. 02
Within that section's <div class="rs-text"> block, find and replace the rs-link:
<!-- BEFORE (generic) --><ahref="{{ '/publications/' | relative_url }}"class="rs-link">View publications →</a><!-- AFTER (specific) --><ahref="{{ '/projects/{SLUG}/' | relative_url }}"class="rs-link">Explore {TITLE_EN} →</a>
Step 5 — Update ZH homepage link
File: zh/index.md
Same pattern as Step 4 but in the ZH file:
<!-- BEFORE (generic) --><ahref="{{ '/zh/publications/' | relative_url }}"class="rs-link">查看论文 →</a><!-- AFTER (specific) --><ahref="{{ '/zh/projects/{SLUG}/' | relative_url }}"class="rs-link">探索 {TITLE_ZH} →</a>
Use loading="eager" for the first/hero image only. All others use loading="lazy".
Homepage Landing Panel Reference
The landing page uses .rs-section blocks. Here is the minimal diff needed to wire
a new Starship page to an existing section. Only the .rs-link line changes:
<!-- Section 2 example, in index.md --><!-- BEFORE --><ahref="{{ '/publications/' | relative_url }}"class="rs-link">View publications →</a><!-- AFTER --><ahref="{{ '/projects/gmai-vl/' | relative_url }}"class="rs-link">Explore GMAI-VL →</a>
<!-- Section 2 example, in zh/index.md --><!-- BEFORE --><ahref="{{ '/zh/publications/' | relative_url }}"class="rs-link">查看论文 →</a><!-- AFTER --><ahref="{{ '/zh/projects/gmai-vl/' | relative_url }}"class="rs-link">探索 GMAI-VL →</a>
Do NOT touch anything else in the .rs-section blocks — tags, stats, body text,
and topics are independent of the subpage and are updated separately if needed.
Verification Checklist
After creating a Starship subpage, verify all of the following before committing:
EN subpage
[ ] curl http://localhost:4001/projects/{SLUG}/ → HTTP 200
[ ] <h1> contains correct title
[ ] All images load (no 404 in browser DevTools)
[ ] Resource link buttons present (GitHub, arXiv, etc.)
[ ] Authors section has Junjun He in <strong>
[ ] "← Back to Projects" link works
ZH subpage
[ ] curl http://localhost:4001/zh/projects/{SLUG}/ → HTTP 200
[ ] <h1> contains correct title
[ ] Content is in Chinese (not English copy-paste error)
[ ] "← 返回项目列表" link works
[ ] Breadcrumb links to /zh/projects/
Homepage integration
[ ] curl http://localhost:4001/ | grep "projects/{SLUG}" returns a match
[ ] curl http://localhost:4001/zh/ | grep "projects/{SLUG}" returns a match
[ ] Click-through on live site works (Section N → subpage)
Git
[ ] git status shows correct files staged
[ ] Commit message follows: feat: add {TITLE_EN} Starship subpage
[ ] git push origin main succeeds
[ ] GitHub Actions workflow passes (check Actions tab)
Notes on the GMAI Lab Jekyll Architecture
No custom plugins: All Liquid templates must use GitHub Pages whitelisted plugins only
Baseurl: In production the site is at /gmai-web/ (set in _config.yml); always use {{ '/path/' | relative_url }} filter, never hardcode paths
PI auto-bolding: The publication card (_includes/pub_card.html) auto-bolds site.lab.pi_last ("He") in author lists. On subpages, manually wrap <strong>Junjun He</strong> in the authors paragraph
SCSS layers: Homepage styles live in _sass/_home.scss; subpage interior styles in _sass/_components.scss. Subpages use inline styles to avoid class naming conflicts
Language system: Data files (_data/*.yml) are shared; UI strings are in _data/strings.yml keyed by en / zh; page language set by lang: front matter
WSL2 limitation: jekyll serve --watch does NOT detect file changes on NTFS mounts. After every file edit, restart the server manually (Ctrl+C → re-run command)
_ID}<ahref="https://arxiv.org/abs/{ARXIV_ID}"target="_blank"rel="noopener"class="pub-btn">arXiv Paper</a>{/IF}
<ahref="{{ '/projects/' | relative_url }}"class="pub-btn">← Back to Projects</a></div></div>