Runs frontend unit tests with coverage, analyzes coverage reports, and implements meaningful tests to increase coverage by ~0.2%. Use when you want to systematically improve frontend test coverage with high-value test cases.
npx skills add https://github.com/streamlit/streamlit --skill improving-frontend-coverage
Increase frontend unit test coverage by ~0.2% through meaningful tests that add real value.
Be fully autonomous — Do NOT stop or pause to ask for confirmation. Keep iterating (analyze → implement → verify) until the 0.2% coverage target is reached. If you encounter ambiguities about what to test, make a reasonable choice and proceed.
Step 1: Run tests with coverage
COVERAGE_JSON=1 make frontend-tests # ~5 min
Reports generated in frontend/coverage/:
coverage-summary.json - Per-file percentages (lines, branches, functions)coverage-final.json - Line-level data with uncovered line numbers (hit count 0 in s, f, b maps)Step 2: Analyze and prioritize
Read coverage-summary.json to find files with:
lib/src/components/utils/src/Skip: >97% coverage, auto-generated, .d.ts, test files.
Step 3: Implement tests (in subagent)
Launch a subagent to implement tests for each prioritized file. Provide the subagent with:
coverage-final.jsonThe subagent should:
cd frontend && yarn test path/to/Component.test.tsxStep 4: Verify and iterate
cd frontend && yarn test path/to/Component.test.tsx # Run new tests
COVERAGE_JSON=1 make frontend-tests # Measure progress
Repeat steps 2-4 until coverage improves by ≥0.2%, then run make check.
Step 5: Simplify, review, and address feedback
Once all tests pass and coverage target is met:
simplifying-local-changes subagent to clean up and simplify the code changes. Wait for completion.reviewing-local-changes subagent to review the changes. Wait for completion and read the review output.DO test: Conditional rendering, user interactions, prop variations, error handling, accessibility, edge cases (null, empty, max values).
DON'T test: Pass-through props, styling, library internals, implementation details, already well-covered code.
Coverage exclusions: Use /* istanbul ignore next */ sparingly for code that genuinely doesn't need testing. Always include a reason (e.g., /* istanbul ignore next -- defensive */):
/* istanbul ignore next -- browser-only */)/* istanbul ignore next -- defensive */)/* istanbul ignore next -- exhaustive */)<Component>.test.tsx/checking-changes after implementing testsToolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when implementing any feature or bugfix, before writing implementation code
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Take streamlit/improving-frontend-coverage from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.