Why Your OpenCode Skill Shows No Output (And How to Fix It)

Why Your OpenCode Skill Shows No Output (And How to Fix It) TL;DR: OpenCode’s run mode captures subprocess stdout and only returns it after the command finishes. If your skill launches a long-running pipeline, the user sees nothing for minutes — or hours. The fix: write a plain-text progress log that users can tail -f from a second terminal. The 30-Second Fix If you just want the solution: from datetime import datetime from pathlib import Path def log_progress(output_folder: str, msg: str) -> None: log_path = Path(output_folder) / "progress.log" log_path.parent.mkdir(parents=True, exist_ok=True) with open(log_path, "a") as f: f.write(f"[{datetime.now().strftime('%H:%M:%S')}] {msg}\n") f.flush() # Critical for tail -f! Then tell users: tail -f <output>/progress.log ...

February 28, 2026 · 6 min · 1205 words · Pavel Nasovich

I Fed My Entire Codebase to an AI With Repomix. Here's What I Learned

A journey into the lazy, brilliant, and slightly terrifying world of AI-assisted development Look, let’s be honest. We’ve all been there. It’s 1 AM, you’re staring at a janky codebase that’s grown more tangled than your headphone cables, and you have a brilliant, desperate idea: “I’ll just ask ChatGPT.” You start copy-pasting files, but by the third one, the AI has the memory of a goldfish and asks, “So, what were we talking about again?” Context window slammed shut. Face, meet palm. I needed a better way to get my AI assistant to understand the beautiful mess I’d created. That’s when I stumbled upon Repomix—a tool that promised to package my entire repository into a single, “AI-friendly” file. The premise is simple, absurd, and undeniably a product of our times: we now need specialized tools just to format our code for our robot overlords. My inner cynic called it a “digital meat grinder.” My inner lazy genius called it a “superpower.” As it turns out, they were both right. ...

July 24, 2025 · 7 min · 1363 words · Pavel Nasovich