smithery.ai

render-page

Use this skill to inspect what a Rails page currently displays, extract HTML content, or verify rendering WITHOUT starting a dev server.

First seen Apr 17, 2026

Installation

$ npx skills add https://smithery.ai

Summary

  • Use this skill to inspect what a Rails page currently displays, extract HTML content, or verify rendering WITHOUT starting a dev server.
  • Useful for understanding page output before making changes, debugging views, searching for content, or testing that pages work correctly.
  • Provides .claude/skills/render-page/scripts/render.rb for quick page inspection and HTML extraction.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,424 B
  • docs SUMMARY.md 367 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Render Pages Without Starting a Server

Use the .claude/skills/render-page/scripts/render.rb tool to verify page rendering, extract HTML, or search content in rendered pages.

Basic Usage

The script accepts the database either as an argument or via RAILSAPPDB environment variable:

# Pass database as argument
.claude/skills/render-page/scripts/render.rb db/2025-alexandria-80-s-neon-nights.sqlite3 /people

# Or just the database name
.claude/skills/render-page/scripts/render.rb 2025-alexandria-80-s-neon-nights /people

# Or use environment variable
RAILS_APP_DB=2025-alexandria-80-s-neon-nights .claude/skills/render-page/scripts/render.rb /people

Common operations:

# Check if pages render successfully
.claude/skills/render-page/scripts/render.rb 2025-alexandria-80-s-neon-nights --check /people /heats /solos

# Show summary with page sizes
.claude/skills/render-page/scripts/render.rb 2025-alexandria-80-s-neon-nights /people /heats

# Get full HTML output (single page only)
.claude/skills/render-page/scripts/render.rb 2025-alexandria-80-s-neon-nights --html /solos

# Search for specific content in rendered pages
.claude/skills/render-page/scripts/render.rb 2025-alexandria-80-s-neon-nights --search "Solos" /solos

Script Options

  • --check - Only check if page renders (exit 0 on success, 1 on failure)
  • --html - Output full HTML content (works with single path only)
  • --search TEXT - Search for specific text in rendered output
  • --verbose, -v - Show detailed information
  • --help, -h - Show help message

Common Workflows

1. Verify Pages Render Successfully

Test multiple pages at once and see their sizes:

.claude/skills/render-page/scripts/render.rb db/DATABASE.sqlite3 /people /heats /solos

For CI/CD pipelines, use --check mode (silent, exit code indicates success):

.claude/skills/render-page/scripts/render.rb db/DATABASE.sqlite3 --check /people /heats /solos
echo $?  # 0 = all succeeded, 1 = at least one failed

2. Search for Content in Rendered Pages

Verify specific content appears in a page:

.claude/skills/render-page/scripts/render.rb db/DATABASE.sqlite3 --search "Rhythm Solos" /solos
# Output: ✓ /solos - 'Rhythm Solos' found

3. Extract HTML for Analysis

Save rendered HTML to a file for inspection:

.claude/skills/render-page/scripts/render.rb db/DATABASE.sqlite3 --html /heats > heats.html

Advanced: Custom Scripts with Rails API

For complex custom logic, write a Ruby script using Rails' routing API directly:

# custom_test.rb
env = { "PATH_INFO" => '/heats', "REQUEST_METHOD" => "GET" }
code, headers, response = Rails.application.routes.call(env)

if code == 200
  html = response.body.force_encoding('utf-8')
  puts "Success: #{html.length} bytes"
else
  puts "Error: #{code}"
  exit 1
end

Run with bin/run db/DATABASE.sqlite3 custom_test.rb

See lib/tasks/prerender.rake for a production example of this technique.