[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EJSM6C78BKXGKTS2KX706C":3,"skill-same:01M6EJSM6C78BKXGKTS2KX706C":103},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6EJSM6C78BKXGKTS2KX706C","pdf-page-extract",null,"Extract rich data from PDF pages including text spans with metadata, rendered PNG images, and page mapping. Creates persistent artifacts for downstream processing.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fabejitsu\u002Fpdf-page-extract\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"PDF","page","extract","pdf page extract","artifacts","metadata","data","png","text","images","pages","mapping","processing","2026-11-10 10:12:30",false,"---\nname: pdf-page-extract\ndescription: Extract rich data from PDF pages including text spans with metadata, rendered PNG images, and page mapping. Creates persistent artifacts for downstream processing.\n---\n\n# PDF Page Extract Skill\n\n## Purpose\n\nThis skill extracts all necessary data from PDF pages to enable accurate AI-driven HTML generation. It produces three critical artifacts:\n1. **Rich extraction data** - Text spans with font metadata (sizes, styles, positions)\n2. **Rendered PNG image** - Visual reference for AI to understand page layout\n3. **Page mapping** - Authoritative mapping of PDF indices to book pages\n\nThis is the **deterministic, Python-based foundation** for the entire pipeline. All extracted data is saved to persistent files for traceability and future processing.\n\n## What to Do\n\n1. **Validate input parameters**\n   - Check PDF file exists and is readable\n   - Verify page range (PDF indices or book pages)\n   - Confirm output directory structure\n\n2. **Establish page mapping** (if not already done)\n   - Run: `python3 Calypso\u002Ftools\u002Fread_page_footers.py`\n   - Scans page footers to establish PDF index → book page mapping\n   - Saves to: `analysis\u002Fpage_mapping.json`\n\n3. **Extract rich page data** using PyMuPDF and pdfplumber\n   - Run: `python3 Calypso\u002Ftools\u002Frich_extractor.py`\n   - Extracts text spans with font metadata:\n     - Font name and size\n     - Bold\u002Fitalic flags\n     - Position (bounding box)\n     - Color information\n   - Analyzes page structure to identify:\n     - Likely headings (by size and style)\n     - Paragraphs (regular text)\n     - Potential lists\n   - Detects tables using pdfplumber\n   - Saves to: `analysis\u002Fchapter_XX\u002Frich_extraction.json`\n\n4. **Render PDF page to PNG**\n   - Convert page to high-resolution PNG image (300+ DPI)\n   - Maintains visual fidelity for AI reference\n   - Saves to: `output\u002Fchapter_XX\u002Fpage_artifacts\u002Fpage_YY\u002F02_page_XX.png`\n\n5. **Extract embedded images** (if present)\n   - Run: `python3 Calypso\u002Ftools\u002Fextract_images.py`\n   - Extracts all images from page\n   - Saves: `output\u002Fchapter_XX\u002Fimages\u002Fpage_YY_image_*.png`\n   - Creates metadata: `page_YY_images.json`\n\n6. **Validate extraction completeness**\n   - Verify all files saved correctly\n   - Check JSON files are valid\n   - Confirm PNG image is readable\n   - Validate page mapping consistency\n\n## Input Parameters\n\n```\nchapter: \u003Cint>           - Chapter number (1-8)\nstart_page: \u003Cint>        - Starting PDF index (0-based) or page range\nend_page: \u003Cint>          - Ending PDF index (optional if single page)\npdf_path: \u003Cstr>          - Path to PDF file (default: Calypso\u002FPREP-AL 4th Ed 9-26-25.pdf)\noutput_base: \u003Cstr>       - Output directory (default: Calypso\u002Foutput)\nmapping_file: \u003Cstr>      - Page mapping file (default: Calypso\u002Fanalysis\u002Fpage_mapping.json)\n```\n\n## Output Structure\n\n### Artifact Files Saved\n\n**Per-page artifacts** (in `output\u002Fchapter_XX\u002Fpage_artifacts\u002Fpage_YY\u002F`):\n- `01_rich_extraction.json` - Text spans with metadata\n- `02_page_XX.png` - Rendered PDF page image\n- `page_mapping.json` - Shared mapping file (symlink or copy)\n\n**Extraction data** (in `analysis\u002Fchapter_XX\u002F`):\n- `rich_extraction.json` - Full extraction for all pages in chapter\n- `page_6_pattern_analysis.json` - (Optional) Pattern analysis for specific pages\n\n**Images** (in `output\u002Fchapter_XX\u002Fimages\u002Fchapter_XX\u002F`):\n- `page_XX_image_*.png` - Embedded images from page\n- `page_XX_images.json` - Metadata for embedded images\n\n### Rich Extraction JSON Format\n\n```json\n{\n  \"page_number\": 16,\n  \"pdf_index\": 15,\n  \"book_page\": 17,\n  \"chapter\": 2,\n  \"dimensions\": {\n    \"width\": 612,\n    \"height\": 792\n  },\n  \"text_spans\": [\n    {\n      \"text\": \"Rights in Real Estate\",\n      \"font\": \"Arial-BoldMT\",\n      \"size\": 27.04,\n      \"bold\": true,\n      \"italic\": false,\n      \"bbox\": {\n        \"x0\": 72,\n        \"y0\": 150,\n        \"x1\": 400,\n        \"y1\": 177\n      },\n      \"color\": 0,\n      \"sequence\": 1\n    }\n  ],\n  \"analysis\": {\n    \"font_sizes\": {\n      \"27.04\": 1,\n      \"11.04\": 45\n    },\n    \"font_styles\": {\n      \"bold_27.04\": 1,\n      \"regular_11.04\": 45\n    },\n    \"likely_headings\": [\n      {\n        \"text\": \"Rights in Real Estate\",\n        \"level\": 1,\n        \"confidence\": 0.95\n      }\n    ],\n    \"likely_paragraphs\": [\n      {\n        \"text\": \"Real property consists of...\",\n        \"type\": \"body_text\"\n      }\n    ]\n  },\n  \"extraction_timestamp\": \"2025-11-08T14:30:00Z\",\n  \"extraction_tool\": \"rich_extractor.py v1.0\"\n}\n```\n\n## Python Commands to Execute\n\n### Step 1: Establish Page Mapping\n\n```bash\ncd Calypso\u002Ftools\npython3 read_page_footers.py \\\n  --start 15 \\\n  --end 28 \\\n  --pdf \"..\u002FPREP-AL 4th Ed 9-26-25.pdf\" \\\n  --output \"..\u002Fanalysis\u002Fpage_mapping.json\"\n```\n\n**Success indicators:**\n- Command exits with code 0\n- Page mapping JSON created\u002Fupdated\n- All pages in range have entries\n\n### Step 2: Extract Rich Data\n\n```bash\ncd Calypso\u002Ftools\npython3 rich_extractor.py \\\n  --pdf \"..\u002FPREP-AL 4th Ed 9-26-25.pdf\" \\\n  --start 15 \\\n  --end 28 \\\n  --output \"..\u002Fanalysis\u002Fchapter_02\u002Frich_extraction.json\"\n```\n\n**Success indicators:**\n- Command exits with code 0\n- JSON file created\n- File contains text_spans array\n- All pages in range represented\n\n### Step 3: Render to PNG\n\n```bash\ncd Calypso\u002Ftools\npython3 -c \"\nimport fitz\npdf = fitz.open('..\u002FPREP-AL 4th Ed 9-26-25.pdf')\nfor page_idx in range(15, 29):\n    page = pdf[page_idx]\n    pix = page.get_pixmap(matrix=fitz.Matrix(3, 3))  # 300% zoom for high-res\n    pix.save(f'..\u002Foutput\u002Fchapter_02\u002Fpage_artifacts\u002Fpage_{page_idx:02d}\u002F02_page_{page_idx}.png')\npdf.close()\n\"\n```\n\n### Step 4: Extract Images (if present)\n\n```bash\ncd Calypso\u002Ftools\n# For each page with images\npython3 extract_images.py \\\n  --page 17 \\\n  --pdf \"..\u002FPREP-AL 4th Ed 9-26-25.pdf\" \\\n  --output \"..\u002Foutput\" \\\n  --mapping \"..\u002Fanalysis\u002Fpage_mapping.json\"\n```\n\n## Quality Checks\n\nBefore declaring extraction complete:\n\n1. **File existence**\n   - [ ] `01_rich_extraction.json` exists\n   - [ ] `02_page_XX.png` exists and is valid\n   - [ ] `page_mapping.json` exists\n\n2. **JSON validity**\n   - [ ] JSON files parse without errors\n   - [ ] All required fields present\n   - [ ] No null\u002Fundefined values in critical fields\n\n3. **Data completeness**\n   - [ ] All pages in range have text_spans\n   - [ ] Text content is not empty\n   - [ ] Font sizes are reasonable (> 0)\n   - [ ] Bounding boxes are within page dimensions\n\n4. **Image quality**\n   - [ ] PNG files are readable\n   - [ ] Image dimensions match PDF page size\n   - [ ] No corrupted or blank images\n\n## Error Handling\n\n**If PDF file not found:**\n- Exit with error message\n- Do not create partial artifacts\n\n**If page mapping fails:**\n- Fall back to default indexing (PDF index = book page - 1)\n- Log warning\n- Continue extraction\n\n**If rich extraction produces no text:**\n- Check if page is image-only\n- Mark in metadata: `\"page_type\": \"image_only\"`\n- Continue (ASCII preview will handle image OCR)\n\n**If PNG rendering fails:**\n- Use fallback: save raw PDF page as PDF image\n- Log warning\n- Continue to next step\n\n## Persistence & Traceability\n\nAll artifacts include metadata:\n- Extraction timestamp\n- Tool version\n- Input parameters\n- Processing status\n\nThis enables:\n- Reproducibility (re-extract with same parameters)\n- Debugging (trace what data was extracted)\n- Auditing (track all changes to artifacts)\n- Caching (skip re-extraction if unchanged)\n\n## Success Criteria\n\n✓ All required files created in correct directories\n✓ Rich extraction JSON is valid and complete\n✓ PNG image renders correctly\n✓ Page mapping is accurate\n✓ All data persisted and ready for next skill\n✓ No extraction errors or warnings\n\n## Next Steps\n\nOnce extraction completes successfully:\n1. **Skill 2** will create ASCII preview from extracted data\n2. **Skill 3** will use extraction + PNG + ASCII for HTML generation\n3. All artifacts available for validation and debugging\n\n## Troubleshooting\n\n**PDF won't open**: Verify file path, ensure PDF is not corrupted\n**No text extracted**: Page may be image-only (OCR needed)\n**Wrong page numbers**: Check page_mapping.json for accuracy\n**PNG images are blank**: Try increasing zoom factor (3x = 300 DPI)\n\n## Implementation Notes\n\n- This skill is **fully deterministic** - same inputs always produce same outputs\n- Python tools ensure data quality and consistency\n- All files saved to persistent storage for audit trail\n- No AI involved at this stage - pure data extraction\n- Ready to support later AI-based HTML generation with complete context\n","# PDF Page Extract Skill\n\n## Purpose\n\nThis skill extracts all necessary data from PDF pages to enable accurate AI-driven HTML generation. It produces three critical artifacts:\n1. **Rich extraction data** - Text spans with font metadata (sizes, styles, positions)\n2. **Rendered PNG image** - Visual reference for AI to understand page layout\n3. **Page mapping** - Authoritative mapping of PDF indices to book pages\n\nThis is the **deterministic, Python-based foundation** for the entire pipeline. All extracted data is saved to persistent files for traceability and future processing.\n\n## What to Do\n\n1. **Validate input parameters**\n   - Check PDF file exists and is readable\n   - Verify page range (PDF indices or book pages)\n   - Confirm output directory structure\n\n2. **Establish page mapping** (if not already done)\n   - Run: `python3 Calypso\u002Ftools\u002Fread_page_footers.py`\n   - Scans page footers to establish PDF index → book page mapping\n   - Saves to: `analysis\u002Fpage_mapping.json`\n\n3. **Extract rich page data** using PyMuPDF and pdfplumber\n   - Run: `python3 Calypso\u002Ftools\u002Frich_extractor.py`\n   - Extracts text spans with font metadata:\n     - Font name and size\n     - Bold\u002Fitalic flags\n     - Position (bounding box)\n     - Color information\n   - Analyzes page structure to identify:\n     - Likely headings (by size and style)\n     - Paragraphs (regular text)\n     - Potential lists\n   - Detects tables using pdfplumber\n   - Saves to: `analysis\u002Fchapter_XX\u002Frich_extraction.json`\n\n4. **Render PDF page to PNG**\n   - Convert page to high-resolution PNG image (300+ DPI)\n   - Maintains visual fidelity for AI reference\n   - Saves to: `output\u002Fchapter_XX\u002Fpage_artifacts\u002Fpage_YY\u002F02_page_XX.png`\n\n5. **Extract embedded images** (if present)\n   - Run: `python3 Calypso\u002Ftools\u002Fextract_images.py`\n   - Extracts all images from page\n   - Saves: `output\u002Fchapter_XX\u002Fimages\u002Fpage_YY_image_*.png`\n   - Creates metadata: `page_YY_images.json`\n\n6. **Validate extraction completeness**\n   - Verify all files saved correctly\n   - Check JSON files are valid\n   - Confirm PNG image is readable\n   - Validate page mapping consistency\n\n## Input Parameters\n\n```\nchapter: \u003Cint>           - Chapter number (1-8)\nstart_page: \u003Cint>        - Starting PDF index (0-based) or page range\nend_page: \u003Cint>          - Ending PDF index (optional if single page)\npdf_path: \u003Cstr>          - Path to PDF file (default: Calypso\u002FPREP-AL 4th Ed 9-26-25.pdf)\noutput_base: \u003Cstr>       - Output directory (default: Calypso\u002Foutput)\nmapping_file: \u003Cstr>      - Page mapping file (default: Calypso\u002Fanalysis\u002Fpage_mapping.json)\n```\n\n## Output Structure\n\n### Artifact Files Saved\n\n**Per-page artifacts** (in `output\u002Fchapter_XX\u002Fpage_artifacts\u002Fpage_YY\u002F`):\n- `01_rich_extraction.json` - Text spans with metadata\n- `02_page_XX.png` - Rendered PDF page image\n- `page_mapping.json` - Shared mapping file (symlink or copy)\n\n**Extraction data** (in `analysis\u002Fchapter_XX\u002F`):\n- `rich_extraction.json` - Full extraction for all pages in chapter\n- `page_6_pattern_analysis.json` - (Optional) Pattern analysis for specific pages\n\n**Images** (in `output\u002Fchapter_XX\u002Fimages\u002Fchapter_XX\u002F`):\n- `page_XX_image_*.png` - Embedded images from page\n- `page_XX_images.json` - Metadata for embedded images\n\n### Rich Extraction JSON Format\n\n```json\n{\n  \"page_number\": 16,\n  \"pdf_index\": 15,\n  \"book_page\": 17,\n  \"chapter\": 2,\n  \"dimensions\": {\n    \"width\": 612,\n    \"height\": 792\n  },\n  \"text_spans\": [\n    {\n      \"text\": \"Rights in Real Estate\",\n      \"font\": \"Arial-BoldMT\",\n      \"size\": 27.04,\n      \"bold\": true,\n      \"italic\": false,\n      \"bbox\": {\n        \"x0\": 72,\n        \"y0\": 150,\n        \"x1\": 400,\n        \"y1\": 177\n      },\n      \"color\": 0,\n      \"sequence\": 1\n    }\n  ],\n  \"analysis\": {\n    \"font_sizes\": {\n      \"27.04\": 1,\n      \"11.04\": 45\n    },\n    \"font_styles\": {\n      \"bold_27.04\": 1,\n      \"regular_11.04\": 45\n    },\n    \"likely_headings\": [\n      {\n        \"text\": \"Rights in Real Estate\",\n        \"level\": 1,\n        \"confidence\": 0.95\n      }\n    ],\n    \"likely_paragraphs\": [\n      {\n        \"text\": \"Real property consists of...\",\n        \"type\": \"body_text\"\n      }\n    ]\n  },\n  \"extraction_timestamp\": \"2025-11-08T14:30:00Z\",\n  \"extraction_tool\": \"rich_extractor.py v1.0\"\n}\n```\n\n## Python Commands to Execute\n\n### Step 1: Establish Page Mapping\n\n```bash\ncd Calypso\u002Ftools\npython3 read_page_footers.py \\\n  --start 15 \\\n  --end 28 \\\n  --pdf \"..\u002FPREP-AL 4th Ed 9-26-25.pdf\" \\\n  --output \"..\u002Fanalysis\u002Fpage_mapping.json\"\n```\n\n**Success indicators:**\n- Command exits with code 0\n- Page mapping JSON created\u002Fupdated\n- All pages in range have entries\n\n### Step 2: Extract Rich Data\n\n```bash\ncd Calypso\u002Ftools\npython3 rich_extractor.py \\\n  --pdf \"..\u002FPREP-AL 4th Ed 9-26-25.pdf\" \\\n  --start 15 \\\n  --end 28 \\\n  --output \"..\u002Fanalysis\u002Fchapter_02\u002Frich_extraction.json\"\n```\n\n**Success indicators:**\n- Command exits with code 0\n- JSON file created\n- File contains text_spans array\n- All pages in range represented\n\n### Step 3: Render to PNG\n\n```bash\ncd Calypso\u002Ftools\npython3 -c \"\nimport fitz\npdf = fitz.open('..\u002FPREP-AL 4th Ed 9-26-25.pdf')\nfor page_idx in range(15, 29):\n    page = pdf[page_idx]\n    pix = page.get_pixmap(matrix=fitz.Matrix(3, 3))  # 300% zoom for high-res\n    pix.save(f'..\u002Foutput\u002Fchapter_02\u002Fpage_artifacts\u002Fpage_{page_idx:02d}\u002F02_page_{page_idx}.png')\npdf.close()\n\"\n```\n\n### Step 4: Extract Images (if present)\n\n```bash\ncd Calypso\u002Ftools\n# For each page with images\npython3 extract_images.py \\\n  --page 17 \\\n  --pdf \"..\u002FPREP-AL 4th Ed 9-26-25.pdf\" \\\n  --output \"..\u002Foutput\" \\\n  --mapping \"..\u002Fanalysis\u002Fpage_mapping.json\"\n```\n\n## Quality Checks\n\nBefore declaring extraction complete:\n\n1. **File existence**\n   - [ ] `01_rich_extraction.json` exists\n   - [ ] `02_page_XX.png` exists and is valid\n   - [ ] `page_mapping.json` exists\n\n2. **JSON validity**\n   - [ ] JSON files parse without errors\n   - [ ] All required fields present\n   - [ ] No null\u002Fundefined values in critical fields\n\n3. **Data completeness**\n   - [ ] All pages in range have text_spans\n   - [ ] Text content is not empty\n   - [ ] Font sizes are reasonable (> 0)\n   - [ ] Bounding boxes are within page dimensions\n\n4. **Image quality**\n   - [ ] PNG files are readable\n   - [ ] Image dimensions match PDF page size\n   - [ ] No corrupted or blank images\n\n## Error Handling\n\n**If PDF file not found:**\n- Exit with error message\n- Do not create partial artifacts\n\n**If page mapping fails:**\n- Fall back to default indexing (PDF index = book page - 1)\n- Log warning\n- Continue extraction\n\n**If rich extraction produces no text:**\n- Check if page is image-only\n- Mark in metadata: `\"page_type\": \"image_only\"`\n- Continue (ASCII preview will handle image OCR)\n\n**If PNG rendering fails:**\n- Use fallback: save raw PDF page as PDF image\n- Log warning\n- Continue to next step\n\n## Persistence & Traceability\n\nAll artifacts include metadata:\n- Extraction timestamp\n- Tool version\n- Input parameters\n- Processing status\n\nThis enables:\n- Reproducibility (re-extract with same parameters)\n- Debugging (trace what data was extracted)\n- Auditing (track all changes to artifacts)\n- Caching (skip re-extraction if unchanged)\n\n## Success Criteria\n\n✓ All required files created in correct directories\n✓ Rich extraction JSON is valid and complete\n✓ PNG image renders correctly\n✓ Page mapping is accurate\n✓ All data persisted and ready for next skill\n✓ No extraction errors or warnings\n\n## Next Steps\n\nOnce extraction completes successfully:\n1. **Skill 2** will create ASCII preview from extracted data\n2. **Skill 3** will use extraction + PNG + ASCII for HTML generation\n3. All artifacts available for validation and debugging\n\n## Troubleshooting\n\n**PDF won't open**: Verify file path, ensure PDF is not corrupted\n**No text extracted**: Page may be image-only (OCR needed)\n**Wrong page numbers**: Check page_mapping.json for accuracy\n**PNG images are blank**: Try increasing zoom factor (3x = 300 DPI)\n\n## Implementation Notes\n\n- This skill is **fully deterministic** - same inputs always produce same outputs\n- Python tools ensure data quality and consistency\n- All files saved to persistent storage for audit trail\n- No AI involved at this stage - pure data extraction\n- Ready to support later AI-based HTML generation with complete context\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fabejitsu\u002Fpdf-page-extract",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill pdf-page-extract",{"tool":57,"command":58},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill pdf-page-extract",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill pdf-page-extract","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fabejitsu\u002Fpdf-page-extract\u002FSKILL.md",true,[65,71,75,79,83,87,91,95,99],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fhints_cpu.md","REFERENCE","参考文档",2300,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fhints_cpu.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fhints_graphics.md",1984,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fhints_graphics.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fhints_io.md",1616,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fhints_io.md",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fhints_ipc.md",1579,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fhints_ipc.md",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fhints_memory.md",2076,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fhints_memory.md",{"path":88,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fhints_power.md",1026,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fhints_power.md",{"path":92,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fperfetto-stdlib.md",214776,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fperfetto-stdlib.md",{"path":96,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fsql.md",10386,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-reddit-mobile-apps\u002Fandroid-skills\u002Fprofilers\u002Fperfetto-trace-analysis\u002Freferences\u002Fsql.md",{"path":100,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":101,"sourceHtmlUrl":102},"skill-report.json",8447,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fabejitsu\u002Fpdf-page-extract\u002Fskill-report.json",[104,116,126,135,141,148],{"skillNo":105,"name":106,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":112,"publishedAt":37},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[113,114,115],"model","model hierarchy","model hierarchy skill",{"skillNo":117,"name":118,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":122,"publishedAt":37},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[121],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},[123,124,125],"MCP","zoom","zoom mcp",{"skillNo":127,"name":128,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":37},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[132,133,134,124],"sdk","zoom apps sdk","apps",{"skillNo":136,"name":137,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":37},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[137],{"skillNo":142,"name":143,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":37},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[146],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},[143],{"skillNo":149,"name":150,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":37},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[150]]