Skip to content

fix: zo computer skill#700

Draft
ajspig wants to merge 1 commit into
mainfrom
abigail/dev-1533
Draft

fix: zo computer skill#700
ajspig wants to merge 1 commit into
mainfrom
abigail/dev-1533

Conversation

@ajspig
Copy link
Copy Markdown
Contributor

@ajspig ajspig commented May 18, 2026

Uses the CLI.
waiting until https://github.com/zocomputer/skills/pull/86/changes gets merged to update the code base.
Tested and it works.

Summary by CodeRabbit

  • Chores

    • Restructured the zo example with a new command-line interface approach
    • Removed legacy package structure and associated test files
  • Documentation

    • Updated skill documentation and added UI metadata configuration for the zo example

Review Change Stack

@ajspig ajspig marked this pull request as draft May 18, 2026 20:25
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 18, 2026

Walkthrough

The zo example is refactored from a module of Python wrapper functions to a standalone CLI script that orchestrates Honcho commands. A new scripts/memory.py script replaces the tools/ module, with updated documentation and UI metadata reflecting the simpler, direct CLI-based architecture.

Changes

Zo example CLI wrapper refactor

Layer / File(s) Summary
Memory CLI wrapper script
examples/zo/scripts/memory.py
New Python CLI script providing subcommands (save, ask, context, messages, search, doctor, test) that wrap the Honcho CLI. Includes environment variable defaults, binary discovery with uv-based fallback installation, JSON input/output handling, message role normalization, request scope building (workspace, user, session), and subprocess execution with error/output capture.
Documentation and UI metadata
examples/zo/DISPLAY.json, examples/zo/SKILL.md
Adds DISPLAY.json defining icon, tags, and environment variable schema for Honcho integration. Updates SKILL.md front matter (version 0.4.0, honcho-cli: 0.1.0+) and body to describe the new CLI wrapper architecture, including setup instructions, workflow, command reference, and direct honcho command examples.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • VVoruganti

Poem

🐰 Out with the tools, in with the script so clean,
Honcho CLI shines, no Python in between,
Environment defaults dance, subcommands align,
Zo's memory flows through pipes—now that's divine!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'fix: zo computer skill' is vague and generic. It uses a non-descriptive term 'fix' without clarifying what specific issue or change is being addressed in the zo skill. Provide a more specific title that describes the main change, such as 'refactor: migrate zo skill from Python tools to CLI wrapper' or 'fix: update zo skill to use Honcho CLI directly'.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch abigail/dev-1533

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@examples/zo/scripts/memory.py`:
- Around line 87-88: The bare "except Exception: pass" in the doctor
partial-success handling silently swallows errors; update the except block in
the doctor logic to log the caught exception with minimal context (e.g., include
"doctor" and what operation failed) using the module's logger (e.g.,
logging.exception or logger.exception) so tracebacks are preserved for debugging
while keeping behavior unchanged otherwise.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cce34100-c451-4147-8165-a788142c09b5

📥 Commits

Reviewing files that changed from the base of the PR and between 8fcbb54 and 9c4b4f5.

⛔ Files ignored due to path filters (1)
  • examples/zo/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (12)
  • examples/zo/DISPLAY.json
  • examples/zo/README.md
  • examples/zo/SKILL.md
  • examples/zo/pyproject.toml
  • examples/zo/scripts/memory.py
  • examples/zo/tests/test_basic.py
  • examples/zo/tests/test_tools.py
  • examples/zo/tools/__init__.py
  • examples/zo/tools/client.py
  • examples/zo/tools/get_context.py
  • examples/zo/tools/query_memory.py
  • examples/zo/tools/save_memory.py
💤 Files with no reviewable changes (9)
  • examples/zo/tools/init.py
  • examples/zo/tests/test_tools.py
  • examples/zo/tools/client.py
  • examples/zo/tests/test_basic.py
  • examples/zo/tools/get_context.py
  • examples/zo/tools/query_memory.py
  • examples/zo/tools/save_memory.py
  • examples/zo/README.md
  • examples/zo/pyproject.toml

Comment on lines +87 to +88
except Exception:
pass
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Consider logging the exception for debugging.

The broad Exception catch without any logging could hide parsing errors or unexpected failures in the doctor partial-success logic, making issues difficult to diagnose.

🔍 Proposed fix to add minimal error context
-            except Exception:
-                pass
+            except Exception as e:
+                # Doctor partial success check failed, fall through to normal error handling
+                print(f"DEBUG: doctor partial check failed: {e}", file=sys.stderr)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
except Exception:
pass
import logging
logger = logging.getLogger(__name__)
except Exception as e:
logger.warning(
"Doctor partial success check failed: %s",
e,
exc_info=True,
)
🧰 Tools
🪛 Ruff (0.15.12)

[error] 87-88: try-except-pass detected, consider logging the exception

(S110)


[warning] 87-87: Do not catch blind exception: Exception

(BLE001)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@examples/zo/scripts/memory.py` around lines 87 - 88, The bare "except
Exception: pass" in the doctor partial-success handling silently swallows
errors; update the except block in the doctor logic to log the caught exception
with minimal context (e.g., include "doctor" and what operation failed) using
the module's logger (e.g., logging.exception or logger.exception) so tracebacks
are preserved for debugging while keeping behavior unchanged otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant