OpenSpace zip-export-deliverable
Ensures codebase deliverables are properly exported as ZIP archives through a dedicated finalization step
git clone https://github.com/HKUDS/OpenSpace
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/OpenSpace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gdpval_bench/skills/zip-export-deliverable" ~/.claude/skills/hkuds-openspace-zip-export-deliverable && rm -rf "$T"
gdpval_bench/skills/zip-export-deliverable/SKILL.mdZIP Export Deliverable Finalization
Purpose
When a task requires delivering a codebase or project directory as a ZIP archive, this skill ensures the deliverable is actually created through an explicit finalization step, rather than assuming directory creation equals completion.
When to Apply
Use this skill when:
- The task deliverable is a codebase, project, or directory structure
- The deliverable must be exported or packaged as a ZIP file
- You have already created the project files and directory structure
Common Pitfall
Do NOT assume that creating the project directory and files means the deliverable is complete. The ZIP archive itself must be explicitly created as a final step.
Step-by-Step Instructions
Step 1: Verify Project Structure
Before creating the ZIP, confirm all required files and directories exist:
ls -la ./project/ # or find ./project -type f | head -20
Step 2: Create Dedicated Final Iteration
Add a final step/iteration specifically for ZIP creation. This should be a distinct action, not combined with other tasks.
Step 3: Execute ZIP Command
Run the zip command with recursive flag:
zip -r project.zip ./project
Or with a custom name:
zip -r <deliverable-name>.zip ./<project-directory>
Step 4: Verify ZIP Creation
Confirm the ZIP file was created successfully:
ls -lh project.zip # Should show file size > 0 unzip -l project.zip | head -20 # Should list contents
Step 5: Report Completion
Explicitly confirm the ZIP deliverable has been created in your final response to the user.
Code Example
import subprocess import os def finalize_deliverable(project_dir="project", zip_name="project.zip"): """Create ZIP archive of project deliverable.""" # Step 1: Verify project exists if not os.path.exists(project_dir): raise FileNotFoundError(f"Project directory {project_dir} not found") # Step 2: Create ZIP result = subprocess.run( ["zip", "-r", zip_name, f"./{project_dir}"], capture_output=True, text=True ) if result.returncode != 0: raise RuntimeError(f"ZIP creation failed: {result.stderr}") # Step 3: Verify zip_size = os.path.getsize(zip_name) print(f"Created {zip_name} ({zip_size} bytes)") return zip_name
Checklist
- All project files are created in the expected directory
- A dedicated step is allocated for ZIP creation
-
command is executedzip -r <name>.zip ./<directory> - ZIP file existence and size are verified
- Deliverable completion is explicitly confirmed to the user
Related Patterns
- File creation should always include verification steps
- Deliverables should be explicitly validated before marking tasks complete
- Archive/export operations need their own iteration, not implicit completion