Skip to content
internal-links logo

Internal Links

internal-links

Connect all buttons and links to pages or same-page sections. Ensures every CTA has a valid href, uses Next.js Link component, and adds section IDs for anchor links.

SKILL.md

Full skill instructions

Internal Links

Ensure all buttons and links in a page connect to valid destinations - either other pages or sections on the same page.

Workflow

  1. Read Page File - Identify all section components
  2. For Each Section:
    • Find all <Button> components
    • Find all <a> or <Link> elements
    • Verify each has a valid href
  3. Add Missing Links - Wrap buttons with <Link> as needed
  4. Add Section IDs - For same-page anchor targets
  5. Update i18n - Add CTA text if missing

INPUT Required

When running this skill, you need:

  • Page route (e.g., /, /​leistungen)
  • Site pages from docs/​sitemap.md

Button Link Pattern

All buttons must be wrapped with Next.js <Link>:

// CORRECT: Button with Link
<Button asChild>
  <Link href="/​kontakt">{t("cta")}</​Link>
</​Button>

// CORRECT: Button with anchor link
<Button asChild>
  <Link href="#pricing">{t("cta")}</​Link>
</​Button>

// WRONG: Button without link
<Button>{t("cta")}</​Button>

// WRONG: Button with onClick only
<Button onClick={handleClick}>{t("cta")}</​Button>

Link Types

1. Page Links

Link to other pages in the site:

<Link href="/​kontakt">Contact</​Link>
<Link href="/​leistungen">Services</​Link>
<Link href="/​projekte">Portfolio</​Link>
<Link href="/​ueber-uns">About</​Link>

2. Anchor Links (Same Page)

Link to sections on the same page:

<Link href="#pricing">View Pricing</​Link>
<Link href="#faq">FAQ</​Link>
<Link href="#contact">Get in Touch</​Link>

Requires: Target section must have matching id:

<section id="pricing" className="py-16 lg:py-24">
<section id="faq" className="py-16 lg:py-24">

3. Page + Anchor Links

Link to a section on another page:

<Link href="/​leistungen#webdesign">Web Design Services</​Link>
<Link href="/​kontakt#form">Contact Form</​Link>

Common CTA Destinations

SectionPrimary CTASecondary CTA
Hero/​kontakt/​projekte or #features
Features/​leistungen#pricing
Pricing/​kontakt-
CTA/​kontakt-
Projects/​projekte/​kontakt
FAQ/​kontakt-

Section IDs

Add id to sections that are anchor link targets:

// Homepage sections
<section id="features" ...>
<section id="process" ...>
<section id="pricing" ...>
<section id="projects" ...>
<section id="testimonials" ...>
<section id="faq" ...>
<section id="contact" ...>

ID Naming Convention

Use lowercase, hyphenated names matching the section purpose:

Section ComponentID
Feature56features
Feature207process
Pricing8pricing
Projects5projects
Testimonial4testimonials
Faq9faq
Cta21contact

Checklist Per Section

For each section, verify:

  • All <Button> components have asChild prop
  • All buttons are wrapped with <Link href="...">
  • href points to valid page or #sectionId
  • If anchor link, target section has matching id
  • Button text is from i18n ({t("cta")})

Example Fixes

Fix 1: Button Without Link

Before:

<Button size="lg">
  {t("cta")}
</​Button>

After:

<Button asChild size="lg">
  <Link href="/​kontakt">{t("cta")}</​Link>
</​Button>

Fix 2: Add Section ID for Anchor

Before (button):

<Button asChild>
  <Link href="#pricing">{t("viewPricing")}</​Link>
</​Button>

Before (section - missing id):

<section className="py-16 lg:py-24">

After (section - with id):

<section id="pricing" className="py-16 lg:py-24">

Fix 3: Scroll Hint Button

Before:

<Button variant="link" className="text-white">
  <span>{t("scrollHint")}</​span>
  <ArrowDown className="size-4" />
</​Button>

After:

<Button asChild variant="link" className="text-white">
  <Link href="#features">
    <span>{t("scrollHint")}</​span>
    <ArrowDown className="size-4" />
  </​Link>
</​Button>

Import Requirements

Ensure sections have the Link import:

import Link from "next/​link";

Output

After running this skill, report:

  • Number of buttons linked
  • Section IDs added
  • List of link destinations used

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
A
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View