.claude/skills/render-page/SKILL.md
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.
npx skillsauth add rubys/showcase render-pageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use the .claude/skills/render-page/scripts/render.rb tool to verify page rendering, extract HTML, or search content in rendered pages.
The script accepts the database either as an argument or via RAILS_APP_DB 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
--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 messageTest 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
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
Save rendered HTML to a file for inspection:
.claude/skills/render-page/scripts/render.rb db/DATABASE.sqlite3 --html /heats > heats.html
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.
development
Information about running tests, test coverage, and known testing issues in the Rails application. Use when the user asks about testing procedures, encounters test failures, wants to know about coverage, or needs to troubleshoot intermittent system test issues.
development
Working with the Navigator Go submodule for web server fixes and enhancements. Use when deployment plans require Navigator changes, config parsing issues arise, or new routing/proxy behavior is needed.
testing
Use when asked to run "fly ssh console", SSH into Fly.io machines, inspect files on production machines, check processes on Fly.io, or examine deployed machine state. Covers critical pitfalls like no shell support and Debian vs macOS command differences.
development
Deployment architecture, multi-tenancy design, and environment-specific deployment commands. Use when the user asks about how the application is deployed, multi-tenant architecture with Navigator, Fly.io deployment, or frontend stack details.