ワンクリックで
updater-reliability
Implement safe and reliable updater system changes
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Implement safe and reliable updater system changes
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Retrieve up-to-date library documentation with Context7 MCP and ground code changes. Use when tasks involve external APIs, version-sensitive behavior, migrations, deprecations, setup/configuration decisions, or framework/library best-practice questions.
Behavior-preserving refactoring guidance for burndown-chart with layered architecture and safety gates
Install and configure optional development tools for repository contributors. Use when asked to install ripgrep, rg, jq, yq, GitHub Copilot CLI, copilot, or any command-line dev tool. Also use when a tool is reported as "not found", when the user wants to set up their development workstation, or when searching / log-inspection tools are needed. Provides platform-specific install commands for Windows (winget, no admin required), macOS (Homebrew), and Linux (apt/rpm).
Optimally use rg (ripgrep), fd, jq, and yq for code exploration, file discovery, and structured data querying in any repository. Use when asked to search code, find files, grep for patterns, explore a codebase structure, parse JSON or YAML configs, inspect package.json or pyproject.toml, extract API response data, find all usages of a function or variable, or filter results across file types. Works with any language, framework, or project structure.
Create new Agent Skills for GitHub Copilot from prompts or by duplicating this template. Use when asked to "create a skill", "make a new skill", "scaffold a skill", or when building specialized AI capabilities with bundled resources. Generates SKILL.md files with proper frontmatter, directory structure, and optional scripts/references/assets folders.
Improve quality and reliability of Python backend changes in burndown-chart
| name | updater-reliability |
| description | Implement safe and reliable updater system changes |
Use this skill when working on the two-phase update mechanism or updater components.
Two-phase update mechanism:
Key insight: Temp updater runs from different location (temp dir), so it can replace both original files without Windows file locking issues.
docs/updater_architecture.mddata/update_manager.py - Update orchestrationcallbacks/app_update.py - Update UI callbacksui/update_notification.py - Update notification UIdata/version_tracker.py - Version comparisonupdater/updater.py - Main updater logicupdater/file_ops.py - File replacement operationsbuild/updater.spec - Updater build configdata/installation_context.py - Detect installation typebuild/generate_version_info.py - Version info for both executablesStates must follow this flow:
CHECKING → AVAILABLE → DOWNLOADING → READY → INSTALLING → INSTALLED
↓ ↓ ↓ ↓
ERROR CANCELLED ERROR ERROR
Never skip states or create invalid transitions.
# ✓ GOOD: Atomic file operations with rollback
def replace_file_safely(source, dest):
backup = dest + '.backup'
try:
shutil.copy2(dest, backup) # Backup original
shutil.copy2(source, dest) # Replace
os.remove(backup) # Clean up
except Exception as e:
if os.path.exists(backup):
shutil.copy2(backup, dest) # Rollback
raise
# ❌ BAD: Direct replacement without backup
shutil.copy2(source, dest)
# ✓ GOOD: Wait for app exit before replacement
max_wait = 30 # seconds
start = time.time()
while process_exists(app_pid):
if time.time() - start > max_wait:
raise TimeoutError("App did not exit")
time.sleep(0.5)
# ❌ BAD: Replace while app still running
replace_files() # May fail with "file in use" error
Updater logs go to dedicated file (critical for debugging failed updates):
# ✓ GOOD: Updater-specific log file
log_path = temp_dir / "updater.log"
logging.basicConfig(filename=log_path, level=logging.DEBUG)
# Log all steps for debugging
logger.info(f"Replacing {dest} with {source}")
logger.info(f"App PID: {app_pid}, waiting for exit...")
get_errors on changed filesdocs/updater_architecture.md - Complete architecture documentation.github/instructions/build-pipeline.instructions.md - Build system rules.github/skills/release-management/SKILL.md - Release workflow