Incremental audio production with duration mismatch handling, adaptive stem extension, and pre-mix alignment verification
日本語の概要は準備中です。原文の説明を表示しています。
Robust PowerPoint generation with shell_agent primary and python-pptx fallback, including directory verification and error debugging
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this workflow when:
This skill provides two paths:
Before any generation, verify your current working directory:
# Check and record current directory
pwd
# Output should be saved for later reference
# List current contents to establish baseline
ls -la
Important: Save the pwd output. You'll need this to verify where files are created.
Attempt PowerPoint creation via shell_agent first (quickest if successful):
Use shell_agent to create a PowerPoint presentation with:
- Specify the exact number of slides needed
- Define the content/topic for each slide
- Request the file be saved with a clear filename (e.g., presentation.pptx)
- Ask the agent to confirm the full file path after creation
Example task description:
Create a PowerPoint presentation with 10 slides covering [topic]. Each slide should have a title and bullet points. Save it as presentation.pptx and tell me the full file path where you saved it.
If shell_agent returns "unknown error" or fails:
# Capture actual error by adding stderr redirect
# Re-run the task or check previous error output
# Add 2>&1 to any shell commands to see real errors
After 2 failures or opaque errors, switch to Fallback Path (Step 2).
When shell_agent fails, use direct Python execution. Always write script to file first, then execute.
Write a complete Python script using python-pptx:
from pptx import Presentation
from pptx.util import Inches, Pt
# Create presentation
prs = Presentation()
# Slide 1: Title slide
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Title Here"
subtitle.text = "Subtitle Here"
# Slide 2+: Content slides
for i in range(2, 11):
slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
title.text = f"Slide {i} Title"
# Add content
content = slide.placeholders[1]
content.text = f"Content for slide {i}"
# Save to current working directory
prs.save('presentation.pptx')
print("File saved to:", os.path.abspath('presentation.pptx'))
Save this script as: create_presentation.py
# Write script to file first, then execute with stderr capture
python create_presentation.py 2>&1 | tee execution_log.txt
# Check for success
if [ -f "presentation.pptx" ]; then
echo "SUCCESS: File created in current directory"
ls -la presentation.pptx
else
echo "FAILED: Check execution_log.txt for errors"
cat execution_log.txt
fi
# Confirm file is where expected
CURRENT_PWD=$(pwd)
FILE_PATH=$(realpath presentation.pptx 2>/dev/null)
if [[ "$FILE_PATH" == "$CURRENT_PWD"* ]]; then
echo "✓ File is in expected directory"
else
echo "⚠ File created elsewhere: $FILE_PATH"
echo "Current directory: $CURRENT_PWD"
fi
PowerPoint files may be created in nested directories. Always search before assuming location:
# Search for all .pptx files in workspace
find . -name "*.pptx" -type f 2>/dev/null
# Search for specific filename
find . -name "presentation.pptx" -type f 2>/dev/null
# If not found, broaden search
find . -name "*.pptx" -type f -mmin -5 2>/dev/null
Once located, bring the file to your known working directory:
# Found path example: ./workspace/task_123/output/presentation.pptx
FOUND_PATH=$(find . -name "presentation.pptx" -type f | head -1)
if [ -n "$FOUND_PATH" ]; then
cp "$FOUND_PATH" .
echo "Copied from: $FOUND_PATH"
else
echo "ERROR: File not found - check Python script execution"
fi
Confirm the file exists and is valid:
# Check file exists and size
ls -la presentation.pptx
# Verify not empty (PowerPoint files should be >1KB minimum)
FILE_SIZE=$(stat -f%z presentation.pptx 2>/dev/null || stat -c%s presentation.pptx 2>/dev/null)
if [ "$FILE_SIZE" -gt 1000 ]; then
echo "✓ File size OK: $FILE_SIZE bytes"
else
echo "⚠ WARNING: File may be empty or corrupted ($FILE_SIZE bytes)"
fi
# Check file type
file presentation.pptx
Use these when errors occur:
# Capture full error output from any command
python script.py 2>&1 | tee error_log.txt
# Check Python is available and python-pptx installed
python -c "from pptx import Presentation; print('python-pptx OK')" 2>&1
# List all .pptx files with details
find . -name "*.pptx" -type f -exec ls -la {} \; 2>/dev/null
# Check write permissions in current directory
touch test_write.txt && rm test_write.txt && echo "Write OK" || echo "Write FAILED"
# Show full path context
pwd
ls -la
| Pitfall | Solution |
|---|---|
| shell_agent returns opaque errors | Switch to Fallback Path after 2 failures; add 2>&1 for real errors |
| Assuming file is in current directory | Always run find command before proceeding |
| Script runs but file not found | Check python script's save path; verify working directory |
| File is 0 bytes | Re-run Python script; check for exceptions in error log |
| Multiple .pptx files found | Use specific search: find . -name "*presentation*.pptx" -mmin -5 |
| No module named pptx | Install: pip install python-pptx or use execute_code_sandbox |
Start
│
├─> Try shell_agent (Step 1)
│ │
│ ├─> Success with path confirmed → Go to Step 4
│ │
│ └─> Failure or opaque error (2×) → Switch to Fallback
│ │
│ └─> Direct Python (Step 2)
│ │
│ ├─> Success → Go to Step 4
│ │
│ └─> Failure → Debug with commands above
│
└─> Always: locate with find, copy, verify (Steps 3-5)
# Pre-check
pwd # Save output: /workspace/current_task
# Try shell_agent (via task delegation)
# If fails after 2 attempts:
# Create Python script
cat > create_presentation.py << 'EOF'
from pptx import Presentation
prs = Presentation()
# ... add slides ...
prs.save('presentation.pptx')
print("Saved to:", __import__('os').path.abspath('presentation.pptx'))
EOF
# Execute with error capture
python create_presentation.py 2>&1 | tee exec.log
# Locate (may be in subdirectory)
find . -name "presentation.pptx" -type f
# Output: ./generated/presentation.pptx
# Copy to working directory
cp ./generated/presentation.pptx .
# Verify
ls -la presentation.pptx
file presentation.pptx
| Problem | Command | Expected Output | Action |
|---|---|---|---|
| python-pptx not installed | python -c "from pptx import Presentation" | ImportError | Install: pip install python-pptx |
| Permission denied | touch test.txt && rm test.txt | Success | Check directory permissions with ls -la |
| File not found | find . -name "*.pptx" -type f | Path or empty | Re-run script; check error log |
| Opaque error | python script.py 2>&1 | Real exception | Fix Python code based on error message |
| Multiple files | find . -name "*.pptx" -type f | Multiple paths | Use -mmin -5 to find recent files |
Use direct Python (Step 2) immediately when:
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Incremental audio production with duration mismatch handling, adaptive stem extension, and pre-mix alignment verification
日本語の概要は準備中です。原文の説明を表示しています。
Incremental audio production with duration alignment handling, per-stem verification, and adaptive extension strategies
日本語の概要は準備中です。原文の説明を表示しています。
Create serverless API proxy endpoints that hide API keys and provide a unified backend for the dashboard frontend. Designed for Vercel deployment.
日本語の概要は準備中です。原文の説明を表示しています。
End-to-end audio production workflow with stems, effects, archiving, and verification
日本語の概要は準備中です。原文の説明を表示しています。
Handle cascading data retrieval tool failures by falling back to embedded knowledge generation
日本語の概要は準備中です。原文の説明を表示しています。
Fallback pattern for executing Python code when execute_code_sandbox fails
日本語の概要は準備中です。原文の説明を表示しています。