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

ck:markdown-novel-viewer

View markdown files with calm, book-like reading experience via HTTP server. Use for long-form content, documentation preview, novel reading, report viewing, distraction-free reading.

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

インストール方法を見る

含まれるファイル(30)

  • SKILL.md8.9 KB
  • assets/directory-browser.css2.9 KB
  • assets/favicon.png1.8 KB
  • assets/novel-theme.css612 B
  • assets/reader.js25.0 KB
  • assets/styles/novel-theme-base.css1013 B
  • assets/styles/novel-theme-components.css3.4 KB
  • assets/styles/novel-theme-content.css2.8 KB
  • assets/styles/novel-theme-header.css3.9 KB
  • assets/styles/novel-theme-mermaid.css3.1 KB
  • assets/styles/novel-theme-overlays.css3.6 KB
  • assets/styles/novel-theme-responsive.css4.5 KB
  • assets/styles/novel-theme-sidebar.css6.2 KB
  • assets/styles/novel-theme-variables.css1.4 KB
  • assets/template.html6.0 KB
  • bun.lock2.5 KB
  • package.json419 B
  • scripts/lib/http-server.cjs11.4 KB
  • scripts/lib/markdown-renderer.cjs9.7 KB
  • scripts/lib/plan-navigator.cjs20.0 KB
  • scripts/lib/port-finder.cjs1.1 KB
  • scripts/lib/process-mgr.cjs3.2 KB
  • scripts/server.cjs12.4 KB
  • scripts/tests/server.test.cjs9.4 KB
  • tests/dashboard-assets.test.cjs10.5 KB
  • tests/dashboard-renderer.test.cjs10.9 KB
  • tests/http-server.test.cjs7.9 KB
  • tests/run-tests.cjs1.0 KB
  • tests/test-framework.cjs3.2 KB
  • tests/verify-xss.cjs3.4 KB

SKILL.md(原文)

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

markdown-novel-viewer

Background HTTP server rendering markdown files with calm, book-like reading experience.

⚠️ Installation Required

This skill requires npm dependencies. Run one of the following:

# Option 1: Install via Codex Kit CLI (recommended)
ck init  # Runs install.sh which handles all skills

# Option 2: Manual installation
cd .agents/skills/markdown-novel-viewer
npm install

Dependencies: marked, highlight.js, gray-matter

Without installation, you'll get Error 500: Error rendering markdown.

Purpose

Universal viewer - pass ANY path and view it:

  • Markdown files → novel-reader UI with serif fonts, warm theme
  • Directories → file listing browser with clickable links

Quick Start

# View a markdown file
node .agents/skills/markdown-novel-viewer/scripts/server.cjs \
  --file ./plans/my-plan/plan.md \
  --open

# Browse a directory
node .agents/skills/markdown-novel-viewer/scripts/server.cjs \
  --dir ./plans \
  --host 0.0.0.0 \
  --open

# Background mode
node .agents/skills/markdown-novel-viewer/scripts/server.cjs \
  --file ./README.md \
  --background

# Stop all running servers
node .agents/skills/markdown-novel-viewer/scripts/server.cjs --stop

Skill Command

Use $preview for quick access:

$preview plans/my-plan/plan.md    # View markdown file
$preview plans/                   # Browse directory
$preview --stop                   # Stop server

Features

Novel Theme

  • Warm cream background (light mode)
  • Dark mode with warm gold accents
  • Libre Baskerville serif headings
  • Inter body text, JetBrains Mono code
  • Maximum 720px content width

Mermaid.js Diagrams

  • Auto-renders mermaid code blocks as diagrams
  • Theme-aware (light/dark mode support)
  • Full-width toggle: Click diagram to expand/collapse
  • Error display with source preview for debugging

Directory Browser

  • Clean file listing with emoji icons
  • Markdown files link to viewer
  • Folders link to sub-directories
  • Parent directory navigation (..)
  • Light/dark mode support

