.claude/skills/angular-expert/SKILL.md
Angular framework expert including components, services, RxJS, templates, and testing
npx skillsauth add oimiragieo/agent-studio angular-expertInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When reviewing or writing code, apply these guidelines:
When reviewing or writing code, apply these guidelines:
When reviewing or writing code, apply these guidelines:
When reviewing or writing code, apply these guidelines:
@Input() values are read-only from the child's perspective; communicate back to the parent via @Output() events or shared services.takeUntilDestroyed(), the async pipe, or DestroyRef; uncleaned subscriptions are the #1 Angular memory leak vector.OnPush change detection for non-trivial components — default change detection triggers on every event everywhere in the tree; OnPush triggers only on input reference changes.any type assertions to bypass TypeScript — type-unsafe code causes runtime errors that strict mode would catch at compile time; use proper types or generics instead.| Anti-Pattern | Why It Fails | Correct Approach |
| ------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------- |
| Using NgModule for new components | Legacy pattern deprecated since Angular 17 | Use standalone components |
| Direct DOM manipulation with ElementRef | Breaks SSR and web worker compatibility | Use Angular renderer or signals |
| Not unsubscribing from Observables | Memory leaks accumulate across component lifecycle | Use async pipe or takeUntilDestroyed() |
| Default change detection on data-heavy components | Unnecessary full-tree checks on every event | Use OnPush change detection strategy |
| Deeply nested imperative subscriptions | Hard to test, lifecycle leak risk | Prefer async pipe in template |
| Using any type to bypass compiler | Runtime errors that TypeScript would prevent | Use proper types or unknown with type guards |
This expert skill consolidates 1 individual skills:
Before starting:
cat .claude/context/memory/learnings.md
After completing: Record any new patterns or exceptions discovered.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.
tools
Comprehensive biosignal processing toolkit for analyzing physiological data including ECG, EEG, EDA, RSP, PPG, EMG, and EOG signals. Use this skill when processing cardiovascular signals, brain activity, electrodermal responses, respiratory patterns, muscle activity, or eye movements. Applicable for heart rate variability analysis, event-related potentials, complexity measures, autonomic nervous system assessment, psychophysiology research, and multi-modal physiological signal integration.
tools
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python. Use when working with network/graph data structures, analyzing relationships between entities, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks, or visualizing network topologies. Applicable to social networks, biological networks, transportation systems, citation networks, and any domain involving pairwise relationships.
data-ai
Molecular featurization for ML (100+ featurizers). ECFP, MACCS, descriptors, pretrained models (ChemBERTa), convert SMILES to features, for QSAR and molecular ML.
development
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.