Agent skill

Tsh Reviewing Frontend

by TheSoftwareHouse in TheSoftwareHouse/copilot-collections

Frontend-specific code review criteria, component anti-patterns, hooks quality, rendering correctness, accessibility and performance spot-checks, and module organization issues.

MITAuto-check passedDevelopment

Install Tsh Reviewing Frontend

skills CLI
$ npx skills add TheSoftwareHouse/copilot-collections --skill tsh-reviewing-frontend -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheSoftwareHouse/copilot-collections tsh-reviewing-frontend --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheSoftwareHouse/copilot-collections.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/tsh-reviewing-frontend .claude/skills/tsh-reviewing-frontend && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
tsh-reviewing-frontend
GitHub stars
284
Token cost
~4.4k tokens
SKILL.md length
1,816 words
Files
2 (incl. references)
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Frontend-specific code review criteria, component anti-patterns, hooks quality, rendering correctness, accessibility and performance spot-checks, and module organization issues.

  • Reviewing frontend pull requests
  • SKILL.md covers Frontend Review Process, Frontend Review Checklist, Common Frontend Anti-Patterns and Framework-Specific Patterns, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Auditing component quality

What it does

Tsh Reviewing Frontend is an agent skill from TheSoftwareHouse/copilot-collections. Frontend-specific code review criteria, component anti-patterns, hooks quality, rendering correctness, accessibility and performance spot-checks, and module organization issues. Use when reviewing frontend pull requests, auditing component quality, or identifying UI-specific code smells beyond general code review.

Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/react-patterns.md`).

It sits in Development, covering Refactoring, Pull requests and Accessibility. The repository describes itself as: Opinionated AI-enabled workflows for product engineering. The licence is MIT.

When your agent uses it

  • Reviewing frontend pull requests
  • Auditing component quality
  • Identifying UI-specific code smells beyond general code review

Example prompts

  • “/tsh-reviewing-frontend”

What it can do on your machine

Read from SKILL.md and the folder at commit 2fbe51e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tsh Reviewing Frontend loads about 4.4k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 1,816 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheSoftwareHouse/copilot-collections at commit 2fbe51e, republished under its MIT licence (© TheSoftwareHouse). 1,816 words, ~4,382 tokens.

Download SKILL.mdSave it as .claude/skills/tsh-reviewing-frontend/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
tsh-reviewing-frontend
description
Frontend-specific code review criteria, component anti-patterns, hooks quality, rendering correctness, accessibility and performance spot-checks, and module organization issues. Use when reviewing frontend pull requests, auditing component quality, or identifying UI-specific code smells beyond general code review.
user-invocable
false

Reviewing Frontend

Provides frontend-specific review criteria for evaluating component quality, hooks correctness, rendering behavior, accessibility compliance, and performance — to be used alongside the general tsh-code-reviewing skill.

<principles>
<frontend-lens>
This skill supplements, not replaces, general code review. Apply these checks after (or alongside) the general review process. Focus on issues that are unique to frontend — rendering correctness, visual regression risk, accessibility compliance, and client-side performance.
</frontend-lens>
<severity-over-style>
A missed keyboard trap in a modal matters more than a slightly non-standard prop name. Prioritize correctness and accessibility issues over style preferences. Use findings severity: critical (must fix), warning (should fix), suggestion (consider).
</severity-over-style>
</principles>

Frontend Review Process

Use the checklist below and track your progress:

Review progress:
- [ ] Step 1: Review component structure
- [ ] Step 2: Review hooks/composables quality
- [ ] Step 3: Review rendering correctness
- [ ] Step 4: Spot-check accessibility
- [ ] Step 5: Spot-check performance
- [ ] Step 6: Produce findings report

Step 1: Review component structure

Check each component for:

  • Single responsibility: Does the component do one thing clearly? A component handling data fetching, transformation, AND presentation is doing too much. Signs of violation: file exceeds 300 lines, component name uses "And" or "With" (e.g., FetchAndDisplayUsers), multiple unrelated state variables.
  • Props design: Are props well-typed, minimal, with sensible defaults? Is there prop sprawl (>7 props)? If so, the component likely needs decomposition or a compound component pattern. Check for boolean prop armies (isLoading, isDisabled, isExpanded, isSelected) — consider a status enum instead.
  • Composition: Are children/slots used where appropriate, or is the component inflexible? Look for components that accept large config objects instead of composing smaller pieces. A component rendering hardcoded layout that consumers can't customize needs a composition redesign.
  • State location: Is state as close as possible to where it's consumed? Is there unnecessary lifting? State shared by only one child should live in that child. State consumed by distant siblings may belong in a shared context or store — not drilled through intermediate components.
  • Error handling: Does the component handle loading, error, and empty states? Every data-dependent component needs all three. A component that renders nothing during loading or shows a blank screen on error is incomplete.
  • Naming: Does the component name describe what it renders? UserProfileCard is clear; DataDisplay is not. Avoid generic names like Wrapper, Container, Handler unless the component's sole purpose is layout containment.
  • Export: Named export? No default exports. Default exports create inconsistent import names across consumers and make automated refactoring harder.

Signs a component needs splitting:

SignalThreshold
File length> 300 lines
Props count> 7 props
State variables> 5 state declarations
Effects> 3 side effect hooks/watchers
Nested conditions> 2 levels of ternary/conditional rendering
Mixed concernsFetching + transforming + rendering in one component

Step 2: Review hooks/composables quality

Throughout this section, "hook" refers to any reusable logic unit — React hooks, Vue composables, or equivalent abstractions. Adapt naming conventions and dependency tracking checks to the project's framework.

For every custom hook/composable in the changeset:

  • Naming: Does the name follow the project's framework convention (e.g., use prefix in React/Vue) and describe behavior? useDebounce is good; useHelper is vague. The name should answer "what does calling this hook/composable give me?" without reading the implementation.
  • Single responsibility: Does the hook do one thing, or is it overloaded with 5+ config options? Overloaded hooks should be decomposed into smaller hooks that compose together. A hook that manages form state AND validation AND submission AND error display is doing too much.
  • Dependency tracking: Are all reactive values included? Any lint suppressions for dependency tracking? Each suppression is a potential stale closure bug — flag as warning. The fix is usually to restructure the effect, not to suppress the lint.
  • Effect cleanup: Do all effects clean up timers, listeners, subscriptions, and abort controllers? Missing cleanup is an automatic critical finding — it causes memory leaks. Check for:
    • setTimeout / setInterval without clearTimeout / clearInterval in cleanup
    • addEventListener without removeEventListener
    • AbortController not aborted on unmount
    • WebSocket / EventSource connections not closed
  • Return shape: Does the hook return an object with stable references? Are callbacks wrapped to maintain referential stability? Tuple returns are acceptable for simple 2-value hooks (useToggle → [value, toggle]) but objects are preferred for 3+ values to avoid positional confusion.
  • Side effects in render phase: Any fetch, write, or mutation outside the framework's effect/lifecycle mechanism? This is an automatic critical — it causes unpredictable behavior and potential infinite loops. Writing to localStorage, calling fetch, or dispatching events during render are all violations.

After completing the generic checks above, load the framework-specific reference (see Framework-Specific Patterns section) and apply its hooks review checklist for additional framework-specific checks.

Step 3: Review rendering correctness

Check for:

  • Key usage: Stable, unique keys in lists — not array indices unless the list is static and never reordered. Index keys on dynamic lists cause rendering bugs and state mix-ups. Prefer entity IDs. If no natural key exists, generate a stable ID at data creation time — not at render time.
  • Memoization correctness: Is memoization/caching applied where benefit exists (expensive computations, props passed to memoized children)? Is it over-applied on trivial computations where it adds complexity without benefit? Memoizing a string concatenation or a simple boolean adds overhead without gain.
  • Object stability: Are inline object or array literals passed as props to memoized children? Each render creates a new reference, defeating memoization and causing unnecessary re-renders. Common violations:
    • style={{ margin: 8 }} — lift to a constant or use a styling solution
    • options={[{ value: 'a' }, { value: 'b' }]} — lift to module scope or memoize
    • onChange={(e) => setValue(e.target.value)} — stabilize the reference if child is memoized
  • Conditional rendering: Are conditional renders clean? No nested ternaries beyond 2 levels. Deep nesting should be extracted into sub-components or early returns. Prefer early return pattern for guard clauses:
    tsx
    if (isLoading) return <Spinner />;
    if (error) return <ErrorMessage error={error} />;
    if (!data.length) return <EmptyState />;
    return <DataList data={data} />;
  • Ref misuse: Are mutable refs used to hold state that should trigger re-renders? Is reactive state used for values that should NOT trigger re-renders (e.g., timer IDs, previous values for comparison)? Each is the wrong tool for the job.
  • Derived state: Is there state that could be computed from existing state or props? Storing derived values in reactive state creates synchronization bugs. Compute inline or cache with the framework's memoization primitive.

Step 4: Spot-check accessibility

Quick checks — not a full audit. Defer to tsh-ensuring-accessibility for comprehensive coverage.

  • Interactive elements: <button> for actions, <a> for navigation links? Or <div onClick> / <span onClick> anti-pattern? Non-semantic interactive elements break keyboard and screen reader access — automatic critical. The <div> with an onClick has no keyboard support, no role, no focus indicator by default.
  • Labels: Do form fields have visible <label> elements associated via for/id pairing? Placeholder text as the only label is a warning — the label disappears on input. aria-label is acceptable for icon-only buttons but not as a substitute for visible labels on text inputs.
  • Headings: Logical hierarchy maintained? Heading levels skipped (e.g., <h1> to <h3> with no <h2>)? Skipped levels break document outline for assistive technology. Each page should have exactly one <h1>.
  • Keyboard access: Can custom interactive widgets (dropdowns, modals, tabs) be reached and activated via keyboard? Tab order logical? Look for tabIndex values greater than 0 — they disrupt natural tab order and should almost never be used.
  • Focus management: Is focus moved to the modal/dialog on open? Is focus returned to the trigger on close? Missing focus management traps keyboard users. Check that focus is not moved to non-interactive elements without tabIndex="-1".
  • Color-only indicators: Any state relying on color alone (red border for error, green for success)? Must include a secondary indicator (icon, text, pattern). Check error messages — do they exist as text, or are they conveyed only by a red outline?
  • ARIA usage: Are ARIA attributes used correctly? aria-hidden="true" on interactive elements removes them from the accessibility tree. role="button" on a <div> requires tabIndex="0" and onKeyDown handler — prefer <button> instead.
Show full SKILL.md (574 more words)Show less

Step 5: Spot-check performance

Quick checks — not a full audit. Defer to tsh-optimizing-frontend for deep analysis.

  • Bundle impact: Will new imports significantly increase bundle size? Flag heavy library additions (charting, date, rich text) that could be lazy-loaded or replaced with lighter alternatives. Check for full-library imports (import _ from 'lodash') where named imports (import { debounce } from 'lodash/debounce') would suffice.
  • Lazy loading: Are new routes and heavy components lazy-loaded? Top-level route components should use dynamic imports. Components only visible after user interaction (modals, drawers, tabs beyond the first) are lazy-loading candidates.
  • Barrel imports: Does a new or modified barrel file (index.ts) pull unused exports into the bundle? Wildcard re-exports (export *) break tree shaking. Named re-exports (export { Button } from './Button') are the safe pattern.
  • Rendering: Obvious unnecessary re-renders? Missing memo on frequently-rendered list items whose parent re-renders often? Check for context providers with unstable value props — a provider passing value={{ user, setUser }} creates a new object every render, re-rendering all consumers.
  • Large lists: Are lists of 100+ items virtualized? Rendering hundreds of DOM nodes degrades scroll performance. Flag unvirtualized large lists as a warning.

Step 6: Produce findings report

Group findings by severity. Each finding must include: file + line range, issue description, and recommended fix.

Critical — Must fix before merge:

  • Accessibility blockers (keyboard traps, missing labels on critical flows, non-semantic interactive elements)
  • Rendering bugs (missing/index keys on dynamic lists, side effects in render phase)
  • Memory leaks (effects without cleanup)
  • Security issues (XSS vectors, unsafe raw HTML insertion without sanitization)

Warning — Should fix, may defer with justification:

  • Props design issues (sprawl, missing types, unclear naming)
  • Missing error, loading, or empty states
  • Hook quality concerns (suppressed lint rules, overloaded hooks, unstable return shapes)
  • Placeholder-as-only-label, skipped heading levels
  • Derived state stored in reactive state instead of computed

Suggestion — Consider for improvement:

  • Style improvements (conditional rendering cleanup, naming tweaks)
  • Composition opportunities (extract sub-component, use children pattern)
  • Minor optimizations (memoize prop objects, add memo to list items)
  • Default export usage (convert to named export)

Format each finding consistently:

[SEVERITY] file/path.tsx#L10-L25
Issue: <description>
Fix: <recommended action>

Example findings:

[CRITICAL] components/Modal.tsx#L45-L52
Issue: <div onClick={onClose}> used as close button — no keyboard access, no role, no focus indicator.
Fix: Replace with <button onClick={onClose} aria-label="Close modal">.

[WARNING] hooks/useUserData.ts#L18
Issue: Dependency tracking lint rule suppressed — potential stale closure.
Fix: Restructure effect to include all dependencies, or extract a stable callback.

[SUGGESTION] components/OrderList.tsx#L33
Issue: Inline style object `style={{ padding: 16 }}` passed to memoized child — defeats memo.
Fix: Lift to module-level constant or use styling solution.

Frontend Review Checklist

Frontend Review:
- [ ] Components follow single responsibility
- [ ] Props are typed, minimal, with defaults
- [ ] Named exports (no default exports)
- [ ] Loading, error, and empty states handled
- [ ] Custom hooks/composables: proper naming, SRP, complete deps, cleanup (+ framework-specific checklist from references)
- [ ] Keys are stable and unique (not array indices)
- [ ] No inline object/array props without memoization
- [ ] No derived state in reactive state (compute instead)
- [ ] Interactive elements use semantic HTML
- [ ] Form fields have visible labels
- [ ] Focus managed on modal/dialog open/close
- [ ] No color-only state indicators
- [ ] ARIA attributes used correctly
- [ ] New routes/heavy components lazy-loaded
- [ ] No wildcard imports or bloated barrel files
- [ ] Conditional rendering is readable (no deep ternary nesting)
- [ ] Large lists (100+) virtualized

Common Frontend Anti-Patterns

Anti-PatternSeverityWhy
<div onClick> instead of <button>CriticalBreaks keyboard + screen reader access
Missing key or index-as-key on dynamic listCriticalCauses rendering bugs, state mix-ups
Effect/watcher without cleanup (timers/listeners)CriticalMemory leak
Side effect in render phaseCriticalUnpredictable behavior, infinite loops
Raw HTML insertion without sanitizationCriticalXSS vulnerability
Placeholder used as only labelWarningAccessibility: label disappears on input
300+ line componentWarningHard to maintain, likely violates SRP
Hook/composable with suppressed dependency trackingWarningHidden stale closure or reactivity bug
Missing loading/error stateWarningBroken UX for slow/failed requests
Derived state in reactive stateWarningSynchronization bugs, stale data
Context/provider with unstable valueWarningAll consumers re-render every time
Inline object as prop to memo childSuggestionCauses unnecessary re-render
Deeply nested ternary (3+ levels)SuggestionHard to read, extract component instead
Default exportSuggestionInconsistent imports, harder refactoring
Full-library importSuggestionBundle bloat from unused code

Framework-Specific Patterns

The review criteria above are framework-agnostic. For framework-specific anti-patterns and API checks, load the appropriate reference:

  • React: See ./references/react-patterns.md — React-specific hooks review, dangerouslySetInnerHTML, exhaustive-deps, memoization API checks.

Connected Skills

  • tsh-code-reviewing — the general review process; this skill provides the frontend-specific checks
  • tsh-implementing-frontend — the patterns being reviewed against
  • tsh-implementing-forms — for form-specific patterns (validation schemas, field composition, multi-step flows) being reviewed against
  • tsh-ensuring-accessibility — for comprehensive accessibility audits beyond spot-checks
  • tsh-optimizing-frontend — for deep performance analysis beyond spot-checks
  • tsh-writing-hooks — for detailed hook quality patterns being reviewed against

© TheSoftwareHouse, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in .github/skills/tsh-reviewing-frontend of TheSoftwareHouse/copilot-collections.

  • SKILL.md
  • references/react-patterns.md

Open the folder on GitHubat commit 2fbe51e

Compare with similar skills

Tsh Reviewing Frontend next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tsh Reviewing Frontend compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tsh Reviewing Frontend this skillTheSoftwareHouse/copilot-collections284—~4.4kAutomated safety check: PassMIT
Panel Reviewstacklok/mecatl254—~5.8kAutomated safety check: PassApache-2.0
React Code Reviewgiuseppe-trisciuoglio/developer-kit357—~2.6kAutomated safety check: NotesMIT
Coding Agentmastra-ai/mastra29k—~2.3kAutomated safety check: PassCustom licence
Code ReviewerYikai-Liao/symusic1891 repos~1.3kAutomated safety check: PassMIT
Typescript React ReviewerSuFxGIT/scoutarr115—~1.7kAutomated safety check: PassNone

Similar skills

  • Panel Review

    stacklok/mecatl

    Review completed non-trivial code across four independent axes: Spec, Standards, Test adequacy, and installed Domain specialists.

    254 GitHub stars~5.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • React Code Review

    giuseppe-trisciuoglio/developer-kit

    Provides comprehensive code review capability for React applications, validates component architecture, hooks usage, React 19 patterns, state management, performance optimization, accessibility…

    357 GitHub stars~2.6k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check: notes
  • Coding Agent

    mastra-ai/mastra

    Authoring playbook for building agents that write, edit, review, or refactor code.

    29k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Reviewer

    Yikai-Liao/symusic

    Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues, and architectural concerns, then…

    189 GitHub starsUsed in 1 repo~1.3k tokens
    DevelopmentAuto-check passed
  • Expert code reviewer for TypeScript + React 19 applications.

    115 GitHub stars~1.7k tokensUpdated 6 mo ago
    DevelopmentAuto-check passed
  • Core Components Code Review

    core-ds/core-components

    Review a Pull Request or diff in the @alfalab/core-components UI library — correctness bugs, public API/breaking changes, accessibility, keyboard/focus/pointer interaction, component states…

    137 GitHub stars~5.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from TheSoftwareHouse/copilot-collections

All 21 skills in this repo
  • Tsh Creating Skills

    TheSoftwareHouse/copilot-collections

    Create new skills (SKILL.md) for GitHub Copilot. An agent skill from TheSoftwareHouse/copilot-collections.

    284 GitHub stars~4.1k tokensUpdated 5 days ago
    Auto-check passed
  • Tsh Implementing Frontend

    TheSoftwareHouse/copilot-collections

    Frontend component patterns, composition, design token integration, barrel file organization, error handling, and Figma-to-code workflow.

    284 GitHub stars~2.6k tokensUpdated 5 days ago
    Auto-check passed
  • Tsh Implementing Terraform Modules

    TheSoftwareHouse/copilot-collections

    Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices.

    284 GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed
  • Tsh Optimizing Frontend

    TheSoftwareHouse/copilot-collections

    Frontend rendering optimization, code splitting, memoization strategies, bundle size control, asset optimization, and memory management.

    284 GitHub stars~4.1k tokensUpdated 5 days ago
    Auto-check passed
  • Tsh Writing Hooks

    TheSoftwareHouse/copilot-collections

    Custom hook and composable patterns — naming, composition, stable return shapes, lifecycle cleanup, and testing strategies.

    284 GitHub stars~3k tokensUpdated 5 days ago
    Auto-check passed
  • Tsh Creating Instructions

    TheSoftwareHouse/copilot-collections

    Creates custom instruction files (.instructions.md) for GitHub Copilot in VS Code.

    284 GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed

Questions about Tsh Reviewing Frontend

What does Tsh Reviewing Frontend do?

Frontend-specific code review criteria, component anti-patterns, hooks quality, rendering correctness, accessibility and performance spot-checks, and module organization issues. Tsh Reviewing Frontend is an agent skill from TheSoftwareHouse/copilot-collections. Frontend-specific code review criteria, component anti-patterns, hooks quality, rendering correctness, accessibility and performance spot-checks, and module organization issues.

When should I use Tsh Reviewing Frontend?

Tsh Reviewing Frontend fits situations like: reviewing frontend pull requests; auditing component quality; identifying UI-specific code smells beyond general code review.

How do I install Tsh Reviewing Frontend in Claude Code?

Run `npx skills add TheSoftwareHouse/copilot-collections --skill tsh-reviewing-frontend -a claude-code`. Or copy the skill folder (.github/skills/tsh-reviewing-frontend in TheSoftwareHouse/copilot-collections) into .claude/skills/tsh-reviewing-frontend in your project. Claude Code loads it when a task matches its description.

How do I install Tsh Reviewing Frontend in Codex?

Run `npx skills add TheSoftwareHouse/copilot-collections --skill tsh-reviewing-frontend -a codex`. Or copy the skill folder (.github/skills/tsh-reviewing-frontend in TheSoftwareHouse/copilot-collections) into .agents/skills/tsh-reviewing-frontend in your project. Codex loads it when a task matches its description.

Can I use Tsh Reviewing Frontend in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheSoftwareHouse/copilot-collections --skill tsh-reviewing-frontend -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tsh-reviewing-frontend, .gemini/skills/tsh-reviewing-frontend, .github/skills/tsh-reviewing-frontend and .opencode/skills/tsh-reviewing-frontend in your project.

What does Tsh Reviewing Frontend need to run?

SKILL.md names no scripts, command-line tools or credentials: Tsh Reviewing Frontend is instructions for the agent only.

Does Tsh Reviewing Frontend access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Tsh Reviewing Frontend safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Tsh Reviewing Frontend use?

Tsh Reviewing Frontend is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tsh Reviewing Frontend use?

About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Tsh Reviewing Frontend?

Skills that share tags, products or a category with Tsh Reviewing Frontend: Panel Review (stacklok/mecatl, 254 stars), React Code Review (giuseppe-trisciuoglio/developer-kit, 357 stars), Coding Agent (mastra-ai/mastra, 29k stars) and Code Reviewer (Yikai-Liao/symusic, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tsh Reviewing Frontend?

TheSoftwareHouse (a GitHub organization) maintains it in TheSoftwareHouse/copilot-collections, which has 284 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 5, 2026.

Source: TheSoftwareHouse/copilot-collections on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.