本文へ移動
cccskills
無料GitHub で公開

pellicola

Generate cinematic case study pages for films, documentaries, photography portfolios, and creative projects — film-frame hero images, structured crew credit grids, dark footage galleries, festival award sections, scroll-choreographed reveals via data-attribute animation orchestration. Warm cream palette with analog typography. Single-file HTML, zero build step. Triggers on film case study, documentary showcase, filmmaker portfolio, production company website, film credits page, creative project case study, director portfolio, photography case study.

インストール方法を見る

含まれるファイル(15)

  • SKILL.md11.6 KB
  • assets/templates/case-study.html25.0 KB
  • assets/templates/credits-grid.html7.8 KB
  • assets/templates/footage-gallery.html6.6 KB
  • assets/templates/hero-section.html6.5 KB
  • README.md7.9 KB
  • references/animation-system.md8.0 KB
  • references/anti-patterns.md3.1 KB
  • references/color-system.md3.7 KB
  • references/component-catalog.md16.4 KB
  • references/design-tokens.md5.9 KB
  • references/page-architecture.md9.2 KB
  • references/typography-pairing.md5.0 KB
  • scripts/pellicola_generator.py4.3 KB
  • scripts/validate_pellicola.py5.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Build cinematic case study pages — the kind you see on film production company sites, documentary showcases, and photographer portfolios. Warm analog palette, domain-specific components, scroll-choreographed reveals. Single-file HTML, zero build step.

"Pellicola" is Italian for film — literally "little skin," the celluloid stock.

Creative Direction

The aesthetic is analog cinema on the web — warm cream backgrounds like unbleached paper stock, deep ink-black text, a single red accent reserved exclusively for the play button. Typography pairs a dramatic display serif (headlines, names) with a precise geometric sans (labels, navigation). Every image is framed like a film still — cream padding, rounded corners, subtle shadow creating a polaroid/celluloid look.

If the minoan-frontend-design skill is available, read it for broader aesthetic principles. Pellicola encodes those principles into a concrete design system for the cinematic case study genre. Pages built with Pellicola should score 16+/20 on /design-audit and 28+/40 on /design-critique.

Name the conceptual direction before coding. Default: "analog screening room." Override with project-specific direction when appropriate — "70mm documentary," "festival press kit," "darkroom portfolio."

Quick Start

# Generate a full case study page
python3 scripts/pellicola_generator.py --mode case-study --title "Taboo" --output taboo.html

# Generate just the hero section
python3 scripts/pellicola_generator.py --mode hero --title "Ana Maxim" --output hero.html

# Generate a credits grid
python3 scripts/pellicola_generator.py --mode credits --output credits.html

# Generate a dark footage gallery
python3 scripts/pellicola_generator.py --mode gallery --output gallery.html

# Validate a pellicola page
python3 scripts/validate_pellicola.py output.html

Or let Claude generate directly from the templates and references.

Modes

ModeTemplateWhat it generates
case-studyassets/templates/case-study.htmlFull page: hero + credits + footage gallery + prizes + investors + next-project
heroassets/templates/hero-section.htmlFilm-frame hero + title overlay + play button only
creditsassets/templates/credits-grid.htmlCredit grid + director portrait card only
galleryassets/templates/footage-gallery.htmlDark gallery section only (reusable dark image grid)

Components (9)

ComponentClass PrefixWhat it renders
pel-hero.pel-heroFilm-frame image with title overlay, genre label, play button, down arrow
pel-credit-grid.pel-creditsRole/name pairs in bordered grid (2-3 columns), tracked small caps roles
pel-director-card.pel-directorCropped portrait with dark overlay, display serif name, small caps role
pel-context-widget.pel-widgetSticky top-right nav: thumbnail, title, metadata tags, dropdown
pel-play-button.pel-playRed circle + play triangle + text reveal on hover
pel-gallery.pel-galleryDark-background masonry image grid with hover scale + brightness shift
pel-prizes.pel-prizesFestival award logos + names in grid layout
pel-next-project.pel-nextLarge typography + image preview for adjacent case study navigation
pel-section-divider.pel-dividerLabeled line divider between content sections

Copy-paste HTML snippets for every component: references/component-catalog.md.

Color System

All components read from --pel-* CSS custom properties. Override at :root to re-theme:

