Skip to content

Releases: manojmallick/skillweave

v2.2.2 — OpenAI fence-stripping fix

Choose a tag to compare

@manojmallick manojmallick released this 05 Jul 12:49
a61af46

Fixed

  • OpenAI provider (#69): strip a wrapping ```json code fence from json_schema responses before parsing. OpenAI-compatible proxies and gateways (e.g. those fronting Gemini/Llama) commonly ignore response_format: json_schema and return fenced JSON, which made the boundary judge's strict JSON.parse throw and silently fall back to the heuristic. Structured output now works through these providers; plain (non-schema) completions are untouched.

Full Changelog: v2.2.1...v2.2.2

npm: not yet published for this tag — run npm publish (the prepublishOnly build runs automatically).

v2.2.1 — Gemini array fix + use-cases

Choose a tag to compare

@manojmallick manojmallick released this 02 Jul 19:43
7e09f80

Fixed

  • Gemini provider (#64): array JSON schemas now translate to Type.ARRAY with translated items. Previously toGemini() had no array case, so array schemas fell through to the string default and Gemini returned a comma-joined string instead of a JSON array — breaking any structured array output (extraction, the boundary judge) on the Google provider. Adds regression tests.
  • examples/compose.ts (#64): the reducePattern callback signature is (acc, item), not an index.

Added

  • examples/use-cases/ (#64) — six runnable real-world scenarios (support triage · code-review gate · secret-safe logs · batch digest · nightly report · a live-LLM A/B) that show what the runtime adds over a plain skill/prompt.

v2.2.0 — summarize skill

Choose a tag to compare

@manojmallick manojmallick released this 27 Jun 19:22
1ff60ef

Added

  • summarize skill (#60) — a probabilistic extractive summarizer: ranks content blocks by salience and takes the top ones verbatim (so the auto-judge sees grounded output), reporting a confidence. On a retry it takes fewer, stronger sentences, so a low-confidence first attempt recovers — exercising the full reliability layer (confidence routing → auto-judge → retry-with-negative-context) from a second skill (previously only extract-highlights did).
  • State gains a DocSummary type + summary? field; new doc-summary@1.0 registry schema (additive), pinned as the skill's output_schema; a runnable examples/summarize.ts.

v2.1.0 — todo-flagger skill + examples

Choose a tag to compare

@manojmallick manojmallick released this 27 Jun 18:59
ff31ec4

Added

  • todo-flagger skill (#56) — a deterministic, registered skill that flags content blocks containing a TODO / FIXME / XXX marker; grades 9/9 → verified. A complete worked example of authoring a skill, including extending State with a new field (flags / the TodoFlag type) and adding a todo-flag@1.0 registry schema.
  • Eight runnable, offline example scripts under examples/ (#52) — one per feature area (run-chain · verify · compose · triggers-and-events · memory · observe · custom-skill · security), plus todo-flagger.
  • An Examples guide page (#54) surfaced in the docs sidebar + top nav and the README.

v2.0.2 — npm publish

Choose a tag to compare

@manojmallick manojmallick released this 27 Jun 17:50
813671e

First release published to npm (npm i skillweave).

Fixed

  • CLI: run --doc, test --input, and verify --input now fail gracefully on a missing or malformed file — a clean error and exit code 2 instead of an uncaught Node stack trace (#49). Verified by running every feature end-to-end.

Added

  • Tag-gated npm publish workflow (.github/workflows/publish.yml) — publishes on a vX.Y.Z tag push (or manual dispatch), idempotent, with npm provenance.
  • README license line.

v2.0.1 — npm-publishable

Choose a tag to compare

@manojmallick manojmallick released this 27 Jun 17:22
c552915

Changed

  • Build: the package is now npm-publishable (#43). Added a compiled build (tsconfig.build.jsondist/ with JS + .d.ts + sourcemaps; npm run build; prepublishOnly), dropped private, and set main / module / types / exports to the compiled dist/index.js + dist/index.d.ts, with a files whitelist (dist, schemas, provider-profiles, pipelines) and engines.node >= 20.
  • Schema-registry and provider-profile data now resolve relative to the package install location (src/pkg-path.ts), so a globally-installed CLI reads its own bundled data instead of the consumer's cwd; the SKILLWEAVE_SCHEMA_DIR / SKILLWEAVE_PROFILES_DIR overrides still take precedence.
  • The skillweave bin runs the compiled dist/cli.js when present and falls back to the tsx source loader in a dev checkout.

v2.0.0 — COMPOSE + OBSERVE

Choose a tag to compare

@manojmallick manojmallick released this 27 Jun 16:56
c366196

The roadmap capstone. This release also ships the MEMORY primitive from [1.3.0] below, which was prepared but never tagged — 2.0.0 carries it to a published release.

Added

  • COMPOSE primitive (#39) under src/compose/ — all composition patterns as pure async combinators: sequential · parallel · mapPattern · reducePattern · conditional(when, then, else?) · loop(body, until, maxIterations).
  • dagLayers(nodes) — DAG resolution: orders depends_on into parallelizable layers; throws on a cycle or an unknown dependency.
  • OBSERVE primitive (#39) under src/observe/ — a local-first observability layer:
    • checkAlerts(metrics, rules) — threshold alerting rules (> >= < <= == !=) → fired alerts with value + severity, routable through the EventBus.
    • visualise(pipeline, { format }) — an ASCII or Mermaid diagram of a pipeline (trigger → steps + events).
    • abTest(scoreA, scoreB) — compare two skill-version judge scores → { winner, delta }.
  • CLI: skillweave visualise <pipeline.yaml> [--mermaid].
  • src/index.ts re-exports the COMPOSE + OBSERVE surface.

Notes

  • Deferred (documented): the hosted observability dashboard and live alert/webhook delivery (network — a host responsibility; alerts route through the EventBus), orchestrator-level DAG auto-execution, and published performance benchmarks.

v1.2.0 — TRIGGER + EVENT primitives

Choose a tag to compare

@manojmallick manojmallick released this 26 Jun 23:46
5e5c50a

Added

  • TRIGGER + EVENT primitives (#32) — declarative pipeline activation and a typed, routed observability signal model. Local-first: triggers resolve and events route in-process; real webhook/human delivery is the host's responsibility.
  • EVENT — typed signals (info / warning / alert / failure) and an EventBus. Subscriptions are declarative ({ on, emit, notify, continue }); emit(name) fans out to every subscription matching on, routes a SkillEvent to each notify target (trace-log / webhook / human, via injectable handlers that default to in-memory sinks), and returns { routed, stop }stop is true when a matched subscription declares continue: false.
  • TRIGGER — TriggerSpec (manual / cron / webhook / pipeline_completion / file_watch / git_hook / git_diff, plus condition and human_checkpoint), a pure 5-field cronMatches (*, lists, ranges, steps), and shouldActivate(spec, ctx) resolving activation gated by condition and a human-approval checkpoint.
  • Pipeline trigger: and events: blocks — parsed and validated by the loader; Pipeline gains trigger / events. The document-grounding pipeline now declares both.
  • src/index.ts re-exports the surface (EventBus, cronMatches, shouldActivate, and the TRIGGER/EVENT types).

Changed

  • The orchestrator emits named events (low_confidence_detected / skill_failed / pipeline_succeeded) to an optional EventBus — additive, with zero overhead when none is supplied.

v1.1.0 — Developer experience

Choose a tag to compare

@manojmallick manojmallick released this 26 Jun 20:31
8a190e4

Added

  • Developer experience (#28) — first-run onboarding so a newcomer never has to feel the runtime's depth.
  • skillweave doctor — a one-command readiness report: Node version, the active judge provider (or "offline heuristic — no API key needed"), registered skill count, and registry/artifacts presence, ending with whether you can run now.
  • runDoctor() returns the report as a structured DoctorReport (re-exported from src/index.ts).
  • "Did you mean?" suggestions — an unknown command suggests the closest command, and an unknown skill name (in test / publish / install) suggests the closest registered skill; closest / levenshtein exported for reuse.

Changed

  • CLI usage now leads with skillweave doctor and a "New here?" hint.

v1.0.0 — Registry + public launch

Choose a tag to compare

@manojmallick manojmallick released this 24 Jun 21:16
0663830

First stable release — the public-launch surface. The src/index.ts API is now the supported integration point.

Added

  • Skill registry + public launch (#24) under src/catalog/ — a tiered, quality-gated, local-first registry of published skills.
  • 9-point quality gate — gradeSkill(skill) scores a contract on name · does · does_not · state scope · capabilities · assertions · schema pin · model-neutral language · coherent classification, returning a QualityReport with points and tier.
  • Trust tiers from the gate — verified (9/9) · community (6–8) · experimental (3–5); below the experimental floor (<3) publishing is refused.
  • Quality-derived reputation — each entry stores reputation = round(points / 9 * 100).
  • File-backed store at .registry/skills.json (gitignored, no network) — publishSkill / installSkill / listRegistry.
  • CLI: skillweave publish <skill> · install <skill> · registry [list].
  • src/index.ts re-exports the catalog surface (gradeSkill / publishSkill / installSkill / listRegistry + types).