Commit graph

117 commits

Author SHA1 Message Date
dan 8a76f4e9cb docs: add plugin systems comparison (ours vs claude vs emes)
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>
2026-01-09 15:39:19 -08:00
dan a84066c1dd docs: add ADR-005 for dual-publish plugin architecture
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>
2026-01-09 11:44:15 -08:00
dan 3e3363e35d bd sync: 2026-01-09 11:21:36 2026-01-09 11:21:36 -08:00
dan d97c96be4c feat: add marketplace.json and update dual-publish guide
- 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>
2026-01-09 11:21:32 -08:00
dan 7bbf79e947 bd sync: 2026-01-09 11:03:44 2026-01-09 11:03:44 -08:00
dan f24b2bb518 feat: add emes plugin structure to orch skill
- 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>
2026-01-09 11:03:37 -08:00
dan fe51d14889 bd sync: 2026-01-06 16:29:22 2026-01-06 16:29:22 -08:00
dan 853bf347e4 test: add deploy-skill.sh config injection tests (21 tests)
Covers:
- Basic injection (config inserted before closing brace)
- Idempotency (no duplicates on re-run)
- Multiple injections (different configs can coexist)
- File not found handling (graceful skip)
- Brace structure preservation (nested braces work)
- inject_home_file wrapper (builds correct Nix block)
- Already present detection
- Edge cases (empty props, minimal file)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 16:29:12 -08:00
dan 112d43a4c3 refactor(deploy): move functions to top of file (code-review) 2026-01-03 12:16:01 -08:00
dan f00c0e7e20 bd sync: 2026-01-03 12:13:49 2026-01-03 12:13:49 -08:00
dan e605f26cb1 refactor(specify): simplify branch generation and add main (skills-lzk) 2026-01-03 12:13:21 -08:00
dan 6200abc32f feat(scripts): add atomic file operations and safe temp files (skills-7bu) 2026-01-03 12:08:51 -08:00
dan e164285c6c feat(nix): consolidate skill list into skills.nix (skills-8v0) 2026-01-03 12:06:18 -08:00
dan c186c77fd2 refactor(deploy): dedupe injection calls in deploy-skill.sh (skills-dnm) 2026-01-03 12:02:43 -08:00
dan 1108dda5ef chore: bd doctor --fix and sync 2026-01-03 11:58:37 -08:00
dan ff1d294d59 docs: worklog for agent update tests and bug fix 2026-01-02 02:30:03 -08:00
dan bb0d1463b0 bd sync: 2026-01-01 23:12:09 2026-01-01 23:12:09 -08:00
dan 955b6905cc test: add agent file update tests and fix section ordering bug
33 tests covering:
- Basic functionality (tech/change entries)
- Missing section handling
- Timestamp updates
- Idempotency (no duplicates)
- Change entry limits (max 2 kept)
- Database entries
- Tech entry placement
- Edge cases (empty, NEEDS CLARIFICATION, EOF)
- format_technology_stack function

Bug fixed: Recent Changes section was skipped when preceded by
Active Technologies section. The ## header was caught by generic
"close tech section on any ##" logic before reaching Recent Changes
handling. Reordered conditions to check for Recent Changes first.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 23:12:01 -08:00
dan 23b374e5bf bd sync: 2026-01-01 21:53:44 2026-01-01 21:53:44 -08:00
dan c09fcb18bb test: add branch name generation tests
27 test cases covering:
- Stop word filtering (a, to, the, add, etc.)
- Acronym detection (API, UI, DB, CLI kept)
- Word count limits (3 normally, 4 when exactly 4)
- Special character handling (parens, dots, underscores)
- Unicode handling (preserved, CJK filtered)
- Edge cases (empty, whitespace, all stop words)
- Fallback logic

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 21:53:43 -08:00
dan f33f7ae690 refactor: reorganize lens directory structure
Symmetric layout for review lenses:
- ~/.config/lenses/code/  <- code-review lenses
- ~/.config/lenses/ops/   <- ops-review lenses

Updated:
- modules/ai-skills.nix deployment paths
- skills/code-review/SKILL.md lens references
- skills/code-review/lenses/README.md examples

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 21:25:01 -08:00
dan 1e9d6cb93d docs: add first markdown-format worklog
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>
2026-01-01 21:17:27 -08:00
dan 5ffdf0a2a5 refactor: migrate worklog skill from org-mode to markdown
- 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>
2026-01-01 21:13:21 -08:00
dan 0f6824cbda bd sync: 2026-01-01 21:02:43 2026-01-01 21:02:43 -08:00
dan fa97fca041 feat: complete ops-review skill with all 10 lenses
Phase 2 lenses (reliability):
- idempotency: safe re-run, atomic ops, convergence
- supply-chain: pinning, provenance, build-time network
- observability: health checks, logging, metrics