:root {
  /* Background */
  --pel-cream: oklch(97.5% 0.012 85);
  --pel-cream-deep: oklch(95% 0.015 80);
  --pel-black: oklch(10% 0 0);

  /* Text */
  --pel-ink: oklch(15% 0.005 80);
  --pel-ink-muted: oklch(40% 0.01 80);
  --pel-ink-light: oklch(98% 0 0);

  /* Accent */
  --pel-red: oklch(55% 0.22 25);

  /* Borders */
  --pel-border: oklch(85% 0.01 80);
  --pel-border-dark: oklch(25% 0 0);

  /* Typography */
  --pel-font-display: 'Playfair Display', 'Cormorant Garamond', serif;
  --pel-font-body: 'DM Sans', 'Outfit', sans-serif;

  /* Easing */
  --pel-ease: cubic-bezier(.19, 1, .22, 1);
  --pel-ease-back: cubic-bezier(.175, 0, .77, 1);
  --pel-duration: 0.8s;
  --pel-duration-long: 1.1s;
}

Full token reference: references/design-tokens.md. OKLCH palette deep-dive: references/color-system.md.

Typography

Display serif carries the cinematic weight — dramatic, editorial, italic for emphasis. Geometric sans handles navigation, labels, metadata — precise and clean. Never Inter, Roboto, Arial, or system-ui. Follow minoan-frontend-design font reflex-reject procedure.

Primary pairings (Google Fonts):

RoleFontWeightUsage
DisplayPlayfair Display400, 700, 400iH1, H2, names, pullquotes
Body/UIDM Sans400, 500, 700Body text, labels, navigation, metadata

Alternative pairings:

  • Cormorant Garamond (display) + Outfit (body)
  • Lora (display) + Karla (body)

Full pairing guide: references/typography-pairing.md.

Scroll Animation System

Pellicola uses declarative data-pel attributes to orchestrate scroll-triggered reveals via IntersectionObserver. No animation library required.

AttributeEffectDefault
data-pel="y"translateY(40px → 0) + fade induration: 0.8s
data-pel="alpha"opacity 0 → 1duration: 0.6s
data-pel="line"scaleX(0 → 1) horizontal line revealduration: 0.6s
data-pel="parallax"Parallax scroll offset on imagespeed: 0.15
data-pel="stagger"Parent: children animate with cascade delaydelay: 0.1s each
data-pel="title"Split text into lines, per-line translateY revealdelay: 0.12s/line

All animations respect prefers-reduced-motion — reduced to instant opacity with no transforms.

Full spec with IntersectionObserver setup and stagger math: references/animation-system.md.

Section Sequence

Case study pages follow a canonical section order. Sections can be omitted but the order is fixed:

  1. Hero — Film-frame image, title, genre label, play button
  2. Credits — Director card + credit grid
  3. Footage / Gallery — Dark-background image grid
  4. Prizes — Festival awards and selections
  5. Investors / Partners — Logo grid or text list
  6. Next Project — Navigation to adjacent case study

Each section separated by a pel-section-divider with label text.

Full page architecture: references/page-architecture.md.

Implementation Rules

  1. Vanilla only. No React, Vue, Svelte, Angular. Plain HTML + CSS + JS.
  2. Single-file output. Everything in one HTML file. CDN imports for Google Fonts and optional Phosphor Icons only.
  3. Warm-first. Body background is --pel-cream, not white, not dark. The dark gallery is one section, not the whole page.
  4. --pel-* tokens everywhere. Never hardcode colors — always reference custom properties.
  5. prefers-reduced-motion required. Every data-pel animation must have a reduced-motion fallback.
  6. requestAnimationFrame only for parallax scroll. Never setInterval.
  7. Semantic HTML. <article> for case study, <section> for each content block, <figure> for images, <dl> for credits.
  8. Skip link required. <a href="#main" class="pel-skip-link"> as first body child.
  9. Credits are grids, not cards. Role/name pairs in a CSS grid with border separators — not card containers with shadows.
  10. One accent, one purpose. --pel-red is for the play button only.

