create-website
Scaffold a complete, self-contained Next.js 15 website with Tailwind CSS, TypeScript, and Vercel deployment.
Skill by Ability.ai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/abilityai-create-website
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, devops, cloud
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-website
Tools it pre-approves 21
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Write,Edit,Bash,Bash(gh*),Bash(vercelBash(npxGlob,Grep,AskUserQuestion,mcp__trinity__ask_operator,
Show 9 more
mcp__trinity__get_my_ask,mcp__trinity__withdraw_ask,mcp__vercel__deploy_to_vercel,mcp__vercel__list_teams,mcp__vercel__list_projects,mcp__vercel__get_project,mcp__vercel__list_deployments,mcp__vercel__get_deployment,mcp__vercel__get_deployment_build_logs
What's inside
- Skill name
create-website- Description
- Scaffold a complete, self-contained Next.js 15 website with Tailwind CSS, TypeScript, and Vercel deployment. Creates production-ready project structure with design system, components, pages, SEO, and content management — ready to deploy in minutes.
- License
- Apache-2.0
- Allowed tools
- Read,, Write,, Edit,, Bash,, Bash(gh, *),, Bash(vercel, *),, Bash(npx, *),, Glob,, Grep,, AskUserQuestion,, mcp__trinity__ask_operator,, mcp__trinity__get_my_ask,, mcp__trinity__withdraw_ask,, mcp__vercel__deploy_to_vercel,, mcp__vercel__list_teams,, mcp__vercel__list_projects,, mcp__vercel__get_project,, mcp__vercel__list_deployments,, mcp__vercel__get_deployment,, mcp__vercel__get_deployment_build_logs
- Metadata
- author: Ability.ai · mirror: abilities@e5a28ea plugins/create-agent/skills/website · created: 2026-03-25 · updated: 2026-10-21 · version: 1.4
- Instructions
- 697 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
- Instructions call the network
Agent Skills spec issues
- body: 697 lines (spec recommends under 500)
Files (2)
- SKILL.md
- reference.md
SKILL.md (first lines)
# Create Website
> ℹ️ **First, set expectations:** before anything else, print one short line with this skill's version and its most recent change — the top entry of `metadata.changelog` above — e.g. `create-website vX.Y — recent: <summary>`. Then proceed.
Scaffold a complete, production-ready Next.js 15 website deployable to Vercel.
> For tech stack details and component patterns, see [reference.md](./reference.md).
---
## HEADLESS MODE (read first)
You are **headless** when the `AskUserQuestion` tool is not available — typically when this wizard runs inside a deployed Trinity agent (a website-builder agent) rather than a person's Claude Code session. Interactive sessions ignore this section entirely.
In headless mode every `AskUserQuestion` below is replaced by these rules:
1. **The brief is the answer.** Take project name, what the site is, pages, brand name, tagline, colour, languages and design direction from the argument. Defaults: project name = the brand name in lowercase-with-hyphens; pages = Home + About + Contact; destination = `~/sites` (each site is its own git repo there, never inside the agent's own repo); design direction = the preset the brief's wording best matches (dark/bold → Bold Dark, friendly/warm/local business → Warm Professional, else Minimal Clean); Studio = **yes** only if the brief says the owner wants to edit the site themselves, else no; GitHub repo = **private**, created; deploy = **yes**.
2. **Decorative choices take the default silently** — section order, copy tone, icons, fonts. Write real, specific copy from the brief; never lorem ipsum.
3. **Real gaps go out as ONE ask, never as guesses.** A real gap is something the site cannot be honest without and the brief does not say — usually only the brand name or what the business actually does. Prices, addresses, phone numbers, team names are **never invented**: leave the section out or mark it `TBD` in the content JSON and list it in the summary. If there is a real gap, raise a single `mcp__trinity__ask_operator` — `request_id: "create-website:[project-name]:gaps"`, `type: "question"`, `title: "[Brand] website — N details needed before I build it"` (≤120 chars), `question`: the numbered gaps, each with the default you would use. Write `~/sites/[project-name].pending.md` (the brief + the request_id + the gap list), say you are waiting on the ask, and **end the turn**. On the next invocation for the same site (the argument names it, or says `resume`; or exactly one `~/sites/*.pending.md` exists and the argument reads as an answer), read the pending file and `mcp__trinity__get_my_ask(request_id)`: answered → merge and continue from Step 3; cancelled or dismissed → stop and say so; expired → continue on the stated defaults and list them as assumptions in the summary; still pending and the new brief answers it → `mcp__trinity__withdraw_ask(request_id, reason)` then continue; still pending with nothing new → end the turn. No `mcp__trinity__ask_operator` tool (not on Trinity) → build on the defaults and list them as assumptions.
4. **No interactive login, ever.** `gh auth login` and `vercel login` open a browser and cannot work in a container. Use the keys the agent already holds — GitHub: `GITHUB_TOKEN` in the environment, else the platform git credential (Step 15); Vercel: `VERCEL_TOKEN` (Step 17a). A missing key is not a reason to stop building: finish the site, commit it, do every step the held keys allow, then say in the summary exactly which key is missing and that a person adds it in the agent's settings as a credential (`VERCEL_TOKEN` from vercel.com/account/tokens; a GitHub fine-grained token with Contents + Administration read/write). Never ask for a token in chat.
5. **Use `npx --yes vercel@latest`** wherever the steps below say `vercel` — the container may not allow a global npm install.
6. **Editing an existing site.** If `~/sites/[project-name]` already exists, this is an edit, not a new build: change the content JSON (or the component, for a layout change), `npm run build`, commit, push, redeploy (Step 17a), and report the live URL. Never re-scaffold over it.
---
## Workflow
### Step 1: Gather Requirements
If `$ARGUMENTS` contains a project name or description, use it as context. Otherwise, ask:
Use AskUserQuestion:
- **Question:** "What website are you building?"
- **Header:** "Website Builder"
- Gather these details (ask in one prompt, not separately):
1. **Project name** — lowercase-with-hyphens (used for directory and package name)
2. **What is it?** — One sentence: company site, SaaS landing page, portfolio, docs site, agency site, etc.
3. **Pages needed** — Homepage + what else? (about, pricing, blog, contact, etc.)
4. **Brand basics** — Company/product name, tagline, primary color (hex or description like "deep blue")
5. **Destination** — Where to create the project directory (default: `./$PROJECT_NAME`)
If the description mentions more than one language, also ask **which languages
and which is canonical** — a multilingual site switches the content layer and
Studio to the multilingual variant
([reference.md → Multilingual sites](./reference.md#multilingual-sites-variant)).
### Step 2: Choose Design Direction
Use AskUserQuestion:
- **Question:** "Pick a design direction:"
- **Header:** "Design System"
- Show these options:
1. **Minimal Clean** — White/light background, subtle borders, no gradients. Swiss-inspired.
2. **Bold Dark** — Dark background, vivid accents, glassmorphism cards.
3. **Warm Professional** — Warm neutrals, rounded shapes, friendly and approachable.
4. **Custom** — I'll describe what I want.
Map the choice to CSS variable values in Step 4.
### Step 3: Initialize Project
```bash
mkdir -p $DESTINATION && cd $DESTINATION
npx create-next-app@latest $PROJECT_NAME \
--typescript \
--tailwind \
--eslint \
--app \
--src-dir=false \
--import-alias="@/*" \
--use-npm \
--yes
```
Wait for completion, then:
```bash
cd $DESTINATION/$PROJECT_NAME
npm install motion lucide-react clsx tailwind-merge
```
### Step 4: Create Design System
Create `app/globals.css` with semantic CSS variables based on the chosen design direction.
Follow the pattern from [reference.md — Design System Variables](./reference.md#design-system-variables). Key variables to define:
- **Backgrounds:** `--bg-page`, `--bg-card`, `--bg-button-primary`, `--bg-button-secondary`
- **Text:** `--text-primary`, `--text-muted`, `--text-inverse`
- **Borders:** `--border-subtle`, `--border-light`
- **Accents:** `--accent-primary`, `--accent-secondary`
- **Typography scale:** display, h1, h2, h3, body, small (see reference.md)
- **Spacing:** section padding for mobile/desktop
- **Radius:** `--radius-sm`, `--radius-md`, `--radius-lg`, `--radius-full`
Also update `tailwind.config.ts` to reference these CSS variables and add common animations (fade-up, fade-in, blur-fade). See [reference.md — Tailwind Config](./reference.md#tailwind-config).
### Step 5: Create Utility Functions
Create `lib/utils.ts`:
```typescript
import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
```
### Step 6: Create Core Layout Components
Create these files following patterns in [reference.md — Components](./reference.md#core-components):
1. **`components/layout/header.tsx`** — Sticky header with logo, navigation links, CTA button. Mobile hamburger menu.
2. **`components/layout/footer.tsx`** — Footer with columns: company info, navigation, legal links, copyright.
3. **`components/layout/mobile-menu.tsx`** — Slide-out mobile navigation.
4. **`components/ui/button.tsx`** — Primary and secondary button variants using design system variables.
5. **`components/ui/container.tsx`** — Max-width centered container with responsive padding.From Abilityai/trinity-skills, Apache-2.0.
More from Abilityai/trinity-skills
- 0.570score
explain-visually
Ability.ai
Explain a complex topic back to you with visuals - the right diagram for each facet (flowchart, timeline, sequence, schema/ER, state machine, chart…
SkillAFreshness: AClaude Code - 0.570score
animated-explainer
Ability.ai
Build an animated, data-driven explainer film for a real system — a canvas film that renders live from the product's own data and cannot drift, not an…
SkillAFreshness: AClaude Code - 0.570score
file-indexer
Abilityai
Generate a comprehensive file system index with directory tree, file sizes, and modification dates.
SkillAFreshness: AClaude Code +9 - 0.567score
gemini-critic
Ability.ai
Ask Gemini's most powerful model for an independent second opinion - critique code with fresh eyes, evaluate an article, challenge a plan.
SkillAFreshness: AClaude Code +9 - 0.566score
agent-fleet-analysis
Ability.ai
Scan one or more directories of agents in ANY paradigm — Claude Code, n8n workflow exports, framework apps (LangChain/CrewAI/AutoGen), or freeform-coded…
SkillAFreshness: AClaude Code +9 - 0.565score
add-pipeline
Ability.ai
Scaffold a Trinity-compatible long-running pipeline inside any agent — creates projects/<slug>/{project.md, pipeline.yaml, instances/}, copies…
SkillAFreshness: AClaude Code - 0.565score
document-extractor
Abilityai
Extracts key information from documents (PDFs, images, text files) in a folder and creates structured markdown summaries with the same filename but .md…
SkillAFreshness: AClaude Code +9 - 0.561score
autoplan
Ability.ai
Analyze a skill issue before implementing — reads the affected SKILL.md, identifies what changes are needed and any risks
SkillAFreshness: AClaude Code +9 - 0.561score
close
Ability.ai
Close the current issue without a git commit — adds summary comment and marks done.
SkillAFreshness: AClaude Code +9 - 0.561score
create-explanatory-image
Ruby
Generate explanatory diagrams and infographics that visually communicate concepts.
SkillAFreshness: AClaude Code +9 - 0.561score
create-playbook
Ability.ai
Create a new skill or playbook.
SkillAFreshness: AClaude Code +9 - 0.561score
add-git-sync
Ability.ai
Add git-as-state hooks to an agent — auto-commits on Stop, rebases on SessionStart, snapshots on PreCompact.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 1
- Last commit (this folder)
- Oct 21, 2026 (7 days ago)
- Last release
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.4
- License
- Apache-2.0
- Repository
- github.com/Abilityai/trinity-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Ability.ai
- 0.570score
animated-explainer
Ability.ai
Build an animated, data-driven explainer film for a real system — a canvas film that renders live from the product's own data and cannot drift, not an…
SkillAFreshness: AClaude Code - 0.570score
explain-visually
Ability.ai
Explain a complex topic back to you with visuals - the right diagram for each facet (flowchart, timeline, sequence, schema/ER, state machine, chart…
SkillAFreshness: AClaude Code - 0.567score
gemini-critic
Ability.ai
Ask Gemini's most powerful model for an independent second opinion - critique code with fresh eyes, evaluate an article, challenge a plan.
SkillAFreshness: AClaude Code +9 - 0.566score
agent-fleet-analysis
Ability.ai
Scan one or more directories of agents in ANY paradigm — Claude Code, n8n workflow exports, framework apps (LangChain/CrewAI/AutoGen), or freeform-coded…
SkillAFreshness: AClaude Code +9 - 0.565score
add-pipeline
Ability.ai
Scaffold a Trinity-compatible long-running pipeline inside any agent — creates projects/<slug>/{project.md, pipeline.yaml, instances/}, copies…
SkillAFreshness: AClaude Code - 0.561score
create-playbook
Ability.ai
Create a new skill or playbook.
SkillAFreshness: AClaude Code +9
Cite this page
create-website skill. Agent Mart. https://agentmart.dev/skills/abilityai-create-website (last updated 2026-10-24)