Phase 3 lenses (architecture):
- nix-hygiene: statix/deadnix patterns, module design
- resilience: timeouts, retries, resource limits
- orchestration: ordering, dependencies, coupling

All lenses validated via orch consensus (gemini, gpt, flash-or).
Testing delegated to target repos: dotfiles-je5, prox-setup-kqg.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 21:02:39 -08:00
dan a8ab3c1b1b Add idempotency lens, sync beads 2026-01-01 18:46:39 -08:00
dan 64c1c9350e bd sync: 2026-01-01 17:36:29 2026-01-01 17:36:29 -08:00
dan fb882a9434 feat: add ops-review skill with Phase 1 lenses
Multi-lens review skill for operational infrastructure (Nix, shell,
Docker, CI/CD). Modeled on code-review with linter-first hybrid
architecture.

Phase 1 lenses (core safety):
- secrets: credential exposure, Nix store, Docker layers, CI masking
- shell-safety: shellcheck-backed, temp files, guard snippets
- blast-radius: targeting/scoping, dry-run, rollback
- privilege: least-privilege, containers, systemd sandboxing

Design reviewed via orch consensus (sonar, flash-or, gemini, gpt).
Lenses deploy to ~/.config/lenses/ops/ via home-manager.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 17:36:24 -08:00
dan 503053638a docs: update doc-review skill to match implementation
- Remove Vale references (tool has own deterministic rules)
- Document all 12 deterministic + 7 LLM checks
- Add missing CLI flags (--llm, --format, --model)
- Add concrete example session with output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 22:55:38 -05:00
dan b8f7928db5 refactor: single source of truth for lenses
- 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>
2025-12-31 22:34:28 -05:00
dan d4a0bdb158 feat: add 5 new code-review lenses
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>
2025-12-31 18:18:01 -05:00
dan 34afa86b77 docs: worklog for vision benchmark, orch patterns, claude-search 2025-12-29 20:45:01 -05:00
dan dd45e206ef bd sync: 2025-12-29 20:41:15 2025-12-29 20:41:15 -05:00
dan 7e3ba83101 feat: add claude-search prototype for conversation history
- 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
2025-12-29 18:35:50 -05:00
dan ef28102acd docs: add conversational patterns to orch skill
- Session-based multi-turn conversations
- Session inspection commands
- Cross-model dialogue pattern
- Iterative refinement pattern
- When to use conversations vs consensus table
- Combined explore-then-validate pattern
2025-12-29 15:34:09 -05:00
dan bd83887669 research: vision model UI understanding benchmark
Tested Claude Opus 4.5 on btop and GitHub screenshots.
Findings: excellent text/state/layout, approximate coordinates.
Recommendation: hybrid AT-SPI + vision approach.
2025-12-29 15:26:13 -05:00
dan be6457e3b4 bd sync: 2025-12-29 15:05:07 2025-12-29 15:05:07 -05:00
dan 93d582576b bd sync: 2025-12-29 14:37:43 2025-12-29 14:37:43 -05:00
dan c886c529bf bd sync: 2025-12-29 13:55:41 2025-12-29 13:55:41 -05:00
dan 324b4a6fa3 docs: worklog for issue triage and playwright-visit implementation
Session covered:
- 9 issues closed (design decisions + implementation)
- playwright-visit skill created and tested
- READMEs added for web-search and web-research
- ADR-001 parked, multiple design questions resolved

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 01:22:19 -05:00
dan ad15afecf0 fix(playwright-visit): use domcontentloaded instead of networkidle
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>
2025-12-29 01:15:34 -05:00
dan 076588a34d bd sync: 2025-12-29 00:09:55 2025-12-29 00:09:55 -05:00
dan d24bedcab3 feat: add playwright-visit skill for browser automation
- 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>
2025-12-29 00:09:50 -05:00
dan efb7cdaffc bd sync: 2025-12-28 23:27:55 2025-12-28 23:27:55 -05:00
dan c7c6bbf796 docs: park ADR-001 skills-molecules integration
Current simpler approach working well:
- Skills as standalone entrypoints
- Agent judgment sufficient for invocation
- Molecules not actively used

Revisit when complex orchestration is needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 23:27:41 -05:00
dan 714e2f208a bd sync: 2025-12-28 22:46:28 2025-12-28 22:46:28 -05:00
dan 9f9f563d1e bd sync: 2025-12-28 22:37:56 2025-12-28 22:37:56 -05:00
dan 6ad2f0a97c docs: add README.md for web-search and web-research skills
Human-facing documentation with:
- Prerequisites and installation
- Usage examples
- Backend options (web-research)
- Cross-references between related skills

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 22:37:47 -05:00
dan 7477482cca bd sync: 2025-12-28 22:28:50 2025-12-28 22:28:50 -05:00
dan 6a9b2bef50 bd sync: 2025-12-28 22:25:38 2025-12-28 22:25:38 -05:00