Skip to content
grove-vineyard logo

Grove Vineyard Skill

grove-vineyard

Build a Vineyard showcase page for any Grove property using @autumnsgrove/groveengine/vineyard components. Vineyard is the consistent /vineyard route where each tool demos its features, documents its API, and shows its roadmap. Use when creating or updating a property's vineyard page.

SKILL.md

Full skill instructions

Grove Vineyard Skill

When to Activate

Activate this skill when:

  • Creating a /​vineyard route for a Grove property
  • Adding features or demos to an existing vineyard page
  • User mentions "vineyard", "showcase page", or "tool demo page"
  • Implementing feature cards, roadmaps, or demo containers for a tool

What Is Vineyard?

Every Grove property implements a /​vineyard route on its subdomain — a consistent way to explore what each tool does, see working demos, and understand the roadmap.

amber.grove.place/​vineyard      → Storage showcase
ivy.grove.place/​vineyard        → Email client showcase
foliage.grove.place/​vineyard    → Theming showcase
meadow.grove.place/​vineyard     → Social layer showcase
heartwood.grove.place/​vineyard  → Auth showcase
forage.grove.place/​vineyard     → Domain discovery showcase

Package

Vineyard lives inside the GroveEngine monorepo at packages/​vineyard and is re-exported through the engine. No separate install needed — it comes with GroveEngine.

import { VineyardLayout, FeatureCard, StatusBadge, ... } from '@autumnsgrove/​groveengine/​vineyard';

Available Components

ComponentPurpose
VineyardLayoutFull page wrapper — hero, status badge, philosophy quote, related tools footer
FeatureCardShowcase a feature with icon, status, description, and optional demo slot
StatusBadgeStatus pill: ready, preview, demo, coming-soon, in-development
DemoContainerWrapper for interactive demos with mock data indicator
CodeExampleCode block with language label, filename, and copy-to-clipboard
TierGateTier-based access control with blur preview and upgrade prompt
RoadmapSectionVisual timeline: built / in-progress / planned
AuthButtonBetter Auth sign in/​out button
UserMenuUser profile menu with avatar and email

Types

type VineyardStatus = 'ready' | 'preview' | 'demo' | 'coming-soon' | 'in-development';
type GroveTool = 'amber' | 'ivy' | 'foliage' | 'meadow' | 'rings' | 'trails' | 'heartwood' | 'forage';
type GroveTier = 'seedling' | 'sapling' | 'oak' | 'grove';

Minimal Implementation

Create src/​routes/​vineyard/​+page.svelte:

<script lang="ts">
  import {
    VineyardLayout,
    FeatureCard,
    RoadmapSection,
    DemoContainer
  } from '@autumnsgrove/​groveengine/​vineyard';
</​script>

<VineyardLayout
  tool="amber"
  tagline="Your files, preserved"
  status="preview"
>
  <!-- Feature Cards -->
  <div class="feature-grid">
    <FeatureCard
      title="Storage Overview"
      description="See usage across posts and media"
      status="ready"
      icon="HardDrive"
    />

    <FeatureCard
      title="File Browser"
      description="Browse and manage uploaded files"
      status="ready"
      icon="FolderOpen"
    />

    <FeatureCard
      title="Export Your Data"
      description="Download everything in one click"
      status="coming-soon"
      icon="Download"
    />
  </​div>

  <!-- Roadmap -->
  <RoadmapSection
    built={['Core storage view', 'Usage breakdown', 'File browser']}
    inProgress={['Export functionality']}
    planned={['Bulk delete', 'Storage alerts', 'External backup']}
  />
</​VineyardLayout>

<style>
  .feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 3rem;
  }
</​style>

Component Details

VineyardLayout

Handles the full page structure automatically:

  • Hero: Tool name (capitalized from tool prop), tagline, status badge, philosophy quote
  • Content: Renders children in a max-width container with padding
  • Footer: "Works well with" section linking related tools' vineyards
<VineyardLayout tool="ivy" tagline="Messages that grow on you" status="in-development">
  <!-- All your content goes here -->
</​VineyardLayout>

