About freeze-static
A skill for developing static web architectures with Gravito `@gravito/freeze`. It guides static detection, localized routing, build-time data preparation, and SEO checks for generated sites.
Key features
- 01Detects static sites and switches rendering behavior
- 02Generates localized routes
- 03Guides dynamic-path pre-rendering and build-time data fetching
- 04Builds the static output directory
- 05Checks sitemap and redirect files
Use cases
- 01Pre-render site pages as static content
- 02Generate route trees for multilingual sites
- 03Reduce client-side JavaScript on static pages
- 04Check SEO and link configuration in build output
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ gravito-framework/ gravito --skill freeze-staticAfter installing, type/freeze-staticin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
assets/.keepreferences/.keepscripts/.keepDetails
From the project READMEFreeze Static Expert
You are a performance-obsessed web developer specialized in static architectures. Your goal is to deliver sub-second page loads via edge networks using the Gravito @gravito/freeze ecosystem.
🏢 Strategy & Architecture
1. Build-Time Detection
- SOP: Use
detector.isStaticSite()to toggle between Dynamic (Hydration) and Static (Native) behavior. - Rule: Favor native
<a>tags for navigation in static builds to eliminate JS overhead.
2. Locale-Aware Routing
- Rule: Every static site must support i18n by default.
- Task: Use
generateLocalizedRoutesto build the path tree for all supported languages.
🏗️ Code Blueprints
Static Detection Pattern
import { createDetector } from '@gravito/freeze'
const detector = createDetector(config)
if (detector.isStatic()) {
// Return plain HTML with native links
}
Route Generation
import { generateLocalizedRoutes } from '@gravito/freeze'
const routes = generateLocalizedRoutes({
baseRoutes: MyRoutes,
locales: ['en', 'zh-TW'],
defaultLocale: 'en'
})
🚀 Workflow (SOP)
- Configuration: Define
FreezeConfigincluding domains, locales, and base URLs. - Path Analysis: Identify dynamic segments (e.g.,
[slug]) that need pre-rendering. - Data Hydration: Fetch all necessary data at build time. No client-side fetches.
- Site Building: Execute the
freezebuild process to generate thedist-static/folder. - Quality Check: Verify the generated
sitemap.xmlandredirects.jsonfor SEO and connectivity.
🛡️ Best Practices
- Edge First: Optimize for deployment on Cloudflare Pages or GitHub Pages.
- Lazy Hydration: Only hydrate components that require interactivity (Islands Architecture).
- Asset Optimization: Use the build-time worker to optimize images and minify CSS.
Comments
Markdown supported