一键导入
new-landing-page
Scaffold a new landing site page following i18n patterns (shared component + EN/VI wrappers + translation keys)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scaffold a new landing site page following i18n patterns (shared component + EN/VI wrappers + translation keys)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use after implementing any new feature or modifying existing features — audits and updates all related docs, landing pages, help categories, steering docs, changelog, and i18n before declaring work complete
SPEC methodology workflow - bridging product requirements and technical implementation. Use when users want to create, plan, discuss, or manage feature specifications. Triggers on /spec commands or requests like "create a spec for X", "plan feature Y", "discuss requirements".
Scaffold a new Discord slash command following project patterns
| name | new-landing-page |
| description | Scaffold a new landing site page following i18n patterns (shared component + EN/VI wrappers + translation keys) |
Create a new page for the Astro landing site at landing/ with proper i18n support.
The user will provide:
<title> taglanding/src/components/pages/{Name}Page.astrolanding/src/pages/{name}.astrolanding/src/pages/vi/{name}.astrolanding/src/i18n/ui.tslanding/src/pages/{name}.astro---
import BaseLayout from "../../layouts/BaseLayout.astro";
import { useTranslations, useTranslatedPath } from "../../i18n/utils";
import type { Lang } from "../../i18n/utils";
interface Props {
lang: Lang;
}
const { lang } = Astro.props;
const t = useTranslations(lang);
const tp = useTranslatedPath(lang);
const hreflang = [
{ lang: "en", href: "/{name}" },
{ lang: "vi", href: "/vi/{name}" },
];
---
<BaseLayout title={`${t("{name}.title")} | 3AT - Endless Paradox`} lang={lang} hreflang={hreflang}>
<div class="container">
<!-- Page content using t() for all text -->
</div>
</BaseLayout>
<style>
/* Scoped styles only — use CSS variables from global.css */
</style>
---
// landing/src/pages/{name}.astro (EN)
import {Name}Page from "../components/pages/{Name}Page.astro";
---
<{Name}Page lang="en" />
---
// landing/src/pages/vi/{name}.astro (VI)
import {Name}Page from "../../components/pages/{Name}Page.astro";
---
<{Name}Page lang="vi" />
Add to landing/src/i18n/ui.ts in BOTH en and vi sections:
// In en section:
"{name}.title": "Page Title",
"{name}.subtitle": "Page subtitle text",
// In vi section:
"{name}.title": "Tiêu đề trang",
"{name}.subtitle": "Mô tả phụ đề trang",
t() for user-facing text — never hardcode stringsui.ts<style> — never add to global.cssvar(--accent), var(--bg-primary), var(--text-secondary), etc.lang to all child components that accept ituseTranslatedPath() for all internal linksNavbar.astro and Footer.astro with translated entriesAfter scaffolding, verify:
components/pages/pages/pages/vi/ui.tsnpm run build passes in landing/ directory