Skip to content

SkillMeat v0.35.0 Release Notes

Release Date: 2026-04-27

Added

  • Agentic Artifact Discovery v2 — Three-tier discovery system with Quick (keyword-based), Enhanced (LLM-powered enrichment and reranking), and Agent (iterative multi-turn via Claude Code) modes with configurable providers (Claude API, Subscription OAuth, OpenAI, Ollama). Includes MCP server integration (skillmeat-mcp console script with discover_artifacts tool), SSE streaming for agent thinking events, discovery mode selector UI with keyboard navigation and localStorage persistence, and discovery log with LLM/agent metadata columns for observability.
  • Discovery API mode parameterPOST /api/v1/discover endpoint now accepts mode parameter (quick / enhanced / agent; defaults to quick for backward compatibility). Discovery results include optional LLM enrichment fields (relevance_score, similarity_metrics, reasoning) and agent turn metadata for multi-turn discovery workflows.
  • Agent-driven artifact discoveryskillmeat discover CLI command and web UI discover page enable discovery of artifacts from text or file input across the collection, marketplace, and curated web sources with trust tier ranking. Includes POST /api/v1/discover endpoint with SSE streaming and JSON fallback, GET /api/v1/discover/log for session history, POST /api/v1/discover/refresh-index for web index cache refresh, progressive candidate rendering with trust tier model (trusted/candidate/unverified/quarantined) and configurable allowlists, and bundle assembly from discovery results.
  • Artifact search to discovery adapter — Pure-function adapter module at skillmeat/web/lib/adapters/artifact-search-to-discovery.ts maps ArtifactSearchResultAgentDiscoveryCandidate, enabling unified card rendering across marketplace search and discovery contexts. Handles confidence score normalization (0–100 integer → 0.0–1.0 float), trust tier defaults, and marketplace metadata population with 100% type coverage.
  • @miethe/ui ArticleViewer component — Rich Markdown/MDX rendering component with typography variants (default, prose, compact), frontmatter metadata display, HTML string input with DOMPurify XSS sanitization, callout/admonition support, and full test coverage.
  • ContentViewer opt-in sanitize propsanitize boolean prop on ContentViewer enables DOMPurify XSS sanitization for untrusted HTML content rendering.
  • Human brief document type — New human_brief doc type for orchestrator-facing planning documents in docs/project_plans/human-briefs/.

Changed

  • Discovery Request/Result schemasDiscoveryRequest extended with mode parameter and DiscoveryResult extended with optional llm_metadata (provider, reasoning, score) and agent_metadata (turn_number, session_id) fields for multi-mode discovery tracking.
  • Marketplace artifact search results UI/marketplace/sources?mode=artifacts search results now render via unified DiscoveryCard component (from @miethe/ui/discovery) instead of bespoke inline cards, providing visual and functional parity with /artifacts page. Includes grid/list view toggle with URL state sync (?view= param), per-group FilterBar with client-side sort (name, type, relevance score) and artifact type filter, and grouped accordion layout with source repo headers preserved.
  • MkDocs dev server opt-inskillmeat web dev no longer starts the MkDocs documentation server by default; pass --docs flag to include it.
  • Header branding refresh — Navigation header updated with recreated SkillMeat logo.

Fixed

  • Path traversal rejection — Artifact path resolver now rejects .. segments with a 400 error, preventing directory traversal in artifact file access.
  • Marketplace import path diagnostics — Improved path escape diagnostics and fixed collection cache invalidation after marketplace artifact import.
  • DiscoveredArtifact backward compatibility — Added DiscoveredArtifact to the legacy re-export shim in skillmeat/core/__init__.py for consumers importing from the old path.
  • Duplicate LLM enrichment — Removed duplicate LLM enrichment call in the discovery intent extraction pipeline that caused redundant API requests.
  • ContentViewer CJS imports — Replaced CommonJS require() calls with ES module imports in content-viewer to fix bundler warnings and tree-shaking.