The philosophy quotes and related tool mappings are built-in. No configuration needed.

FeatureCard

Icons are any valid lucide-svelte icon name as a string:

<FeatureCard
  title="Theme Picker"
  description="Choose from curated seasonal themes"
  status="ready"
  icon="Palette"
>
  {#snippet demo()}
    <!-- Optional: interactive demo renders below the description -->
    <ThemePicker themes={sampleThemes} />
  {/​snippet}
</​FeatureCard>

DemoContainer

Wraps interactive demos with a header, description, and optional "Mock Data" indicator:

<DemoContainer
  title="Email Composer"
  description="Try the rich text editor"
  mockData={true}
>
  <RichTextEditor value={sampleDraft} />
</​DemoContainer>

When mockData={true}:

  • Shows a blue "Mock Data" pill in the header
  • Adds a dashed blue border around the demo content

CodeExample

Code blocks with copy-to-clipboard and language/​filename labels:

<CodeExample language="typescript" filename="src/​routes/​+layout.svelte">
{`import { initAmber } from '@autumnsgrove/​amber';

const storage = initAmber({
  tenant: 'my-site',
  tier: 'sapling'
});`}
</​CodeExample>

TierGate

Shows content only if user meets tier requirement. Otherwise shows blur preview + upgrade prompt:

<TierGate required="oak" current={userTier} showPreview={true}>
  <AdvancedStoragePanel />

  {#snippet fallback()}
    <!-- Optional custom fallback (default shows upgrade button) -->
    <p>Upgrade to Oak for advanced storage features</​p>
  {/​snippet}
</​TierGate>

Tier hierarchy: seedling < sapling < oak < grove

RoadmapSection

Three-column (desktop) / stacked (mobile) timeline:

<RoadmapSection
  built={['Feature A', 'Feature B']}
  inProgress={['Feature C']}
  planned={['Feature D', 'Feature E']}
/>
  • Built items get green dots
  • In-progress items get pulsing orange dots
  • Planned items get hollow gray circles

Authentication

<script>
  import { AuthButton, UserMenu, getSession } from '@autumnsgrove/​groveengine/​vineyard';
  import { onMount } from 'svelte';

  let user = $state(null);

  onMount(async () => {
    const session = await getSession();
    user = session.user;
  });
</​script>

{#if user}
  <UserMenu showAvatar={true} showEmail={true} />
{:else}
  <AuthButton provider="google" signInText="Sign in to explore" />
{/​if}

Status Badge Meanings

StatusVisualUse When
readyGreen solid pillFeature is complete and stable
previewAmber dashed borderFunctional but API may change
demoBlue solid pillInteractive example, not real data
coming-soonGray subtle pillDesigned but not built yet
in-developmentOrange pulsing pillActively being built right now

Design System

Vineyard components use Grove's built-in aesthetic:

  • Colors: Amber tones (#f59e0b, #d97706) on stone neutrals
  • Glass: Semi-transparent backgrounds with backdrop-blur
  • Typography: Lexend font (loaded by VineyardLayout)
  • Interactions: Hover lift on cards, smooth transitions

No additional styling framework needed — components are self-contained with scoped CSS.

Content Strategy

For Ready Tools

  • Working demos with real or realistic mock data
  • Complete feature cards with all statuses "ready"
  • Full code examples and API reference
  • Getting started guide

For Preview/​In Development Tools

  • Mix of "ready" and "coming-soon" feature cards
  • Demo containers with mockData={true}
  • Roadmap section showing progress
  • TierGate for features not yet available

For Coming Soon Tools

  • Minimal vineyard: VineyardLayout + philosophy + roadmap
  • All feature cards as "coming-soon"
  • No interactive demos needed yet

Checklist

Before shipping a vineyard page:

  • VineyardLayout with correct tool, tagline, and status
  • At least 3 FeatureCard components with appropriate statuses
  • RoadmapSection with honest built/​inProgress/​planned arrays
  • At least one interactive demo (even with mock data)
  • Works on mobile (feature grid responsive)
  • Icons are valid lucide-svelte names
  • Status badges accurately reflect feature state

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View