From 621dbe008e89b600c0f1503f60415699db64b682 Mon Sep 17 00:00:00 2001 From: Eric Andrade Date: Wed, 4 Feb 2026 18:47:37 -0300 Subject: [PATCH] fix: propagate exit codes in youtube-summarizer --list mode Fixed automation-breaking issue where --list mode always returned exit code 0, even when list_available_transcripts() failed due to invalid video ID or network errors. Changes: - extract-transcript.py: Capture return value and exit with proper status code - Before: list_available_transcripts(video_id); sys.exit(0) - After: success = list_available_transcripts(video_id); sys.exit(0 if success else 1) - SKILL.md: Bumped version to 1.2.1 - CHANGELOG.md: Created changelog with v1.2.1 release notes Impact: Automation scripts can now detect failures correctly via exit codes. Identified by Codex automated review in antigravity-awesome-skills PR #62. Co-Authored-By: Claude Sonnet 4.5 --- skills/youtube-summarizer/CHANGELOG.md | 66 +++++++++++++++++++ skills/youtube-summarizer/SKILL.md | 2 +- .../scripts/extract-transcript.py | 4 +- 3 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 skills/youtube-summarizer/CHANGELOG.md diff --git a/skills/youtube-summarizer/CHANGELOG.md b/skills/youtube-summarizer/CHANGELOG.md new file mode 100644 index 00000000..5dd7310f --- /dev/null +++ b/skills/youtube-summarizer/CHANGELOG.md @@ -0,0 +1,66 @@ +# Changelog - youtube-summarizer + +All notable changes to the youtube-summarizer skill will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +--- + +## [1.2.1] - 2026-02-04 + +### 🐛 Fixed + +- **Exit code propagation in `--list` mode** + - **Issue:** Script always exited with status 0 even when `list_available_transcripts()` failed + - **Risk:** Broke automation pipelines that rely on exit codes to detect failures + - **Root Cause:** Return value from `list_available_transcripts()` was ignored + - **Solution:** Now properly checks return value and exits with code 1 on failure + - **Impact:** Scripts in automation can now correctly detect when transcript listing fails (invalid video ID, network errors, etc.) + +### 🔧 Changed + +- `extract-transcript.py` (lines 58-60) + - Before: `list_available_transcripts(video_id); sys.exit(0)` + - After: `success = list_available_transcripts(video_id); sys.exit(0 if success else 1)` + +### 📝 Notes + +- **Breaking Change:** None - only affects error handling behavior +- **Backward Compatibility:** Scripts that check exit codes will now work correctly +- **Migration:** No changes needed for existing users + +### 🔗 Related + +- Identified by Codex automated review in antigravity-awesome-skills PR #62 +- Also fixed in antigravity-awesome-skills fork + +--- + +## [1.2.0] - 2026-02-04 + +### ✨ Added + +- Intelligent prompt workflow integration +- LLM processing with Claude CLI or GitHub Copilot CLI +- Progress indicators with rich terminal UI +- Multiple output formats +- Enhanced error handling + +### 🔧 Changed + +- Major refactor of transcript extraction logic +- Improved documentation in SKILL.md +- Updated installation requirements + +--- + +## [1.0.0] - 2025-02-01 + +### ✨ Initial Release + +- YouTube transcript extraction +- Language detection and selection +- Basic summarization +- Markdown output format +- Support for multiple languages diff --git a/skills/youtube-summarizer/SKILL.md b/skills/youtube-summarizer/SKILL.md index e3fc3bb6..c3e7d22e 100644 --- a/skills/youtube-summarizer/SKILL.md +++ b/skills/youtube-summarizer/SKILL.md @@ -1,7 +1,7 @@ --- name: youtube-summarizer description: "Extract transcripts from YouTube videos and generate comprehensive, detailed summaries using intelligent analysis frameworks" -version: 1.2.0 +version: 1.2.1 author: Eric Andrade created: 2025-02-01 updated: 2026-02-04 diff --git a/skills/youtube-summarizer/scripts/extract-transcript.py b/skills/youtube-summarizer/scripts/extract-transcript.py index 8c06569d..fe81870b 100644 --- a/skills/youtube-summarizer/scripts/extract-transcript.py +++ b/skills/youtube-summarizer/scripts/extract-transcript.py @@ -56,8 +56,8 @@ if __name__ == "__main__": # Check if user wants to list available transcripts if len(sys.argv) > 2 and sys.argv[2] == "--list": - list_available_transcripts(video_id) - sys.exit(0) + success = list_available_transcripts(video_id) + sys.exit(0 if success else 1) # Extract transcript language = sys.argv[2] if len(sys.argv) > 2 else 'en'