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>
Context changed - Claude Code now has built-in WebSearch/WebFetch.
Decisions:
- Keep two separate skills (web-search, web-research)
- web-search: OpenCode only (Claude Code has native search)
- web-research: Both (deep research beyond built-in capability)
- Source filtering via WebSearch allowed_domains, not skill feature
- Summaries by default, not raw links
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace verbose 2-skill list with table of all skills.
Shows deployed (5), available (8), and development (1) skills.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Built-in agents: Build (full access) and Plan (read-only)
- Custom agents support prompts, model overrides, tool control
- Skills are global, agents access via skill() tool
- Permission control per-agent via opencode.json
- OpenCode supports Claude-compatible skill paths
Closes skills-czz
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add dependency checks for niri, jq, logger at script startup
- Validate and create screenshot directory if missing
- Improve error handling for niri command failures
- Add audit logging to capture-all-windows.sh
- Use variable for screenshot directory path
- Cache window list query in capture-all-windows.sh
Addresses recommendations from code review (skills-m21)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rename reviews/ to lenses/ (clearer terminology)
- Add workflows/ for beads proto templates
- Extract code-review proto to workflows/molecules.jsonl
- Update ai-skills.nix module:
- Add enableLenses option (deploys to ~/.config/lenses/)
- Add enableWorkflows option (deploys to ~/.beads/molecules.jsonl)
- Derive repoRoot from skillsPath for sibling directories
- Update lens paths in proto to use deployed location
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ADR-002: Skill manifest format with JSON Schema, path bases, preconditions
- ADR-003: Versioning with Nix store paths, lockfiles, interface contracts
- ADR-004: Trace security with HMAC redaction, entropy detection, trace modes
Refined based on orch consensus feedback from GPT and Gemini.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove find fallbacks, error if expected spec/plan/tasks missing
- Add BLOCKER/SUGGESTION labels to critique prompts
- Add multi-device sync, service coordination to NFR checklist
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove 2>&1 from nix build capture. When repo is dirty, nix emits
warnings to stderr which were being merged into $out and used as
symlink targets, creating broken symlinks like:
orch -> warning: Git tree '...' is dirty\n/nix/store/...
Now stderr goes to terminal, only stdout (store path) captured.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- apiKeys: list of API key names (openai, google, anthropic, openrouter)
- mkDirenvStdlib: generates use_api_keys() bash function
- mkSopsSecrets: generates sops-nix secrets attribute set
Consumers (ops-dev, dotfiles) can now import from skills.lib
instead of maintaining duplicate key lists.
Adds Vale discovery, spin-off decision, migration details,
and updated session metrics to the design session worklog.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>