Anti-Patterns

  • Never use white (#FFFFFF) backgrounds — always --pel-cream
  • Never use card containers with shadows for credits — use bordered grid cells
  • Never use avatar circles for the director portrait — cropped photographic portrait with dark overlay
  • Never use Inter, Roboto, or system-ui — follow font reflex-reject
  • Never animate on page load without IntersectionObserver — all reveals are scroll-triggered (hero title is the sole exception)
  • Never use --pel-red for anything except the play button
  • Never omit prefers-reduced-motion — all data-pel animations must respect it
  • Never use height transitions for panels — use grid-template-rows: 0fr → 1fr
  • Never use a dark background for the whole page — dark gallery is one section within cream
  • Never generate a case study without the canonical section sequence — order is hero → credits → footage → prizes → investors → next-project

Expanded explanations: references/anti-patterns.md.

Post-Build QA

After building, run these passes in order:

  1. /design-audit — Technical checks (a11y, performance, responsive, theming, anti-patterns). Target: 16+/20
  2. /design-critique — UX review (Nielsen's heuristics, cognitive load, persona testing). Target: 28+/40
  3. /design-polish — Final pass (alignment, spacing, interaction states, transitions)

Cross-Skill References

SkillCross-ref forHow
grainientLenis smooth scroll, hover-zoomSee grainient/references/smooth-scroll.md for setup
rocaille-shaderHero parallax depth effectOptional enhancement, not required
pretextSplit-text line-by-line revealCross-ref for advanced text animation
minoan-frontend-designCreative direction, OKLCH color, font reflex-rejectRead for broader aesthetic principles
component-galleryPattern research for credit grids, sticky navPre-build research, not runtime dependency

Generator Script

python3 scripts/pellicola_generator.py \
  --mode case-study|hero|credits|gallery \
  --title "Film Title" \
  --director "Director Name" \
  --year 2024 \
  --runtime "93 min" \
  --genre "Documentary" \
  --output output.html

Validation

python3 scripts/validate_pellicola.py output.html

Checks: viewport meta, --pel-* properties, no framework imports, cream background, prefers-reduced-motion, Google Fonts loaded, data-pel attributes, semantic HTML, skip link, no Inter/Roboto/system-ui.

References

ReferenceWhen to consult
references/design-tokens.mdBuilding new components or customizing the palette
references/color-system.mdUnderstanding OKLCH palette, dark gallery treatment
references/typography-pairing.mdChoosing fonts, pairing alternatives
references/component-catalog.mdNeed HTML snippets for any component
references/page-architecture.mdSetting up page structure, section sequence
references/animation-system.mdImplementing data-pel scroll reveals
references/anti-patterns.mdChecking for common mistakes

Attribution

Design patterns deconstructed from siena.film (Webflow, Apr 2026). Technologies: Lenis (smooth scroll), IntersectionObserver (scroll reveals), CSS Grid (credit layouts), grid-template-rows (panel animations).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Search academic papers, build literature reviews, and synthesize research findings — combines Exa MCP (research_paper category, arxiv filtering) with arxiv-mcp-server for paper discovery, download, and deep analysis. Triggers on academic paper, literature review, research synthesis, arxiv, find papers, scholarly search.

日本語の概要は準備中です。原文の説明を表示しています。

tdimino/claude-code-minoan412026年9月28日 更新

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

日本語の概要は準備中です。原文の説明を表示しています。

tdimino/claude-code-minoan412026年9月28日 更新

This skill should be used when creating, auditing, or maintaining AGENTS.md files and Codex CLI configuration for any project—including initializing AGENTS.md for cross-agent compatibility (Codex, Cursor, Copilot, Devin, Jules, Amp, Gemini CLI), generating config.toml or .rules files, scaffolding .agents/skills/, converting CLAUDE.md to AGENTS.md, or auditing existing agent configs for bloat and staleness. Complementary to codex-orchestrator (which executes subagents; this skill creates the config files they consume).

日本語の概要は準備中です。原文の説明を表示しています。

tdimino/claude-code-minoan412026年9月28日 更新

Academic research skill for Biblical Hebrew, Semitic linguistics, cuneiform studies, and comparative Ancient Near Eastern research. Provides Sefaria API for Hebrew Bible, CDLI/ORACC for cuneiform databases, and web discovery via Omnisearch, Exa, Firecrawl, and Obscura for finding scholarly sources across JSTOR, Perseus, Persée, Google Scholar, and academia.edu. Triggers on Hebrew quotes, cuneiform, Sefaria, ANE research, Minoan, search for scholarship, find papers, literature review, scholarly search, academic search, Genesis/Tehom, Ugaritic, Talmudic sources, extract from PDF, OCR academic.

日本語の概要は準備中です。原文の説明を表示しています。

tdimino/claude-code-minoan412026年9月28日 更新

Build comprehensive ARCHITECTURE.md files following matklad's canonical guidelines — bird's-eye views, ASCII/Mermaid diagrams, codemaps, invariants, and layer boundaries. Triggers on document the architecture, create ARCHITECTURE.md, map this codebase, architectural overview.

日本語の概要は準備中です。原文の説明を表示しています。

tdimino/claude-code-minoan412026年9月28日 更新

Generate physically-based atmospheric scattering shaders — sky domes, planetary atmospheres, LUT-optimized pipelines, depth-aware post-processing. Four modes — sky-dome, atmosphere-post, planet, lut. Triggers on atmospheric scattering, sky shader, sunset rendering, planet atmosphere, Rayleigh scattering, Mie scattering, volumetric sky, sky dome, atmosphere post-processing, aerial perspective, transmittance LUT, sky rendering, realistic sky, planetary rendering.

日本語の概要は準備中です。原文の説明を表示しています。

tdimino/claude-code-minoan412026年9月28日 更新

tdimino のスキルをすべて見る

このスキルの問題を報告する