[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XC2E8NXEXEXCF3E8XM5X91":3,"skill-same:01M6XC2E8NXEXEXCF3E8XM5X91":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":13,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6XC2E8NXEXEXCF3E8XM5X91","document-python-direct",null,"Use direct Python execution for reliable spreadsheet and document\u002FPDF generation operations","UF-gzj\u002Fopenspace-claude-evolution","UF-gzj","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F272393507?v=4","01M6XBCZB755P01VVYGQWPYZY3","01M6XBCZFJA5AREA17WGETA3FW",0,"MIT","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fspreadsheet-direct-python-merged-f07ee1\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000004","电子表格",[26,27,28,29,30,31,32,33,34,35,36,37],"python","direct","document","document python direct","PDF","execution","spreadsheet","operations","use","generation","pdf generation","for","2026-11-10 10:12:30",false,"---\nname: document-python-direct\ndescription: Use direct Python execution for reliable spreadsheet and document\u002FPDF generation operations\n---\n\n# Direct Python Execution for Document and Spreadsheet Tasks\n\n## When to Use This Skill\n\nUse direct `run_shell` with Python scripts for document operations when:\n\n- Reading or writing complex Excel files with multiple sheets\n- Generating PDF reports, checklists, or forms\n- Applying formulas, formatting, or data transformations\n- Working with `openpyxl`, `pandas`, `reportlab`, `fpdf2`, or similar libraries\n- The operation involves multiple steps that could exceed agent step limits\n- You need precise control over error handling and debugging\n- Complex scripts benefit from file-based execution for better reliability\n\n## Why Direct Execution?\n\nThe `shell_agent` tool can:\n\n- Hit maximum step limits on complex multi-step operations\n- Produce unexplained errors on formatting operations\n- Fail on intricate spreadsheet reads\u002Fwrites due to iterative parsing\n- Fail to parse heredoc syntax correctly, causing 'unknown error' failures\n\nDirect `run_shell` with Python is more reliable because it:\n\n- Executes in a single step with no iteration limits\n- Provides clearer, immediate error messages\n- Handles complex operations without step constraints\n- Gives full control over library imports and execution flow\n- Writing scripts to `.py` files first avoids shell_agent parsing issues with heredocs\n\n## How to Use\n\n### Recommended Pattern: Write Script to File First\n\nFor complex multi-line scripts, especially when using shell_agent as executor:\n\n```bash\n# Step 1: Write the Python script to a file\ncat > process_document.py \u003C\u003C 'EOF'\nimport openpyxl\nfrom openpyxl import Workbook\n\n# Your spreadsheet code here\nwb = openpyxl.load_workbook('file.xlsx')\n# ... operations ...\nwb.save('output.xlsx')\nprint('Success')\nEOF\n\n# Step 2: Execute the script\npython3 process_document.py\n```\n\n### Alternative Pattern: Inline Heredoc (Simple Scripts Only)\n\nFor short, simple scripts when NOT using shell_agent as the executor:\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport openpyxl\n# Simple operation\nwb = openpyxl.load_workbook('file.xlsx')\nwb.save('output.xlsx')\nprint('Done')\nEOF\n```\n\n## Spreadsheet Examples\n\n### Example 1: Read and Transform Excel Data\n\n**Write to file first, then execute:**\n\n```python\nimport pandas as pd\n\n# Load data from specific sheet\ndf = pd.read_excel('input.xlsx', sheet_name='Revenue')\n\n# Apply transformations\ndf['Net_Revenue'] = df['Gross_Revenue'] * (1 - df['Tax_Rate'])\n\n# Save results\ndf.to_excel('output.xlsx', index=False, sheet_name='Processed')\n```\n\n### Example 2: Multi-Sheet Operations with openpyxl\n\n```python\nfrom openpyxl import load_workbook\n\nwb = load_workbook('tour_data.xlsx')\n\n# Iterate through sheets\nfor sheet_name in wb.sheetnames:\n    ws = wb[sheet_name]\n    for row in ws.iter_rows(min_row=2, max_col=5):\n        pass\n\nwb.save('tour_data_processed.xlsx')\n```\n\n### Example 3: Complex Formatting Operations\n\n```python\nfrom openpyxl import load_workbook\nfrom openpyxl.styles import Font, PatternFill, Alignment\n\nwb = load_workbook('report.xlsx')\nws = wb.active\n\nheader_fill = PatternFill(start_color='4472C4', fill_type='solid')\nheader_font = Font(bold=True, color='FFFFFF')\n\nfor cell in ws[1]:\n    cell.fill = header_fill\n    cell.font = header_font\n    cell.alignment = Alignment(horizontal='center')\n\nwb.save('report_formatted.xlsx')\n```\n\n## PDF Generation Examples\n\n### Example 4: Basic PDF Report with reportlab\n\n```python\nfrom reportlab.lib.pagesizes import letter\nfrom reportlab.pdfgen import canvas\nfrom reportlab.lib.styles import getSampleStyleSheet\nfrom reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer\n\n# Create PDF document\ndoc = SimpleDocTemplate('report.pdf', pagesize=letter)\nstyles = getSampleStyleSheet()\nstory = []\n\n# Add content\nstory.append(Paragraph('Monthly Report', styles['Heading1']))\nstory.append(Spacer(1, 12))\nstory.append(Paragraph('Generated successfully.', styles['Normal']))\n\n# Build PDF\ndoc.build(story)\nprint('PDF created successfully')\n```\n\n### Example 5: PDF Checklist with fpdf2\n\n```python\nfrom fpdf import FPDF\n\n# Create PDF instance\npdf = FPDF()\npdf.add_page()\npdf.set_font('Arial', 'B', 16)\n\n# Title\npdf.cell(0, 10, 'Safety Checklist', ln=True, align='C')\npdf.ln(10)\n\n# Checklist items\npdf.set_font('Arial', '', 12)\nitems = ['Check equipment', 'Verify connections', 'Test system', 'Document results']\nfor i, item in enumerate(items, 1):\n    pdf.cell(5, 10, f'[ ] {item}', ln=True)\n\n# Save\npdf.output('checklist.pdf')\nprint('Checklist PDF generated')\n```\n\n### Example 6: Combined Spreadsheet + PDF Workflow\n\n```python\nimport pandas as pd\nfrom reportlab.lib.pagesizes import letter\nfrom reportlab.pdfgen import canvas\n\n# Step 1: Process spreadsheet data\ndf = pd.read_excel('data.xlsx')\nsummary = df.describe()\n\n# Step 2: Generate PDF report\nc = canvas.Canvas('summary_report.pdf', pagesize=letter)\nc.drawString(100, 750, 'Data Summary Report')\nc.drawString(100, 730, f'Total Records: {len(df)}')\nc.drawString(100, 710, f'Mean Value: {df.iloc[:, 0].mean():.2f}')\nc.save()\n\nprint('Spreadsheet processed and PDF report generated')\n```\n\n## Error Handling Pattern\n\n**Write to file first, then execute:**\n\n```python\nimport sys\nfrom openpyxl import load_workbook\n\ntry:\n    wb = load_workbook('data.xlsx')\n    ws = wb.active\n    \n    # Your operations here\n    value = ws['A1'].value\n    \n    wb.save('output.xlsx')\n    print(f\"Success: Processed {ws.max_row} rows\")\n    \nexcept Exception as e:\n    print(f\"Error: {str(e)}\", file=sys.stderr)\n    sys.exit(1)\n```\n\n## Best Practices\n\n1. **Prefer file-based execution** for complex scripts: write to `.py` file first, then execute via `run_shell`\n2. **Import only needed libraries** to reduce execution time\n3. **Print clear success\u002Ferror messages** for debugging\n4. **Save intermediate results** for complex multi-step transformations\n5. **Test with small data** before scaling to large spreadsheets or documents\n6. **Use pandas for data manipulation** and openpyxl for formatting when both are needed\n7. **Clean up temporary script files** after execution if they won't be reused\n8. **Use PDF libraries appropriate to your needs**: reportlab for complex layouts, fpdf2 for simple documents\n\n## When NOT to Use This Skill\n\n- Simple single-cell reads\u002Fwrites (use shell_agent or basic commands)\n- Operations that require interactive user input\n- Tasks where you need the agent to iteratively refine the approach\n- Very simple text files (use basic shell commands instead)\n\n## Common Libraries\n\n| Library | Best For |\n|---------|----------|\n| `openpyxl` | Reading\u002Fwriting .xlsx files, formatting, formulas |\n| `pandas` | Data manipulation, analysis, merging datasets |\n| `xlrd` | Reading older .xls files (read-only) |\n| `xlsxwriter` | Creating new .xlsx files with advanced formatting |\n| `reportlab` | Professional PDF reports with complex layouts |\n| `fpdf2` | Simple PDF generation, checklists, basic documents |\n| `python-docx` | Creating and editing Word documents |\n\n## Troubleshooting\n\n**Issue**: Heredoc syntax fails with 'unknown error' when using shell_agent\n- **Solution**: Write the Python script to a `.py` file first, then execute it with `python3 script.py`. This pattern is significantly more reliable than inline heredoc execution when shell_agent is the executor.\n\n**Issue**: FileNotFoundError\n- **Solution**: Verify the file path is absolute or relative to the working directory\n\n**Issue**: PermissionError\n- **Solution**: Ensure the file is not open in another application\n\n**Issue**: MemoryError on large files\n- **Solution**: Process data in chunks using pandas `chunksize` parameter\n\n**Issue**: Formatting not applying\n- **Solution**: Ensure you're modifying cell styles before saving, and use `.copy()` for style objects\n\n**Issue**: PDF text encoding errors\n- **Solution**: Use Unicode-compatible fonts and ensure text is properly encoded (UTF-8)\n\n**Issue**: PDF library not found\n- **Solution**: Install required library with `pip install reportlab` or `pip install fpdf2`\n\n**Issue**: Agent fails before tool execution (skill selector returns empty)\n- **Solution**: Ensure the skill is properly registered and the task matches the skill's description. For document generation tasks, explicitly mention \"PDF\" or \"spreadsheet\" in the task description to trigger skill selection.\n","# Direct Python Execution for Document and Spreadsheet Tasks\n\n## When to Use This Skill\n\nUse direct `run_shell` with Python scripts for document operations when:\n\n- Reading or writing complex Excel files with multiple sheets\n- Generating PDF reports, checklists, or forms\n- Applying formulas, formatting, or data transformations\n- Working with `openpyxl`, `pandas`, `reportlab`, `fpdf2`, or similar libraries\n- The operation involves multiple steps that could exceed agent step limits\n- You need precise control over error handling and debugging\n- Complex scripts benefit from file-based execution for better reliability\n\n## Why Direct Execution?\n\nThe `shell_agent` tool can:\n\n- Hit maximum step limits on complex multi-step operations\n- Produce unexplained errors on formatting operations\n- Fail on intricate spreadsheet reads\u002Fwrites due to iterative parsing\n- Fail to parse heredoc syntax correctly, causing 'unknown error' failures\n\nDirect `run_shell` with Python is more reliable because it:\n\n- Executes in a single step with no iteration limits\n- Provides clearer, immediate error messages\n- Handles complex operations without step constraints\n- Gives full control over library imports and execution flow\n- Writing scripts to `.py` files first avoids shell_agent parsing issues with heredocs\n\n## How to Use\n\n### Recommended Pattern: Write Script to File First\n\nFor complex multi-line scripts, especially when using shell_agent as executor:\n\n```bash\n# Step 1: Write the Python script to a file\ncat > process_document.py \u003C\u003C 'EOF'\nimport openpyxl\nfrom openpyxl import Workbook\n\n# Your spreadsheet code here\nwb = openpyxl.load_workbook('file.xlsx')\n# ... operations ...\nwb.save('output.xlsx')\nprint('Success')\nEOF\n\n# Step 2: Execute the script\npython3 process_document.py\n```\n\n### Alternative Pattern: Inline Heredoc (Simple Scripts Only)\n\nFor short, simple scripts when NOT using shell_agent as the executor:\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport openpyxl\n# Simple operation\nwb = openpyxl.load_workbook('file.xlsx')\nwb.save('output.xlsx')\nprint('Done')\nEOF\n```\n\n## Spreadsheet Examples\n\n### Example 1: Read and Transform Excel Data\n\n**Write to file first, then execute:**\n\n```python\nimport pandas as pd\n\n# Load data from specific sheet\ndf = pd.read_excel('input.xlsx', sheet_name='Revenue')\n\n# Apply transformations\ndf['Net_Revenue'] = df['Gross_Revenue'] * (1 - df['Tax_Rate'])\n\n# Save results\ndf.to_excel('output.xlsx', index=False, sheet_name='Processed')\n```\n\n### Example 2: Multi-Sheet Operations with openpyxl\n\n```python\nfrom openpyxl import load_workbook\n\nwb = load_workbook('tour_data.xlsx')\n\n# Iterate through sheets\nfor sheet_name in wb.sheetnames:\n    ws = wb[sheet_name]\n    for row in ws.iter_rows(min_row=2, max_col=5):\n        pass\n\nwb.save('tour_data_processed.xlsx')\n```\n\n### Example 3: Complex Formatting Operations\n\n```python\nfrom openpyxl import load_workbook\nfrom openpyxl.styles import Font, PatternFill, Alignment\n\nwb = load_workbook('report.xlsx')\nws = wb.active\n\nheader_fill = PatternFill(start_color='4472C4', fill_type='solid')\nheader_font = Font(bold=True, color='FFFFFF')\n\nfor cell in ws[1]:\n    cell.fill = header_fill\n    cell.font = header_font\n    cell.alignment = Alignment(horizontal='center')\n\nwb.save('report_formatted.xlsx')\n```\n\n## PDF Generation Examples\n\n### Example 4: Basic PDF Report with reportlab\n\n```python\nfrom reportlab.lib.pagesizes import letter\nfrom reportlab.pdfgen import canvas\nfrom reportlab.lib.styles import getSampleStyleSheet\nfrom reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer\n\n# Create PDF document\ndoc = SimpleDocTemplate('report.pdf', pagesize=letter)\nstyles = getSampleStyleSheet()\nstory = []\n\n# Add content\nstory.append(Paragraph('Monthly Report', styles['Heading1']))\nstory.append(Spacer(1, 12))\nstory.append(Paragraph('Generated successfully.', styles['Normal']))\n\n# Build PDF\ndoc.build(story)\nprint('PDF created successfully')\n```\n\n### Example 5: PDF Checklist with fpdf2\n\n```python\nfrom fpdf import FPDF\n\n# Create PDF instance\npdf = FPDF()\npdf.add_page()\npdf.set_font('Arial', 'B', 16)\n\n# Title\npdf.cell(0, 10, 'Safety Checklist', ln=True, align='C')\npdf.ln(10)\n\n# Checklist items\npdf.set_font('Arial', '', 12)\nitems = ['Check equipment', 'Verify connections', 'Test system', 'Document results']\nfor i, item in enumerate(items, 1):\n    pdf.cell(5, 10, f'[ ] {item}', ln=True)\n\n# Save\npdf.output('checklist.pdf')\nprint('Checklist PDF generated')\n```\n\n### Example 6: Combined Spreadsheet + PDF Workflow\n\n```python\nimport pandas as pd\nfrom reportlab.lib.pagesizes import letter\nfrom reportlab.pdfgen import canvas\n\n# Step 1: Process spreadsheet data\ndf = pd.read_excel('data.xlsx')\nsummary = df.describe()\n\n# Step 2: Generate PDF report\nc = canvas.Canvas('summary_report.pdf', pagesize=letter)\nc.drawString(100, 750, 'Data Summary Report')\nc.drawString(100, 730, f'Total Records: {len(df)}')\nc.drawString(100, 710, f'Mean Value: {df.iloc[:, 0].mean():.2f}')\nc.save()\n\nprint('Spreadsheet processed and PDF report generated')\n```\n\n## Error Handling Pattern\n\n**Write to file first, then execute:**\n\n```python\nimport sys\nfrom openpyxl import load_workbook\n\ntry:\n    wb = load_workbook('data.xlsx')\n    ws = wb.active\n    \n    # Your operations here\n    value = ws['A1'].value\n    \n    wb.save('output.xlsx')\n    print(f\"Success: Processed {ws.max_row} rows\")\n    \nexcept Exception as e:\n    print(f\"Error: {str(e)}\", file=sys.stderr)\n    sys.exit(1)\n```\n\n## Best Practices\n\n1. **Prefer file-based execution** for complex scripts: write to `.py` file first, then execute via `run_shell`\n2. **Import only needed libraries** to reduce execution time\n3. **Print clear success\u002Ferror messages** for debugging\n4. **Save intermediate results** for complex multi-step transformations\n5. **Test with small data** before scaling to large spreadsheets or documents\n6. **Use pandas for data manipulation** and openpyxl for formatting when both are needed\n7. **Clean up temporary script files** after execution if they won't be reused\n8. **Use PDF libraries appropriate to your needs**: reportlab for complex layouts, fpdf2 for simple documents\n\n## When NOT to Use This Skill\n\n- Simple single-cell reads\u002Fwrites (use shell_agent or basic commands)\n- Operations that require interactive user input\n- Tasks where you need the agent to iteratively refine the approach\n- Very simple text files (use basic shell commands instead)\n\n## Common Libraries\n\n| Library | Best For |\n|---------|----------|\n| `openpyxl` | Reading\u002Fwriting .xlsx files, formatting, formulas |\n| `pandas` | Data manipulation, analysis, merging datasets |\n| `xlrd` | Reading older .xls files (read-only) |\n| `xlsxwriter` | Creating new .xlsx files with advanced formatting |\n| `reportlab` | Professional PDF reports with complex layouts |\n| `fpdf2` | Simple PDF generation, checklists, basic documents |\n| `python-docx` | Creating and editing Word documents |\n\n## Troubleshooting\n\n**Issue**: Heredoc syntax fails with 'unknown error' when using shell_agent\n- **Solution**: Write the Python script to a `.py` file first, then execute it with `python3 script.py`. This pattern is significantly more reliable than inline heredoc execution when shell_agent is the executor.\n\n**Issue**: FileNotFoundError\n- **Solution**: Verify the file path is absolute or relative to the working directory\n\n**Issue**: PermissionError\n- **Solution**: Ensure the file is not open in another application\n\n**Issue**: MemoryError on large files\n- **Solution**: Process data in chunks using pandas `chunksize` parameter\n\n**Issue**: Formatting not applying\n- **Solution**: Ensure you're modifying cell styles before saving, and use `.copy()` for style objects\n\n**Issue**: PDF text encoding errors\n- **Solution**: Use Unicode-compatible fonts and ensure text is properly encoded (UTF-8)\n\n**Issue**: PDF library not found\n- **Solution**: Install required library with `pip install reportlab` or `pip install fpdf2`\n\n**Issue**: Agent fails before tool execution (skill selector returns empty)\n- **Solution**: Ensure the skill is properly registered and the task matches the skill's description. For document generation tasks, explicitly mention \"PDF\" or \"spreadsheet\" in the task description to trigger skill selection.\n",{"name":5,"description":7},"main","0650921d63895de3997bc81f1ff1d0ac67032072","gdpval_bench\u002Fskills\u002Fspreadsheet-direct-python-merged-f07ee1","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution","https:\u002F\u002Fgithub.com\u002FUF-gzj","2026-04-16 09:31:03",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add UF-gzj\u002Fopenspace-claude-evolution --skill document-python-direct",{"tool":55,"command":56},"bunx","bunx skills add UF-gzj\u002Fopenspace-claude-evolution --skill document-python-direct",{"tool":58,"command":59},"pnpm","pnpm dlx skills add UF-gzj\u002Fopenspace-claude-evolution --skill document-python-direct","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fspreadsheet-direct-python-merged-f07ee1\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},".skill_id","OTHER","其他",53,"https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fspreadsheet-direct-python-merged-f07ee1\u002F.skill_id",[70,93,110,119,149,165],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":38},"01M6XCCXD3NCM2YKR3WNGBASPC","write-special-chars-ts-check","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, plus a reliable TypeScript type-checking step that filters output to only the newly-written files to avoid being misled by pre-existing errors.","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-ts-check\u002FSKILL.md",[],[77,78,79,80,81,82,83,84,37,85,86,87,88,89,90,91,92,26],"check","write","write special chars ts check","typescript","filters","characters","Existing","type-checking","errors","script","output","type","files","only","template","file",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":38},"01M6XCCT7E3J922Q345PBGSHPN","write-special-chars-readback","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, with mandatory post-write verification via read_file and cleanup of \u002Ftmp helper scripts.","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-readback\u002FSKILL.md",[],[100,101,78,92,102,26,103,104,105,106,107,91,108,109,82,37,86],"readback","write special chars readback","helper","post","via","scripts","cleanup","read","verification","with",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":38},"01M6XCCMQX1R8B6FECWB3P63T7","write-special-chars-heredoc","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) by using a Python heredoc script executed via shell.","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-heredoc\u002FSKILL.md",[],[117,78,82,118,86,104,91,92,26,37],"write special chars heredoc","shell",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":130,"publishedAt":38},"01M6XCCG41M994JJEX6VN52PEP","worldmonitor-reference","Curated architecture index of the WorldMonitor open-source dashboard. Reference for extracting patterns — vanilla TypeScript, Panel class hierarchy, service layer, CSS grid, API edge functions, refresh scheduler, and 60+ data source integrations.","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fworldmonitor-reference\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[131,132,133,134,135,80,136,137,138,139,140,37,141,142,143,144,145,146,147,148],"reference","worldmonitor","worldmonitor reference","architecture","dashboard","css","scheduler","layer","hierarchy","source","extracting","panel","patterns","edge functions","integrations","open","api","data",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":38},"01M6XCCCHWNKG2W4VH9E6A10HF","virtual-list","Implement efficient virtual scrolling for rendering large lists with DOM recycling, chunk-based rendering, and performance optimizations","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fvirtual-list\u002FSKILL.md",[],[156,157,158,159,37,160,109,161,162,163,164],"virtual list","list","virtual","chunk","dom","rendering","recycling","implement","performance",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":38},"01M6XCC7X8PKMR2DEW91XGHYSV","verify-directory-structure","Diagnose and resolve file access issues by first verifying the directory structure.","https:\u002F\u002Fgithub.com\u002FUF-gzj\u002Fopenspace-claude-evolution\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fverify-directory-structure\u002FSKILL.md",[],[172,173,174,175,176,177,92,178,179,180],"directory","verify directory structure","structure","verify","access","first","issues","diagnose","file access"]