Skip to content

Releases: krzemienski/lynx

v1.1.1 — Manifest Schema Fix

30 Apr 19:29

Choose a tag to compare

[1.1.1] — 2026-04-30 — Manifest Schema Fix

Patch release. Fixes plugin manifest validation failure that prevented installation
under recent Claude Code releases. No skill or audit-pipeline behavior changes.

Fixed

  • .claude-plugin/plugin.json — removed string-typed asset fields (skills,
    commands, hooks, agents) that triggered agents: Invalid input validator
    errors. Components are now auto-discovered from their standard directories
    (skills/, commands/, hooks/, agents/), matching the official greeter and
    full-featured plugin examples and aligning with validationforge /
    superpowers-developing-for-claude-code patterns. Adds homepage, repository,
    and author.url for marketplace metadata completeness.
  • hooks/hooks.json — converted from a flat {name,event,matcher,command}
    array (which Claude Code's hooks loader rejects) to the canonical event-keyed
    schema documented at
    references/plugin-structure.md:218-249:
    {"hooks": {"<EventName>": [{"matcher": "<re>", "hooks": [{"type": "command", "command": "..."}]}]}}. All five hook commands now use ${CLAUDE_PLUGIN_ROOT}
    so they resolve from the plugin install dir instead of the user's CWD.
  • .claude-plugin/marketplace.json — version bumped to 1.1.1.

Why this happened

The 1.1.0 manifest was carried over from an older internal plugin draft that
predated the current plugin.json schema. The old form embedded asset directory
paths as strings; the current schema only accepts arrays of file paths (per
episodic-memory@1.0.15) or relies on auto-discovery (per the official greeter).
Strict validation in newer Claude Code releases surfaces the mismatch as
agents: Invalid input. The fix is purely structural — the underlying hooks,
commands, agents, and skills are unchanged.

Frozen invariants (unchanged from 1.1.0)

  • full-ui-experience-audit and ui-experience-audit skills remain at 14/14
    detection across WAM 9/9 + synth-2 5/5. No skill content was modified.
  • Cycle cap = 2. WAM-class needs cycle-2 reach; synth-2-class needs cycle-1.
  • Iron Rule (RL-1): no mocks, no fixtures, no test files in audits.
  • RL-2: every PASS verdict must cite a specific evidence file path.

lynx v1.0.0 — sharp-eyed visual audit suite

29 Apr 14:21

Choose a tag to compare

First public release of lynx — two coupled audit skills for Claude Code.

What's inside

  • full-ui-experience-audit — app-wide audit-and-remediate loop (3-cycle convergence, critical-high threshold, fix-loop protocol)
  • ui-experience-audit — per-screen deep audit (5-phase: triage → visual → interactive → content → heuristics)

Track record

  • 9/9 detection accuracy on the Whac-A-Mole synthetic (entangled-fix design — cycle-1 fix unmasks cycle-2 mole)
  • 26/26 strict bundle PASS (validate-bundle.sh)
  • Iron Rule: zero mocks, zero stubs, zero test files. Real-system validation only.

Standards covered

  • WCAG 2.2 AA + APCA Lc ≥ 60 for body text
  • Nielsen's 10 UX heuristics
  • Native iOS HIG (companion ios-protocol.md)
  • Web protocol with response-shape contract validation (latent bug class)

Install

```
/plugin marketplace add krzemienski/lynx
/plugin install lynx@lynx-dev
```

Restart Claude Code, then trigger with: "audit and fix my next.js dashboard until it passes critical-high" or "per-screen audit on /settings".

See README for the full dual-skill decision matrix.

Sibling plugins

Pairs well with crucible (evidence-gated execution), validationforge (e2e validation), and anneal (iterative refinement).

🦌 Sharp-eyed by design.