[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HWTKG6RESQ70E3PAMSTEJG":3,"skill-same:01M6HWTKG6RESQ70E3PAMSTEJG":66},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M6HWTKG6RESQ70E3PAMSTEJG","python-debug-execution",null,"Debug Python scripts with proper error surfacing and working directory verification","HKUDS\u002FAgentPilot","HKUDS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F118165258?v=4","01M6HW8VRNZP64G0P4MVJW2KKQ","✨Data Intelligence Lab@HKU✨","01M6HW8VWZVHBRHYH3T330PFWV",8029,"MIT","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fpython-debug-execution\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32],"python","debug","execution","python debug execution","directory","verification","scripts","error","with","2026-11-10 10:12:30",false,"---\nname: python-debug-execution\ndescription: Debug Python scripts with proper error surfacing and working directory verification\n---\n\n# Python Debug Execution Pattern\n\nWhen executing Python scripts that may fail, use this pattern to surface clear error information and diagnose issues effectively.\n\n## Core Technique\n\n### 1. Execute with Full Error Output\n\nAlways run Python scripts with stderr redirected to stdout and echo the exit code:\n\n```bash\npython3 script.py 2>&1 ; echo Exit code: $?\n```\n\n**Why this works:**\n- `2>&1` captures both stdout and stderr, ensuring tracebacks are visible\n- `echo Exit code: $?` reveals the actual exit status for debugging\n- Avoids opaque \"command failed\" errors that hide the real cause\n\n### 2. Verify Working Directory in Script\n\nBefore any file operations in Python scripts, add working directory verification:\n\n```python\nimport os\n\n# At the start of your script or before file operations\nprint(f\"Current working directory: {os.getcwd()}\")\n\n# For debugging, also list directory contents\nprint(f\"Directory contents: {os.listdir('.')}\")\n```\n\n**Why this works:**\n- File not found errors often stem from incorrect working directory assumptions\n- Makes path-related failures immediately diagnosable\n- Confirms the execution context matches expectations\n\n## Complete Debugging Workflow\n\n### Step 1: Add Diagnostic Code to Script\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\nimport os\nimport sys\n\ndef main():\n    # Diagnostic: verify execution context\n    print(f\"Working directory: {os.getcwd()}\")\n    print(f\"Python version: {sys.version}\")\n    print(f\"Directory listing: {os.listdir('.')}\")\n    \n    # Your actual logic here\n    # ...\n\nif __name__ == \"__main__\":\n    main()\n```\n\n### Step 2: Execute with Full Error Capture\n\n```bash\npython3 script.py 2>&1 ; echo Exit code: $?\n```\n\n### Step 3: Analyze Output\n\nLook for:\n- Traceback messages (indicate code errors)\n- Exit code (0 = success, non-zero = failure)\n- Working directory confirmation\n- Missing file\u002Fdirectory errors\n\n## Common Failure Patterns\n\n| Symptom | Likely Cause | Debug Clue |\n|---------|-------------|------------|\n| FileNotFoundError | Wrong working directory | Check `os.getcwd()` output |\n| ModuleNotFoundError | Missing dependencies | Traceback shows import path |\n| PermissionError | File access issues | Traceback shows file path |\n| Silent failure (exit 0, no output) | Logic bug, not crash | Add print statements |\n\n## When to Use This Pattern\n\n- Running Python scripts in automated\u002Fagent contexts\n- Debugging scripts that interact with files\n- Troubleshooting CI\u002FCD pipeline failures\n- Any scenario where script output may be truncated or hidden","# Python Debug Execution Pattern\n\nWhen executing Python scripts that may fail, use this pattern to surface clear error information and diagnose issues effectively.\n\n## Core Technique\n\n### 1. Execute with Full Error Output\n\nAlways run Python scripts with stderr redirected to stdout and echo the exit code:\n\n```bash\npython3 script.py 2>&1 ; echo Exit code: $?\n```\n\n**Why this works:**\n- `2>&1` captures both stdout and stderr, ensuring tracebacks are visible\n- `echo Exit code: $?` reveals the actual exit status for debugging\n- Avoids opaque \"command failed\" errors that hide the real cause\n\n### 2. Verify Working Directory in Script\n\nBefore any file operations in Python scripts, add working directory verification:\n\n```python\nimport os\n\n# At the start of your script or before file operations\nprint(f\"Current working directory: {os.getcwd()}\")\n\n# For debugging, also list directory contents\nprint(f\"Directory contents: {os.listdir('.')}\")\n```\n\n**Why this works:**\n- File not found errors often stem from incorrect working directory assumptions\n- Makes path-related failures immediately diagnosable\n- Confirms the execution context matches expectations\n\n## Complete Debugging Workflow\n\n### Step 1: Add Diagnostic Code to Script\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\nimport os\nimport sys\n\ndef main():\n    # Diagnostic: verify execution context\n    print(f\"Working directory: {os.getcwd()}\")\n    print(f\"Python version: {sys.version}\")\n    print(f\"Directory listing: {os.listdir('.')}\")\n    \n    # Your actual logic here\n    # ...\n\nif __name__ == \"__main__\":\n    main()\n```\n\n### Step 2: Execute with Full Error Capture\n\n```bash\npython3 script.py 2>&1 ; echo Exit code: $?\n```\n\n### Step 3: Analyze Output\n\nLook for:\n- Traceback messages (indicate code errors)\n- Exit code (0 = success, non-zero = failure)\n- Working directory confirmation\n- Missing file\u002Fdirectory errors\n\n## Common Failure Patterns\n\n| Symptom | Likely Cause | Debug Clue |\n|---------|-------------|------------|\n| FileNotFoundError | Wrong working directory | Check `os.getcwd()` output |\n| ModuleNotFoundError | Missing dependencies | Traceback shows import path |\n| PermissionError | File access issues | Traceback shows file path |\n| Silent failure (exit 0, no output) | Logic bug, not crash | Add print statements |\n\n## When to Use This Pattern\n\n- Running Python scripts in automated\u002Fagent contexts\n- Debugging scripts that interact with files\n- Troubleshooting CI\u002FCD pipeline failures\n- Any scenario where script output may be truncated or hidden",{"name":5,"description":7},"main","6b84b0689ca0d9e7b1e4061188ff6b60758e0f8a","openspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fpython-debug-execution",944,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot","https:\u002F\u002Fgithub.com\u002FHKUDS","https:\u002F\u002Fsites.google.com\u002Fview\u002Fchaoh","2026-11-12 22:26:39",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add HKUDS\u002FAgentPilot --skill python-debug-execution",{"tool":52,"command":53},"bunx","bunx skills add HKUDS\u002FAgentPilot --skill python-debug-execution",{"tool":55,"command":56},"pnpm","pnpm dlx skills add HKUDS\u002FAgentPilot --skill python-debug-execution","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fpython-debug-execution\u002FSKILL.md",true,[60],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},".skill_id","OTHER","其他",36,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fpython-debug-execution\u002F.skill_id",[67,86,105,130,154,176],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":33},"01M6HYB297NDABRERJRVG0K8R0","agentpilot","Set up AgentPilot and use its single entry to prepare missing inputs and run configured RSI experiments. Use when the user requests AgentPilot installation or work with AgentPilot.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fplugins\u002Fagentpilot\u002Fskills\u002Fagentpilot\u002FSKILL.md",[],[69,74,75,32,76,77,78,79,80,81,82,83,84,85],"prepare","requests","missing","installation","rsi","up","use","user","work","SET","run","experiments",{"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":33},"01M6HYAYWXTTE1J7DJM0MFNQ4H","remember","Review auto-memory entries and propose promotions to OPENSPACE.md, OPENSPACE.local.md, or retained auto-memory topics; detect duplicates, stale facts, conflicts, and ambiguous entries before making changes.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fskills\u002Fremember\u002FSKILL.md",[],[88,93,94,95,96,97,98,99,100,101,102,103,104],"memory","review","auto","openspace","changes","facts","detect","entries","local","conflicts","stale","duplicates",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":116,"publishedAt":33},"01M6HYAVMPM4SBDV60R2B5HPV8","skill-discovery","Search reusable OpenSpace skills locally, and browse cloud packages step by step when a cloud skill may help. Reusing proven skills saves tokens, improves reliability, and extends your capabilities beyond built-in tools.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fhost_skills\u002Fskill-discovery\u002FSKILL.md",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[117,118,119,96,120,121,122,123,124,125,126,127,128,129],"skill discovery","discovery","reusable","step by step","tokens","packages","help","cloud","reliability","capabilities","browse","search","Tools",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":33},"01M6HYAR811B3RB0M50RBEDGN6","delegate-task","Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fhost_skills\u002Fdelegate-task\u002FSKILL.md",[136],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},[138,139,140,96,141,142,143,144,145,119,95,80,146,147,148,149,150,151,152,153],"delegate","task","delegate task","time","improve","desktop automation","worker","community","autonomous","tool","stack","for","share","tasks","automation","MCP",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":33},"01M6HYAM9FSGV6E52AYENDQXYH","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\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-ts-check\u002FSKILL.md",[],[161,162,163,164,165,166,167,168,169,24,170,171,172,173,149,174,175],"write special chars ts check","write","check","type","files","filters","only","template","file","typescript","output","Existing","type-checking","errors","script",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":33},"01M6HYAH05HGV7SVWSVR8PJRQD","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\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-readback\u002FSKILL.md",[],[183,184,162,32,149,175,185,186,187,30,188,168,169,29,189,24],"write special chars readback","readback","helper","post","via","read","cleanup"]