[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KJVG3EXGS5ES8FP6PA50J2":3,"skill-same:01M6KJVG3EXGS5ES8FP6PA50J2":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":13,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6KJVG3EXGS5ES8FP6PA50J2","python-spreadsheet-debug",null,"Systematic Python debugging workflow for spreadsheet tasks to isolate environment issues from script logic","AG064\u002FOpenSpace","AG064","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F184930299?v=4","01M6KHVFG7TB73NHX3RDYSTMH2","01M6KHVFMM7XA2PZA9Z83PHS3V",0,"MIT","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fpython-spreadsheet-debug\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41],"python","debug","spreadsheet","python spreadsheet debug","workflow","debugging","tasks","issues","environment","logic","systematic","script","for","python debugging","2026-11-10 10:12:30",false,"---\nname: python-spreadsheet-debug\ndescription: Systematic Python debugging workflow for spreadsheet tasks to isolate environment issues from script logic\n---\n\n# Python Spreadsheet Debugging Workflow\n\nWhen executing Python scripts for spreadsheet\u002Fdata processing tasks, use this systematic debugging approach to efficiently isolate environment configuration issues from script logic errors, especially when `run_shell` returns opaque errors.\n\n## Step 1: Verify Python Environment\n\nFirst, confirm the Python interpreter path and version to ensure you're working in the expected environment:\n\n```bash\nwhich python python3\npython --version\npython3 --version\n```\n\nThis identifies whether Python is available and which version is being used.\n\n## Step 2: Test Library Imports in Isolation\n\nBefore running your full script, verify that required libraries can be imported successfully. Test each critical import individually:\n\n```bash\npython -c \"import pandas; print('pandas:', pandas.__version__)\"\npython -c \"import openpyxl; print('openpyxl:', openpyxl.__version__)\"\npython -c \"import xlrd; print('xlrd:', xlrd.__version__)\"\n```\n\nReplace library names based on your script's requirements. This identifies missing dependencies or version conflicts early.\n\n## Step 3: Run Minimal Test Script\n\nCreate and execute a minimal script that exercises only the core functionality without full business logic:\n\n```python\n# test_minimal.py\nimport pandas as pd\n\n# Test 1: Can we read a file?\ntry:\n    df = pd.read_excel('sample.xlsx')\n    print(f\"✓ File read successful: {len(df)} rows\")\nexcept Exception as e:\n    print(f\"✗ File read failed: {e}\")\n\n# Test 2: Can we perform basic operations?\ntry:\n    result = df.groupby('category')['amount'].sum()\n    print(f\"✓ GroupBy operation successful\")\nexcept Exception as e:\n    print(f\"✗ Operation failed: {e}\")\n```\n\nRun this with: `python test_minimal.py`\n\n**Purpose:** This isolates whether the issue is with file access, library functionality, or specific script logic.\n\n## Step 4: Execute Full Script\n\nOnce the minimal test passes, run the complete script:\n\n```bash\npython your_script.py\n```\n\nIf errors occur now, you know the environment is correctly configured and can focus on debugging the specific logic.\n\n## Quick Diagnostic Command\n\nFor rapid diagnosis, run all checks in sequence:\n\n```bash\necho \"=== Python Version ===\" && python --version && \\\necho \"=== Key Imports ===\" && python -c \"import pandas, openpyxl; print('OK')\" && \\\necho \"=== Ready for full script ===\"\n```\n\n## Common Issues and Resolutions\n\n| Symptom | Likely Cause | Resolution |\n|---------|--------------|------------|\n| `ModuleNotFoundError` | Missing package | `pip install \u003Cpackage-name>` |\n| `ImportError` with version | Version conflict | Check `pip list`, reinstall specific version |\n| `FileNotFoundError` | Wrong path\u002Fcontext | Verify working directory with `pwd` |\n| `PermissionError` | File access | Check file permissions or path |\n\n## When to Use This Pattern\n\n- `run_shell` returns cryptic or truncated error messages\n- Script worked previously but suddenly fails\n- Deploying to a new environment or container\n- Debugging spreadsheet processing with pandas, openpyxl, xlrd, etc.\n\n## Benefits\n\n- **Fast isolation:** Identifies environment vs. logic issues within seconds\n- **Incremental confidence:** Each passing step narrows the problem space\n- **Reusable pattern:** Apply consistently across all Python spreadsheet tasks","# Python Spreadsheet Debugging Workflow\n\nWhen executing Python scripts for spreadsheet\u002Fdata processing tasks, use this systematic debugging approach to efficiently isolate environment configuration issues from script logic errors, especially when `run_shell` returns opaque errors.\n\n## Step 1: Verify Python Environment\n\nFirst, confirm the Python interpreter path and version to ensure you're working in the expected environment:\n\n```bash\nwhich python python3\npython --version\npython3 --version\n```\n\nThis identifies whether Python is available and which version is being used.\n\n## Step 2: Test Library Imports in Isolation\n\nBefore running your full script, verify that required libraries can be imported successfully. Test each critical import individually:\n\n```bash\npython -c \"import pandas; print('pandas:', pandas.__version__)\"\npython -c \"import openpyxl; print('openpyxl:', openpyxl.__version__)\"\npython -c \"import xlrd; print('xlrd:', xlrd.__version__)\"\n```\n\nReplace library names based on your script's requirements. This identifies missing dependencies or version conflicts early.\n\n## Step 3: Run Minimal Test Script\n\nCreate and execute a minimal script that exercises only the core functionality without full business logic:\n\n```python\n# test_minimal.py\nimport pandas as pd\n\n# Test 1: Can we read a file?\ntry:\n    df = pd.read_excel('sample.xlsx')\n    print(f\"✓ File read successful: {len(df)} rows\")\nexcept Exception as e:\n    print(f\"✗ File read failed: {e}\")\n\n# Test 2: Can we perform basic operations?\ntry:\n    result = df.groupby('category')['amount'].sum()\n    print(f\"✓ GroupBy operation successful\")\nexcept Exception as e:\n    print(f\"✗ Operation failed: {e}\")\n```\n\nRun this with: `python test_minimal.py`\n\n**Purpose:** This isolates whether the issue is with file access, library functionality, or specific script logic.\n\n## Step 4: Execute Full Script\n\nOnce the minimal test passes, run the complete script:\n\n```bash\npython your_script.py\n```\n\nIf errors occur now, you know the environment is correctly configured and can focus on debugging the specific logic.\n\n## Quick Diagnostic Command\n\nFor rapid diagnosis, run all checks in sequence:\n\n```bash\necho \"=== Python Version ===\" && python --version && \\\necho \"=== Key Imports ===\" && python -c \"import pandas, openpyxl; print('OK')\" && \\\necho \"=== Ready for full script ===\"\n```\n\n## Common Issues and Resolutions\n\n| Symptom | Likely Cause | Resolution |\n|---------|--------------|------------|\n| `ModuleNotFoundError` | Missing package | `pip install \u003Cpackage-name>` |\n| `ImportError` with version | Version conflict | Check `pip list`, reinstall specific version |\n| `FileNotFoundError` | Wrong path\u002Fcontext | Verify working directory with `pwd` |\n| `PermissionError` | File access | Check file permissions or path |\n\n## When to Use This Pattern\n\n- `run_shell` returns cryptic or truncated error messages\n- Script worked previously but suddenly fails\n- Deploying to a new environment or container\n- Debugging spreadsheet processing with pandas, openpyxl, xlrd, etc.\n\n## Benefits\n\n- **Fast isolation:** Identifies environment vs. logic issues within seconds\n- **Incremental confidence:** Each passing step narrows the problem space\n- **Reusable pattern:** Apply consistently across all Python spreadsheet tasks",{"name":5,"description":7},"main","ff671ef61ed6587c49bd54c81cdc751c0b99e363","gdpval_bench\u002Fskills\u002Fpython-spreadsheet-debug","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace","https:\u002F\u002Fgithub.com\u002FAG064","AG064, E.Mi.\r\n\r\nA person who thinks all the time, yet all they have to think is nothing. I want to improve the world and work on open source projects","2026-10-08 06:53:48",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add AG064\u002FOpenSpace --skill python-spreadsheet-debug",{"tool":60,"command":61},"bunx","bunx skills add AG064\u002FOpenSpace --skill python-spreadsheet-debug",{"tool":63,"command":64},"pnpm","pnpm dlx skills add AG064\u002FOpenSpace --skill python-spreadsheet-debug","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fpython-spreadsheet-debug\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},".skill_id","OTHER","其他",38,"https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fpython-spreadsheet-debug\u002F.skill_id",[75,96,113,122,150,166],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":42},"01M6KKMPWA0B5SCCH766F8M5EA","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\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-ts-check\u002FSKILL.md",[],[82,83,84,85,86,87,40,88,39,89,90,91,92,93,94,28,95],"write special chars ts check","check","write","filters","Existing","type-checking","errors","output","type","files","only","template","file","typescript",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":42},"01M6KKMJXVBNVEY3TRK055F4A7","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\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-readback\u002FSKILL.md",[],[103,104,84,93,105,106,94,28,107,108,109,110,111,40,39,112],"readback","write special chars readback","cleanup","read","scripts","verification","via","post","helper","with",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":42},"01M6KKMEGX9M9NC105J0W3Q5B9","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\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-heredoc\u002FSKILL.md",[],[84,120,28,40,109,93,121,94,39],"write special chars heredoc","shell",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":131,"publishedAt":42},"01M6KKM8EJ2AATVHZBNB916WT0","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\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fworldmonitor-reference\u002FSKILL.md",[128],{"categoryNo":129,"categoryName":130,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000033","数据分析师",[132,133,134,135,95,136,137,138,139,140,40,141,142,143,144,145,146,147,148,149],"reference","worldmonitor","worldmonitor reference","dashboard","css","architecture","extracting","hierarchy","source","layer","panel","patterns","edge functions","integrations","open","api","data","scheduler",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":42},"01M6KKM39PHYK627F19GE2B9XN","virtual-list","Implement efficient virtual scrolling for rendering large lists with DOM recycling, chunk-based rendering, and performance optimizations","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fvirtual-list\u002FSKILL.md",[],[157,158,159,160,40,161,112,162,163,164,165],"virtual list","list","virtual","chunk","dom","rendering","recycling","implement","performance",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":42},"01M6KKKY7T2P61Y0JH54CDEJKQ","verify-directory-structure","Diagnose and resolve file access issues by first verifying the directory structure.","https:\u002F\u002Fgithub.com\u002FAG064\u002FOpenSpace\u002Fblob\u002Fmain\u002Fshowcase\u002Fskills\u002Fverify-directory-structure\u002FSKILL.md",[],[173,174,175,176,177,178,94,35,179,180],"directory","verify","structure","verify directory structure","access","first","diagnose","file access"]