بنقرة واحدة
test-writer
Write test code. 100% coverage, SSR tests, edge cases. Use when writing tests, adding test coverage.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Write test code. 100% coverage, SSR tests, edge cases. Use when writing tests, adding test coverage.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Design React APIs and abstractions in a React-like way. Covers declarative interfaces, lifecycle-safe abstractions, minimal surfaces, zero-dependency bias, type safety, and documentation.
Review React hooks against design philosophy. Checks return values, SSR safety, state design, effect usage, TypeScript patterns, and performance.
Write React hooks following design philosophy. Covers naming, return values, SSR safety, state design, effect patterns, TypeScript, and performance.
Create branches following repo conventions. Use when creating branches, starting new features.
PR/code review. 100% coverage, SSR safety, JSDoc validation. Use when reviewing code, checking PRs.
Create commits following repo conventions. Use when committing changes, creating commit messages.
| name | test-writer |
| description | Write test code. 100% coverage, SSR tests, edge cases. Use when writing tests, adding test coverage. |
| allowed-tools | Read, Write, Edit, Bash |
Writes tests that achieve 100% coverage.
yarn test:spec # Run a single test
yarn test:coverage # Check coverage
it('is safe on server side rendering', () => {
const result = renderHookSSR.serverOnly(() => useHook());
expect(result.current).toBeDefined();
});
it('returns expected value', () => {
const { result } = renderHook(() => useHook(input));
expect(result.current).toBe(expected);
});
it('handles null/undefined', () => { ... });
it('handles empty values', () => { ... });
it('updates when state changes', () => {
const { result, rerender } = renderHook(({ value }) => useHook(value), {
initialProps: { value: 'initial' },
});
rerender({ value: 'updated' });
expect(result.current).toBe('updated');
});
All lines, branches, and functions must have 100% coverage.