[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KFGN1F5FDA7AVHT54XDK7F":3,"skill-same:01M6KFGN1F5FDA7AVHT54XDK7F":72},{"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":26,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6KFGN1F5FDA7AVHT54XDK7F","fallback-python-shell",null,"Use run_shell with Python heredoc when execute_code_sandbox or read_file fail","xyliu-cs\u002FOpenSpace-GDPval","xyliu-cs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F89236536?v=4","01M6KF8Z1V4TXS86CKSH48BY8T","xy","01M6KF8Z67443W0SHXM85JEF0B",0,"MIT","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Ffallback-python-shell\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",[27,28,29,30,31,32,33,34,35,36,37,38],"python","shell","fallback","fallback python shell","sandbox","run","code","file","read","execute","use","with","2026-11-10 10:12:30",false,"---\nname: fallback-python-shell\ndescription: Use run_shell with Python heredoc when execute_code_sandbox or read_file fail\n---\n\n# Shell-Based Python Fallback\n\n## When to Use\n\nUse this fallback pattern when:\n- `execute_code_sandbox` returns 'unknown error'\n- `read_file` returns 'unknown error' for supported formats\n- You need to process documents, analyze data, or read files programmatically\n\n## Core Technique\n\nRun Python code through `run_shell` using a heredoc. This bypasses sandbox execution issues while maintaining Python's full capabilities for file I\u002FO and data processing.\n\n### Basic Pattern\n\n```bash\npython3 \u003C\u003C 'EOF'\n# Your Python code here\nimport json\nimport os\n\n# Example: Read and process a file\nwith open('\u002Fpath\u002Fto\u002Ffile.txt', 'r') as f:\n    content = f.read()\n    print(content)\nEOF\n```\n\n### Key Syntax Points\n\n1. Use `python3 \u003C\u003C 'EOF'` (quoted EOF prevents variable expansion in the heredoc)\n2. Indent Python code starting from column 0 (no extra indentation from shell)\n3. End with `EOF` on its own line with no leading\u002Ftrailing whitespace\n4. Print results to stdout to capture them in the tool response\n\n## Common Use Cases\n\n### Reading Files (Fallback for read_file)\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport json\n\n# Read text file\nwith open('document.txt', 'r') as f:\n    content = f.read()\n    print(content)\n\n# Read JSON file\nwith open('data.json', 'r') as f:\n    data = json.load(f)\n    print(json.dumps(data, indent=2))\nEOF\n```\n\n### Processing Excel\u002FCSV Files\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport pandas as pd\n\n# Read Excel file\ndf = pd.read_excel('data.xlsx', sheet_name='Sheet1')\nprint(df.to_string())\nprint(f\"Shape: {df.shape}\")\n\n# Read CSV\ndf = pd.read_csv('data.csv')\nprint(df.head(10))\nEOF\n```\n\n### Reading PDF Files\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport fitz  # PyMuPDF\n\ndoc = fitz.open('document.pdf')\nfor page_num in range(len(doc)):\n    page = doc[page_num]\n    text = page.get_text()\n    print(f\"=== Page {page_num + 1} ===\")\n    print(text)\ndoc.close()\nEOF\n```\n\n### Reading Word Documents\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom docx import Document\n\ndoc = Document('document.docx')\nfor para in doc.paragraphs:\n    print(para.text)\nEOF\n```\n\n### Data Analysis\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport pandas as pd\nimport numpy as np\n\ndf = pd.read_csv('data.csv')\n\n# Basic statistics\nprint(f\"Shape: {df.shape}\")\nprint(f\"Columns: {list(df.columns)}\")\nprint(df.describe())\n\n# Filter and aggregate\nresult = df.groupby('category').agg({'value': 'sum'})\nprint(result)\nEOF\n```\n\n## Best Practices\n\n1. **Error Handling**: Wrap file operations in try\u002Fexcept blocks\n   ```bash\n   python3 \u003C\u003C 'EOF'\n   try:\n       with open('file.txt', 'r') as f:\n           content = f.read()\n           print(content)\n   except FileNotFoundError:\n       print(\"ERROR: File not found\")\n   except Exception as e:\n       print(f\"ERROR: {e}\")\n   EOF\n   ```\n\n2. **Large Output**: For large files, process in chunks or print summaries\n   ```bash\n   python3 \u003C\u003C 'EOF'\n   with open('large_file.csv', 'r') as f:\n       for i, line in enumerate(f):\n           if i \u003C 10:\n               print(line.strip())\n           else:\n               print(\"... truncated ...\")\n               break\n   EOF\n   ```\n\n3. **Working Directory**: Remember run_shell executes in the current working directory. Use absolute paths or ensure you're in the right directory.\n\n4. **Multiple Steps**: Chain related operations in a single heredoc rather than multiple calls\n   ```bash\n   python3 \u003C\u003C 'EOF'\n   # Do all related work in one call\n   with open('input.json') as f:\n       data = json.load(f)\n   \n   processed = [transform(x) for x in data]\n   \n   with open('output.json', 'w') as f:\n       json.dump(processed, f)\n   \n   print(\"Processing complete\")\n   EOF\n   ```\n\n## Troubleshooting\n\n- **Module not found**: Some packages may not be available. Stick to standard library or commonly pre-installed packages (pandas, numpy are often available).\n- **Permission errors**: Ensure files aren't in protected directories.\n- **Character encoding**: Specify encoding explicitly: `open('file.txt', 'r', encoding='utf-8')`\n- **Very long code**: Split into multiple heredocs or write to a temporary .py file first.","# Shell-Based Python Fallback\n\n## When to Use\n\nUse this fallback pattern when:\n- `execute_code_sandbox` returns 'unknown error'\n- `read_file` returns 'unknown error' for supported formats\n- You need to process documents, analyze data, or read files programmatically\n\n## Core Technique\n\nRun Python code through `run_shell` using a heredoc. This bypasses sandbox execution issues while maintaining Python's full capabilities for file I\u002FO and data processing.\n\n### Basic Pattern\n\n```bash\npython3 \u003C\u003C 'EOF'\n# Your Python code here\nimport json\nimport os\n\n# Example: Read and process a file\nwith open('\u002Fpath\u002Fto\u002Ffile.txt', 'r') as f:\n    content = f.read()\n    print(content)\nEOF\n```\n\n### Key Syntax Points\n\n1. Use `python3 \u003C\u003C 'EOF'` (quoted EOF prevents variable expansion in the heredoc)\n2. Indent Python code starting from column 0 (no extra indentation from shell)\n3. End with `EOF` on its own line with no leading\u002Ftrailing whitespace\n4. Print results to stdout to capture them in the tool response\n\n## Common Use Cases\n\n### Reading Files (Fallback for read_file)\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport json\n\n# Read text file\nwith open('document.txt', 'r') as f:\n    content = f.read()\n    print(content)\n\n# Read JSON file\nwith open('data.json', 'r') as f:\n    data = json.load(f)\n    print(json.dumps(data, indent=2))\nEOF\n```\n\n### Processing Excel\u002FCSV Files\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport pandas as pd\n\n# Read Excel file\ndf = pd.read_excel('data.xlsx', sheet_name='Sheet1')\nprint(df.to_string())\nprint(f\"Shape: {df.shape}\")\n\n# Read CSV\ndf = pd.read_csv('data.csv')\nprint(df.head(10))\nEOF\n```\n\n### Reading PDF Files\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport fitz  # PyMuPDF\n\ndoc = fitz.open('document.pdf')\nfor page_num in range(len(doc)):\n    page = doc[page_num]\n    text = page.get_text()\n    print(f\"=== Page {page_num + 1} ===\")\n    print(text)\ndoc.close()\nEOF\n```\n\n### Reading Word Documents\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom docx import Document\n\ndoc = Document('document.docx')\nfor para in doc.paragraphs:\n    print(para.text)\nEOF\n```\n\n### Data Analysis\n\n```bash\npython3 \u003C\u003C 'EOF'\nimport pandas as pd\nimport numpy as np\n\ndf = pd.read_csv('data.csv')\n\n# Basic statistics\nprint(f\"Shape: {df.shape}\")\nprint(f\"Columns: {list(df.columns)}\")\nprint(df.describe())\n\n# Filter and aggregate\nresult = df.groupby('category').agg({'value': 'sum'})\nprint(result)\nEOF\n```\n\n## Best Practices\n\n1. **Error Handling**: Wrap file operations in try\u002Fexcept blocks\n   ```bash\n   python3 \u003C\u003C 'EOF'\n   try:\n       with open('file.txt', 'r') as f:\n           content = f.read()\n           print(content)\n   except FileNotFoundError:\n       print(\"ERROR: File not found\")\n   except Exception as e:\n       print(f\"ERROR: {e}\")\n   EOF\n   ```\n\n2. **Large Output**: For large files, process in chunks or print summaries\n   ```bash\n   python3 \u003C\u003C 'EOF'\n   with open('large_file.csv', 'r') as f:\n       for i, line in enumerate(f):\n           if i \u003C 10:\n               print(line.strip())\n           else:\n               print(\"... truncated ...\")\n               break\n   EOF\n   ```\n\n3. **Working Directory**: Remember run_shell executes in the current working directory. Use absolute paths or ensure you're in the right directory.\n\n4. **Multiple Steps**: Chain related operations in a single heredoc rather than multiple calls\n   ```bash\n   python3 \u003C\u003C 'EOF'\n   # Do all related work in one call\n   with open('input.json') as f:\n       data = json.load(f)\n   \n   processed = [transform(x) for x in data]\n   \n   with open('output.json', 'w') as f:\n       json.dump(processed, f)\n   \n   print(\"Processing complete\")\n   EOF\n   ```\n\n## Troubleshooting\n\n- **Module not found**: Some packages may not be available. Stick to standard library or commonly pre-installed packages (pandas, numpy are often available).\n- **Permission errors**: Ensure files aren't in protected directories.\n- **Character encoding**: Specify encoding explicitly: `open('file.txt', 'r', encoding='utf-8')`\n- **Very long code**: Split into multiple heredocs or write to a temporary .py file first.",{"name":5,"description":7},"main","af1b40a42167d09c30b3a63000aa14ace4c1e229","gdpval_bench\u002Fskills\u002Ffallback-python-shell","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval","https:\u002F\u002Fgithub.com\u002Fxyliu-cs","https:\u002F\u002Fxyliu-cs.github.io","PhD Student in CS, CUHK-Shenzhen.","2026-04-06 20:32:15",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add xyliu-cs\u002FOpenSpace-GDPval --skill fallback-python-shell",{"tool":58,"command":59},"bunx","bunx skills add xyliu-cs\u002FOpenSpace-GDPval --skill fallback-python-shell",{"tool":61,"command":62},"pnpm","pnpm dlx skills add xyliu-cs\u002FOpenSpace-GDPval --skill fallback-python-shell","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Ffallback-python-shell\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},".skill_id","OTHER","其他",35,"https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Ffallback-python-shell\u002F.skill_id",[73,86,94,109,133,152],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":39},"01M6KG8MF1S664SWBDENYRSCK8","zip-export-deliverable","Ensures codebase deliverables are properly exported as ZIP archives through a dedicated finalization step","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzip-export-deliverable\u002FSKILL.md",[],[80,81,82,83,84,85],"zip export deliverable","zip","export","deliverables","codebase","as",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":39},"01M6KG8GAZWHHEK7VNJDW0ME21","zip-deliverable-finalization","Ensure codebase deliverables are properly packaged as ZIP exports in a dedicated final step","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzip-deliverable-finalization\u002FSKILL.md",[],[93,81,83,84,85],"zip deliverable finalization",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":39},"01M6KG8CMQQ1PYMNTSRZ9VS1MD","zero-iteration-failure-analysis","Identify and handle agent failures with 0 iterations as pre-execution system issues","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzero-iteration-failure-analysis\u002FSKILL.md",[],[101,102,103,104,105,38,106,107,85,108],"failure analysis","ZeRO","analysis","iteration","zero iteration failure analysis","issues","execution","system",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":120,"publishedAt":39},"01M6KG86W3PA07FT9W58YHHERM","write-file-fallback-report","Generate professional documents using write_file when primary data sources fail, leveraging embedded domain knowledge instead of external retrieval","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report\u002FSKILL.md",[115],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[29,121,34,122,123,124,125,126,127,128,129,130,131,132],"write","report","write file fallback report","domain","professional","sources","retrieval","generate","embedded","documents","data","knowledge",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":142,"publishedAt":39},"01M6KG82GAEY3GG77CMGCK1C2T","fallback-doc-with-delegation","Generate professional documents after tool failures using shell_agent for complex formats or write_file for simple text\u002Fmarkdown","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report-enhanced\u002FSKILL.md",[139],{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[143,38,29,144,145,28,130,128,34,146,147,148,121,149,125,150,151],"fallback doc with delegation","doc","delegation","markdown","tool","text","simple","formats","for",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":39},"01M6KG7WT7GX5NYCGEFHW22NV7","context-anchored-fallback-report","Generate documents with write_file when retrieval tools fail, with explicit guardrails against task context drift","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report-enhanced-4bc5c2\u002FSKILL.md",[158],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},[29,122,160,161,128,34,162,163,121,164,165,127,38,166,130],"context","context anchored fallback report","Guardrails","Tools","task","drift","context drift"]