Focused Reader Mode

  • Auto-hide header: Header hides on scroll down, shows on scroll up
  • Progress bar: Always-visible horizontal progress bar tracks reading position
  • Distraction-free: Minimal UI that gets out of the way while reading
  • Smooth transitions: Gentle animations for header show/hide

Plan Navigation

  • Auto-detects plan directory structure
  • Accordion sidebar with status badges (✓ complete, ⏳ in progress)
  • Previous/Next navigation buttons
  • Auto-hide header with progress bar on scroll
  • Mobile FAB (floating action button) for navigation
  • Bottom sheet sidebar for mobile devices

Keyboard Shortcuts

First-time toast: Shows "Press ? for keyboard shortcuts" on first visit (auto-dismisses after 5s)

Available shortcuts:

  • ? - Show keyboard shortcuts cheatsheet (full-screen overlay)
  • T - Toggle theme (light/dark)
  • S - Toggle sidebar (desktop)
  • ← / → - Navigate previous/next phase
  • Esc - Close sidebar (mobile) or cheatsheet modal

Cheatsheet modal: Press ? to see all shortcuts in a full-screen overlay with backdrop blur. Close with Esc, × button, or backdrop click.

Mobile Optimization

  • FAB (Floating Action Button): Fixed bottom-right button for navigation on mobile
  • Bottom sheet: Slide-up sidebar with touch gestures
  • Touch-friendly: Larger tap targets, swipe gestures
  • Responsive breakpoint: Switches at 768px viewport width

CLI Options

OptionDescriptionDefault
--file <path>Markdown file to view-
--dir <path>Directory to browse-
--port <number>Server port3456
--host <addr>Host to bind (0.0.0.0 for remote)localhost
--openAuto-open browserfalse
--backgroundRun in backgroundfalse
--stopStop all servers-

Architecture

scripts/
├── server.cjs               # Main entry point
└── lib/
    ├── port-finder.cjs      # Dynamic port allocation
    ├── process-mgr.cjs      # PID file management
    ├── http-server.cjs      # Core HTTP routing (/view, /browse)
    ├── markdown-renderer.cjs # MD→HTML conversion
    └── plan-navigator.cjs   # Plan detection & nav

assets/
├── template.html            # Markdown viewer template
├── reader.js                # Client-side interactivity
├── novel-theme.css          # Main theme file (imports modules)
├── directory-browser.css    # Directory browser styles
└── styles/                  # Modular CSS architecture
    ├── novel-theme-base.css       # Base colors, fonts, reset
    ├── novel-theme-typography.css # Headings, paragraphs, lists
    ├── novel-theme-code.css       # Code blocks, syntax highlighting
    ├── novel-theme-tables.css     # Table styling
    ├── novel-theme-links.css      # Link states, hover effects
    ├── novel-theme-layout.css     # Grid, spacing, containers
    ├── novel-theme-header.css     # Auto-hide header, progress bar
    ├── novel-theme-sidebar.css    # Accordion sidebar, status badges
    └── novel-theme-overlays.css   # Toast, cheatsheet modal

HTTP Routes

RouteDescription
/view?file=<path>Markdown file viewer
/browse?dir=<path>Directory browser
/assets/*Static assets
/file/*Local file serving (images)

Dependencies

  • Node.js built-in: http, fs, path, net
  • npm: marked, highlight.js, gray-matter (installed via npm install)

Customization

Theme Colors (CSS Variables)

Light mode variables in assets/novel-theme.css:

--bg-primary: #faf8f3;      /* Warm cream */
--accent: #8b4513;          /* Saddle brown */

Dark mode:

--bg-primary: #1a1a1a;      /* Near black */
--accent: #d4a574;          /* Warm gold */

Content Width

--content-width: 720px;

Remote Access

To access from another device on your network:

# Start with 0.0.0.0 to bind to all interfaces
node server.cjs --file ./README.md --host 0.0.0.0 --port 3456

