원클릭으로
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