Files
mcn-short-video/.workbuddy/skills/ljg-skills/CLAUDE.md
T

3.6 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Overview

This is a personal Claude Code skills repository. Each skill is a self-contained directory that can be installed to ~/.claude/skills/ to extend Claude Code's capabilities.

Repository Structure

ljg-skills/
├── ljg-*/              # Each skill is a directory with "ljg-" prefix
│   ├── SKILL.md        # Skill definition with YAML frontmatter
│   ├── references/     # Reference docs for complex skills
│   ├── assets/         # Templates, images, scripts
│   └── scripts/        # Helper scripts (bash, node)
├── README.md
└── .gitignore          # Ignores everything except ljg-*/ and specific files

Skill Format

Each SKILL.md follows this structure:

---
name: skill-name
description: "What this skill does. Use when user says..."
user_invocable: true|false
version: "x.x.x"
---

# Skill content in markdown...

Skill Inventory

Skill Purpose External Dependencies
ljg-card Content → PNG visuals (long cards, infographs, posters) Node.js + Playwright
ljg-paper Academic paper analysis pipeline None
ljg-plain Plain language rewriter None
ljg-word English word deep-dive None
ljg-writes Writing engine for thinking through ideas None
ljg-mcn Short video editor thinking tool; practical-domain constraint layer for ljg-is/think/rank/structure None

Commands

Install ljg-card Dependencies

ljg-card requires Playwright for screenshot capture:

cd ljg-card && npm install && npx playwright install chromium

Install Skills (for users)

# Copy all skills to Claude Code
mkdir -p ~/.claude/skills
cp -r ljg-* ~/.claude/skills/

Architecture Notes

Skill Invocation

  • Skills with user_invocable: true can be triggered via /skill-name or natural language
  • Trigger phrases are defined in each skill's description field
  • Skills can call other skills via the Skill tool

Content Processing Pipeline

Several skills share a common pattern for content ingestion:

  • URL → WebFetch
  • File path → Read tool
  • Raw text → Direct use

ljg-card Architecture

The most complex skill with multiple rendering modes:

  1. HTML Templates: Stored in assets/ (long_template.html, infograph_template.html, poster_template.html)
  2. Capture Script: assets/capture.js uses Playwright to screenshot HTML → PNG
  3. Reference Docs: references/taste.md (design guidelines), references/mode-*.md (mode-specific instructions)
  4. Output: PNG files written to ~/Downloads/

Shared Conventions

Org-mode output (ljg-paper, ljg-plain, ljg-writes):

  • Bold: *text* (single asterisk, not **)
  • Filenames: {timestamp}--{title}__{type}.org
  • Output directory: ~/Documents/notes/
  • Timestamps: date +%Y%m%dT%H%M%S

ASCII Art:

  • Allowed: + - | / \ > < v ^ * = ~ . : # [ ] ( ) _ , ; ! ' "
  • Forbidden: Unicode box-drawing characters

Development Guidelines

  • Skills are atomic units—each skill directory is self-contained
  • Version numbers are manually maintained in SKILL.md frontmatter
  • The .gitignore ignores all files by default; explicitly unignore with !pattern
  • When modifying skill logic, update both the SKILL.md and any referenced files in references/

Testing Changes

After modifying a skill:

  1. Copy to ~/.claude/skills/
  2. Restart Claude Code to reload skills
  3. Test via natural language trigger or /skill-name