skills/abejitsu/ascii-preview-generate/SKILL.md
Use AI to create ASCII text-based preview of PDF page layout. Transforms visual and extracted data into structured ASCII representation for HTML generation.
npx skillsauth add aiskillstore/marketplace ascii-preview-generateInstall 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.
This skill uses AI to create a meaningful ASCII text-based representation of the PDF page layout. The AI:
The ASCII preview serves as a structured representation of page layout, enabling the downstream AI-HTML generator to understand both visual layout and content structure.
Load input files
02_page_XX.png (visual reference)01_rich_extraction.json (text spans with metadata)Invoke AI to analyze and represent
AI generates ASCII preview
Validate ASCII output
Save to persistent file
output/chapter_XX/page_artifacts/page_YY/03_page_XX_ascii.txtrich_extraction_file: <str> - Path to 01_rich_extraction.json
page_png: <str> - Path to 02_page_XX.png (optional, for visual validation)
output_file: <str> - Path to save ASCII preview
book_page: <int> - Book page number (for display)
chapter: <int> - Chapter number (for display)
The ASCII preview uses this structure:
================================================================================
PAGE XX ASCII LAYOUT PREVIEW
================================================================================
Book Page: YY | Chapter: Z | PDF Index: XX | Dimensions: 612x792px
--------------------------------------------------------------------------------
[PAGE CONTENT WITH ASCII ART AND ANNOTATIONS]
STRUCTURE SUMMARY:
[Element counts and types]
================================================================================
================================================================================
PAGE 16 ASCII LAYOUT PREVIEW
================================================================================
Book Page: 17 | Chapter: 2 | PDF Index: 16 | Dimensions: 612x792px
--------------------------------------------------------------------------------
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ [H1 Heading - 27pt Bold] │
│ ████████████████████████████████ │
│ █ Rights in Real Estate █ │
│ ████████████████████████████████ │
│ │
│ ───────────────────────────────────────────────────────────────── │
│ [Divider] │
│ │
│ [H2 Section Heading - 11pt Bold All-Caps] │
│ REAL PROPERTY RIGHTS │
│ │
│ [Paragraph 1 - 11pt Regular] │
│ Real property consists of physical land and the legal rights │
│ associated with ownership. These rights form what is commonly │
│ referred to as the "bundle of rights." │
│ │
│ [H4 Subsection - 11pt Bold] │
│ Physical characteristics. │
│ │
│ [Paragraph 2 - 11pt Regular] │
│ Land has unique physical characteristics that distinguish it from │
│ other types of assets. The most important characteristics include: │
│ │
│ [Bullet List - 3 items] │
│ ▶ Immobility - Land cannot be moved from one location to │
│ another. This fact has significant legal and economic │
│ implications. │
│ ▶ Indestructibility - Land is permanent and cannot be │
│ destroyed. Although structures on land can be destroyed, │
│ the land itself endures. │
│ ▶ Uniqueness - Each parcel of land is unique due to its │
│ location. "Not two parcels of land are exactly alike due to │
│ their geographic location." │
│ │
│ [H4 Subsection - 11pt Bold] │
│ Interdependence. │
│ │
│ [Paragraph 3 - 11pt Regular] │
│ All land exists in relation to other land. Therefore, the value │
│ of land is dependent on the land around it... │
│ │
└─────────────────────────────────────────────────────────────────────────┘
STRUCTURE SUMMARY:
─────────────────
Page Type: Chapter Continuation
Total Elements: 12
Headings (3):
• H1: 1 instance (27pt, bold) - "Rights in Real Estate"
• H2: 1 instance (11pt, bold, all-caps) - "REAL PROPERTY RIGHTS"
• H4: 2 instances (11pt, bold) - "Physical characteristics", "Interdependence"
Paragraphs (3):
• Body text: 3 paragraphs total
• Average paragraph length: ~45 words
• Text flow: Top to bottom, left to right
Lists (1):
• Bullet list with 3 items
• Indentation: 2em from left margin
• Separator: "▶" character
Tables: 0
Images: 0
Font Summary:
• 27pt: 1 instance (heading)
• 11pt: 7 instances (body, subsections, lists)
• Total unique fonts: 2 (Arial-Bold, Times-Regular)
Confidence Assessment:
• Heading hierarchy: 100% confident
• Element types: 95% confident
• Content flow: 90% confident
• (Lower confidence = ambiguous or unusual formatting)
================================================================================
The prompt sent to Claude to generate ASCII preview:
You are creating an ASCII text-based layout preview of a PDF page.
VISUAL REFERENCE (PDF Page):
[PNG Image Attached]
EXTRACTED TEXT DATA:
[JSON Attached]
TASK:
Generate an ASCII text representation of this page's layout and structure.
REQUIREMENTS:
1. ASCII Format:
- Use box drawing characters for visual clarity (┌─┐│└┘)
- Show page boundaries
- Use spacing to represent actual layout
2. Element Representation:
- Headings: Show in ASCII, mark with [H1], [H2], [H3], [H4]
- Paragraphs: Show first line, indicate continuation
- Lists: Use ▶ or • characters, maintain structure
- Tables: Show column alignment and structure
- Spacing: Represent actual gaps between elements
3. Annotations:
- Label each element type [Heading], [Paragraph], [List], etc.
- Show font size context (11pt, 27pt, etc.)
- Note text styling (Bold, All-Caps, etc.)
4. Summary Statistics:
- Count headings by level (h1, h2, h3, h4)
- Count paragraphs
- Count lists and items
- Note any tables or images
5. Readability:
- Keep lines under 80 characters
- Use clear visual separation
- Make structure obvious at a glance
OUTPUT:
[ASCII representation with visual structure]
VALIDATION:
- ASCII must be readable text
- All major content elements must be represented
- Structure must be clear and logical
- Total elements count must match data
Load inputs
02_page_XX.png - Visual reference01_rich_extraction.json - Text spans with metadataInvoke Claude API
Extract and validate output
Save to file
output/chapter_XX/page_artifacts/page_YY/03_page_XX_ascii.txtBefore declaring ASCII preview complete:
File output
Content representation
Accuracy against source data
Readability and format
{
"preview_file": "03_page_16_ascii.txt",
"page": 16,
"book_page": 17,
"chapter": 2,
"generated_at": "2025-11-08T14:31:00Z",
"source_file": "01_rich_extraction.json",
"elements_detected": {
"headings": 4,
"paragraphs": 3,
"lists": 1,
"tables": 0,
"images": 0
},
"confidence_scores": {
"overall": 0.93,
"heading_hierarchy": 1.0,
"element_types": 0.95,
"content_flow": 0.90
}
}
The ASCII preview is used by Skill 3 (ai-html-generate) as one of three inputs:
02_page_XX.png - Visual reference (pixel data)01_rich_extraction.json - Parsed text with metadata03_page_XX_ascii.txt - Structural representation ← This skill createsTogether, these three inputs give the AI complete context for accurate HTML generation.
If PNG image fails to load:
If rich_extraction.json is invalid:
If AI response is not valid text:
If ASCII structure seems incomplete:
✓ ASCII preview file created successfully ✓ File contains all page elements in structured format ✓ Heading hierarchy is clear and logical ✓ All text content included and readable ✓ Summary statistics accurate ✓ File is well-formatted and unambiguous ✓ Ready for AI HTML generation with complete context
Once ASCII preview is complete:
ASCII preview is incomplete: Check source rich_extraction.json has all text spans Heading hierarchy looks wrong: Verify font sizes in extraction data Lists not detected: Check for bullet character encoding issues Spacing is off: Ensure coordinate system matches PDF (top-left origin)
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.