Comprehensive analysis of emes idle/alice plugin:
- Hook chain (6 hooks, Stop is key blocker)
- State management via jwz (topic-based messaging)
- alice agent (read-only Opus reviewer)
- Circuit breakers against infinite loops
Conclusion: alice pattern is overkill for code-review (we ARE the
reviewer). More useful: "review reminder" hook that checks if
code-review was run before exit on significant changes.
Closes: skills-9jk
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Local (skills, dotfiles): beads + our dual-publish
Remote (ops-jrz1 VPS): tissue + emes ecosystem
They coexist by environment, not replacing each other.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Compares three approaches:
- Our system: cross-agent, Nix, lenses
- Claude plugins: official, hooks, marketplace
- emes: mechanical enforcement, tissue, idle, jwz
Living document for iterating on architecture.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Captures the decision to maintain both:
- Nix deployment (cross-agent: Gemini, OpenCode)
- Claude plugin system (hooks, marketplace)
Documents trade-offs, consequences, and mitigations.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create .claude-plugin/marketplace.json at repo root
- Register orch as first dual-publish plugin
- Update emes-conversion-guide.md to explain dual-publish pattern
- Cross-agent support (Gemini, OpenCode) via Nix
- Claude plugin system for hooks and /plugin install UX
Part of skills-6x1 (emes plugin architecture epic)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add .claude-plugin/plugin.json with metadata
- Copy SKILL.md to skills/orch.md for auto-discovery
- Keep original SKILL.md for Nix backward compat
- Add emes-conversion-guide.md documenting the pattern
Part of skills-6x1 (emes plugin architecture epic)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tests the new worklog template with YAML frontmatter.
Documents ops-review Phase 3 completion and worklog migration.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Convert template to markdown with YAML frontmatter
- Update suggest-filename.sh to output .md extension
- Update find-related-logs.sh to parse both formats (backward compat)
- Update SKILL.md references
Existing .org worklogs remain readable by find-related-logs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove top-level lenses/ dir (was stale with only 4 lenses)
- Update ai-skills module to source from skills/code-review/lenses/
- Fix visit.py: extract DEFAULT_WAIT_MS, use specific exception handlers
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New lenses: security, error-handling, coupling, boundaries, evolvability
Updated SKILL.md and lenses/README.md to reflect 9 total lenses
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Indexes all Claude Code sessions (summaries + metadata)
- Searches by keyword in summaries and first message
- Shows date, project, message count, uuid
- Usage: claude-search <query> or --rebuild
Tested Claude Opus 4.5 on btop and GitHub screenshots.
Findings: excellent text/state/layout, approximate coordinates.
Recommendation: hybrid AT-SPI + vision approach.
networkidle times out on heavy sites like nytimes.com.
domcontentloaded + wait parameter is more reliable.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- visit.py CLI with subcommands: screenshot, text, html, pdf
- Uses system chromium on NixOS (no browser download)
- Fresh profile each run (no cookies/history)
- flake.nix provides playwright devShell
- Options: --wait, --full-page
Useful for JS-heavy sites where WebFetch fails.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>