When using --host 0.0.0.0, the server auto-detects your local network IP and includes it in the output:

{
  "success": true,
  "url": "http://localhost:3456/view?file=...",
  "networkUrl": "http://192.168.2.75:3456/view?file=...",
  "port": 3456
}

Use networkUrl to access from other devices on the same network.

Troubleshooting

Port in use: Server auto-increments to next available port (3456-3500)

Images not loading: Ensure image paths are relative to markdown file

Server won't stop: Check /tmp/md-novel-viewer-*.pid for stale PID files

Remote access denied: Use --host 0.0.0.0 to bind to all interfaces

Mermaid.js Diagrams

Usage

Use fenced code blocks with mermaid language:

```mermaid
pie title Traffic Sources
    "Organic" : 45
    "Direct" : 30
    "Referral" : 25
```

Supported Diagram Types

TypeSyntaxUse Case
Flowchartflowchart LR/TB/TDProcess flows, decision trees
SequencesequenceDiagramAPI interactions, message flows
Piepie title "..."Distribution data
GanttganttProject timelines
XY Chartxychart-betaBar/line charts
MindmapmindmapIdea hierarchies
QuadrantquadrantChart2x2 matrices

Validating Mermaid Snippets

Quick validation: Use the Mermaid Live Editor to test syntax.

Common errors and fixes:

ErrorCauseFix
Parse errorInvalid syntaxCheck diagram type declaration
Unknown diagram typeTypo in declarationUse exact type: flowchart, not flow
Expecting tokenMissing quotes/bracketsEnsure balanced delimiters
UnknownDiagramErrorEmpty or malformed blockAdd valid diagram content

Fixing Common Issues

1. Flowchart arrows

%% Wrong: A -> B
%% Correct:
flowchart LR
    A --> B

2. Pie chart values

%% Wrong: "Label": 50%
%% Correct:
pie title Sales
    "Product A" : 50
    "Product B" : 30

3. XY Chart data format

xychart-beta
    title "Monthly Sales"
    x-axis [Jan, Feb, Mar]
    y-axis "Revenue" 0 --> 100
    bar [30, 45, 60]

4. Sequence diagram participants

sequenceDiagram
    participant A as Client
    participant B as Server
    A->>B: Request
    B-->>A: Response

Debug Mode

When a diagram fails to render, the viewer shows:

  • Error message
  • Expandable source code preview
  • Line number where parsing failed (when available)

Fix the syntax and refresh the page to re-render.

レビュー

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

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

AI-optimized browser automation CLI with context-efficient snapshots. Use for long autonomous sessions, self-verifying workflows, video recording, and cloud browser testing (Browserbase).

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

manhvann/codexkit892026年8月29日 更新

Generate images via Nano Banana with 129 curated prompts. Mandatory validation interview refines style/mood/colors (use --skip to bypass). 3 modes: search, creative, wild. Styles: Ukiyo-e, Bento grid, cyberpunk, cinematic, vintage patent.

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

manhvann/codexkit892026年8月29日 更新

Analyze images/audio/video with Gemini API (better vision than Codex). Generate images (Imagen 4), videos (Veo 3). Use for vision analysis, transcription, OCR, design extraction, multimodal AI.

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

manhvann/codexkit892026年8月29日 更新

ck:ask

無料

Answer technical and architectural questions with expert consultation.

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

manhvann/codexkit892026年8月29日 更新

Build backends with Node.js, Python, Go (NestJS, FastAPI, Django). Use for REST/GraphQL/gRPC APIs, auth (OAuth, JWT), databases, microservices, security (OWASP), Docker/K8s.

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

manhvann/codexkit892026年8月29日 更新

Add authentication with Better Auth (TypeScript). Use for email/password, OAuth providers (Google, GitHub), 2FA/MFA, passkeys/WebAuthn, sessions, RBAC, rate limiting.

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

manhvann/codexkit892026年8月29日 更新

manhvann のスキルをすべて見る

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