copywriting
Marketing copy for homepages, landing pages, pricing pages, and other conversion-focused web pages.
vike-skills
Use when building or working with Vike + Vue SSR/SSG applications - establishes best practices for page creation, data fetching, routing, and layouts
Full skill instructions
Core principle: Build fast, SEO-friendly Vue applications with server-side rendering using Vike's flexible architecture.
Always use when:
+data hooksDon't use for:
When creating a new page, use TodoWrite to track:
+Page.vue component+data.js if page needs data fetchinguseData() to access data in component+guard.js if page requires authentication+title, +description) for SEOthrow render() or throw redirect()clientOnly() for browser-only components+Page.vue component - The page's Vue componentuseData() not direct pageContextexport type Data = Awaited<ReturnType<typeof data>>throw render(404) for missing resources<slot /> to render nested content+datathrow redirect('/login') or throw render(401)<!-- /pages/movies/+Page.vue -->
<script setup lang="ts">
import { useData } from 'vike-vue/useData'
import type { Data } from './+data'
const { movies } = useData<Data>()
</script>
<template>
<h1>Movies</h1>
<ul>
<li v-for="movie in movies" :key="movie.id">
{{ movie.title }}
</li>
</ul>
</template>
// /pages/movies/+data.ts
export type Data = Awaited<ReturnType<typeof data>>
export async function data() {
const movies = await fetchMovies()
return { movies }
}
<!-- /pages/+Layout.vue -->
<script setup>
import Navigation from '../components/Navigation.vue'
</script>
<template>
<Navigation />
<main>
<slot />
</main>
</template>
// /pages/admin/+guard.ts
import { redirect } from 'vike/abort'
export async function guard(pageContext) {
if (!pageContext.user) {
throw redirect('/login')
}
if (!pageContext.user.isAdmin) {
throw render(403, 'Admin access required')
}
}
| File | Purpose |
|---|---|
+Page.vue | Page component |
+Layout.vue | Layout wrapper |
+data.ts | Server-side data fetching |
+guard.ts | Route protection |
+config.ts | Page/directory configuration |
+title.ts | Page title |
+Head.vue | Custom head tags |
| Suffix | Runs On |
|---|---|
.server.ts | Server only (default for +data) |
.client.ts | Client only |
.shared.ts | Both server and client |
window or document in SSR code without clientOnly()passToClient for server data needed on client+data instead)+data hooksthrow (they must throw, not return)<slot /> for children| Excuse | Reality |
|---|---|
| "I'll add SEO later" | Missing titles hurt from day one |
| "Guards can return false" | Guards must throw redirect() or throw render() |
| "I can access window in +data" | +data runs on server by default |
| "pageContext has everything" | Use useData() for type-safe data access |
Vike configs cascade down the directory tree:
pages/
+config.ts # Applies to ALL pages
+Layout.vue # Global layout
(marketing)/
+Layout.vue # Nested inside global layout
about/+Page.vue # Has both layouts
admin/
+guard.ts # Applies to all admin pages
+config.ts # Admin-specific config
users/+Page.vue # Protected by guard
With client routing, these are automatically available client-side:
pageContext.PagepageContext.datapageContext.configpageContext.routeParamspageContext.urlOriginalpageContext.urlPathnamepageContext.urlParsedFor custom properties (like user), add to +config.ts:
export default {
passToClient: ['user']
}
Every Vike + Vue page must have:
1. +Page.vue component
2. +data.ts for server data (if needed)
3. useData() for type-safe data access
4. Error handling for edge cases
5. SEO tags for public pages
Follow these principles for fast, SEO-friendly Vue applications.
Marketing copy for homepages, landing pages, pricing pages, and other conversion-focused web pages.
Fast image generation with Flux 2 Klein, optimized for sub-second iteration and multi-reference brand styling.
Psychological principles and mental models for understanding customer behavior and influencing marketing decisions.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Optimize content for discovery, citation, and visibility across AI search platforms and LLM assistants.
Systematic improvement of existing marketing copy through seven focused editing passes.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Convert websites into professional HyperFrames videos with guided storyboarding and brand-aligned composition.
Revolutionize Video Creation with AI-Generated Avatars and Voices
Social media on autopilot
Design custom logos instantly with AI.
Text-heavy marketing and design images
Boost Your SEO with Content and SEO Silos
Revolutionize Your Marketing with AI-Powered MarketingBlocks!
10X faster & free AI content creation for 100+ use cases
Tribescaler | Make Your Tweets Go Viral