This week's roundup highlights ngxtension on Angular Space, the signal-first Signality library drawing inspiration from VueUse, and Vitest 4.1's improved fake timers for Angular testing. Also covered are the newly released official Angular agent skills.

ngxtension on Angular Space

The ngxtension utility collection was the focus of the latest Angular Space stream. As usual, Armen Vardanyan hosted, with ngxtension maintainer Enea Jahollari joining in after the show got underway.

A range of standout features came up in conversation. Among them were injectParams, which a prior ng-news issue already touched on, and the on helper—a tool that delivers a solid developer experience for explicit effects while also proving useful for tracking signals explicitly within computed, resources, or linkedSignal.

Signality

A new utility library has appeared on the scene, and this one is purely signal-based. It goes by the name Signality, and its creator Vyacheslav Borodin says it draws heavy inspiration from VueUse, the well-known Vue.js utilities collection. Even at version 0.1, the library already ships with a surprisingly extensive set of functions.

Getting started | Signality

Comprehensive library of signal-first utilities for Angular. SSR-ready, type-safe, and designed for seamless reactive composition and DI-interop.

favicon signality.dev

Vitest 4.1 fake timers

Vitest, which serves as the default test runner for Angular projects, has moved to version 4.1 with a notable upgrade to asynchronous timer handling. The fake timers feature now includes an automatic tick mode.

Previously, when your code relied on delayed timers—say, via debounceTime—tests often required you to manually fast-forward those timers. That's changed now: the new mode advances scheduled timers asynchronously without you having to bake in each specific delay. You don't need to recall whether it was 100 ms, 200 ms, or some other value. The mode doesn't eliminate asynchronicity entirely; instead, it executes the deferred tasks on a brief tick, roughly analogous to setTimeout(() => void true, 0).

@younesjd has documented this feature in a section of his cookbook, and the Vitest docs offer further details.

Vi | Vitest

Next generation testing framework powered by Vite

favicon main.vitest.dev

Controlling Time in Tests | Marmicode Cookbook

Understand why time-based behavior is challenging to test and how fake timers and dynamic timing configuration address different scenarios.

favicon cookbook.marmicode.io

Official Angular agent skills

Official Angular skills are now available. You can install them with the command npx skills add angular/skills. Once that's done, your agent should start using them whenever the LLM deems it fit.

Skills are essentially text content that educates the LLM on topics like how Signal Forms function or how Angular's dependency injection operates. The key difference between skills and MCP servers, basic rules, custom instructions, or whatever terminology your agent uses is that skills aren't loaded into context upfront. Each skill begins with a short summary of what it covers, which keeps the context lean. When the LLM determines it's relevant, it can pull in the complete content on demand—much as described earlier.

This approach means you can maintain a broad set of skills without weighing down every single prompt.

Angular skills aren't a brand-new concept. Ng-News previously reported on the Analog.js skills that came out in January. Their author, Brandon Roberts, has confirmed that with official Angular skills now in place, the Analog.js skills are officially deprecated.

angular/skills (GitHub)