Skip to content

review_skill engine fixes + batch review, result cache, anonymous dry-run - #29

Merged
criptogus merged 2 commits into
mainfrom
claude/pensive-gauss-M17ZI
May 28, 2026
Merged

review_skill engine fixes + batch review, result cache, anonymous dry-run#29
criptogus merged 2 commits into
mainfrom
claude/pensive-gauss-M17ZI

Conversation

@criptogus

@criptogus criptogus commented May 28, 2026

Copy link
Copy Markdown
Owner

Summary

Acts on detailed operator feedback about the review_skill MCP engine. Two layers of work:

Engine fixes (src/lib/mcp/tools/skills.ts)

Infra / API (skills.ts, uploads.server.ts, api/mcp.ts)

Already fine (#7)

Response keys are already stable English (pillar, guardrails, top_actions); only the human-readable title is localized. Parsers should key off pillar.

Test plan

  • Dense bulleted SKILL.md no longer emits input_warning: outline_only; semantic_pass.ran: true.
  • Semantic pass retries before reporting gateway_unavailable_or_errored.
  • language: "pt" on a mixed-jargon doc → localized PT feedback.
  • Portability: 68 + "portable by construction" when neutral; drops with requires claude; rises to strong with "validated on Claude, GPT and Gemini".
  • review_skills_batch returns results[] aligned to input; second identical call returns cached: true fast.
  • upload_packages / request_primitive with dry_run:true succeed with no Authorization header and create nothing.

https://claude.ai/code/session_01EntkmBiYh381pKqvvSFBkg

claude added 2 commits May 28, 2026 18:27
…ide, portability range

Addresses operator feedback on the review_skill MCP engine:

- outline_only detection counted bullets/numbered items as non-body, so dense
  well-structured SKILL.md files were misflagged as "headings without body",
  which suppressed the semantic pass. Now counts any non-heading content line.
- Semantic pass now retries once with backoff (15s timeout) instead of silently
  dropping on a transient gateway blip — it's the key feature for niche jargon.
- An outline_only hint no longer blocks the semantic pass (only hard truncation
  warnings do); heading-dense skills are exactly where it adds the most value.
- New optional `language` param lets callers pin the language for mixed-jargon
  docs (e.g. PT-BR fintech with English terms) where auto-detect is low-confidence.
- Portability pillar: "portable by construction" baseline (no lock-in, no
  declaration) instead of a flat 60 cap, restoring diagnostic range and a
  clearer, localized diagnostic message.

https://claude.ai/code/session_01EntkmBiYh381pKqvvSFBkg
…equest

Infra/API follow-ups from operator feedback:

- review_skills_batch: score up to 10 files in one parallel call, aligned to
  input order with a single shared feedback_request — far lower round-trip
  latency than N review_skill calls (feedback #8).
- In-process result cache keyed by content_hash + options. Identical
  re-submissions skip both the deterministic scoring and the LLM semantic pass,
  cutting ~15-30s to ~0 on iterative loops; responses carry `cached` (#9).
  Core review logic extracted into computeReview(), shared by single + batch.
- dry_run preview for upload_packages and request_primitive: validates the file
  (type inference + prompt-injection guard) or echoes the would-be request
  WITHOUT auth, persistence, or model budget, so agents can test the publish
  flow before connecting OAuth. The MCP write-tool auth gate now lets a
  dry_run call through anonymously (#5/#6).

https://claude.ai/code/session_01EntkmBiYh381pKqvvSFBkg
@criptogus criptogus changed the title fix(review_skill): outline false-positive, semantic retry, language override, portability range review_skill engine fixes + batch review, result cache, anonymous dry-run May 28, 2026
@criptogus
criptogus marked this pull request as ready for review May 28, 2026 18:47
@criptogus
criptogus merged commit bde6fcd into main May 28, 2026
1 check passed
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.

2 participants