Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tomicassanelli-react-18
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/react-18
Tools it pre-approves 7
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Edit,Write,Glob,Grep,Bash,Task
What's inside
- Skill name
react-18- Description
- React 18 patterns for Next.js 14 App Router. Trigger: Writing React components/hooks in .tsx files.
- License
- MIT
- Allowed tools
- Read,, Edit,, Write,, Glob,, Grep,, Bash,, Task
- Metadata
- author: tickets-tool · version: 1.0 · auto_invoke: Writing React components
- Instructions
- 143 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
## When to Apply
Use this skill when:
- Creating new React components
- Writing custom hooks
- Handling state or side effects
- Working with Next.js App Router
---
## Critical Rules
### 1. Imports (REQUIRED)
```typescript
// ✅ ALWAYS: Named imports
import { useState, useEffect, useRef } from "react";
// ❌ NEVER
import React from "react";
import * as React from "react";
```
### 2. Server vs Client Components
```typescript
// ✅ Server Component (default in App Router)
export default async function Page() {
const data = await fetchData();
return <ClientComponent data={data} />;
}
// ✅ Client Component - only when needed
"use client";
export function Interactive() {
const [state, setState] = useState(false);
return <button onClick={() => setState(!state)}>Toggle</button>;
}
```
### 3. When to use "use client"
- useState, useEffect, useRef, useContext
- Event handlers (onClick, onChange)
- Browser APIs (window, localStorage)
---
## Decision Tree
```text
Need interactivity (state/handlers)? -> "use client" directive
Fetching data in page? -> Server Component, await directly
Need browser API? -> "use client"
Static UI only? -> Server Component (no directive)
```
---
## Common Hook Patterns
```typescript
// State with lazy initializer
const [state, setState] = useState(() => {
return expensiveInitialValue();
});
// Ref for mutable values that don't trigger re-renders
const ref = useRef<HTMLInputElement>(null);
// Cleanup in useEffect
useEffect(() => {
const subscription = subscribe(id);
return () => subscription.unsubscribe();
}, [id]);
```
---
## Next.js App Router Patterns
```typescript
// Server Actions (Next.js 14+)
"use server";
async function submitForm(formData: FormData) {
await saveToDatabase(formData);
revalidatePath("/");
}
// Reading URL params (Server Component)
export default async function Page({ params }: { params: { id: string } }) {
return <div>Ticket {params.id}</div>;
}
// Loading/Error states
export default function Page() {
return (
<Suspense fallback={<Skeleton />}>
<TicketList />
</Suspense>
);
}
```
---
## Memoization (Use Sparingly)
```typescript
// Only use when profiling shows it's needed
const filtered = useMemo(() => items.filter(x => x.active), [items]);
// Stable callback references
const handleClick = useCallback((id: string) => {
console.log(id);
}, []);
```
---From TomiCassanelli/tickets-tool, MIT.
More from TomiCassanelli/tickets-tool
- 0.414score
skill-creator
tickets-tool
Creates new AI agent skills following this repository's skill format and conventions.
SkillDFreshness: DClaude Code - 0.406score
skill-sync
tickets-tool
Syncs skill metadata to AGENTS.md Auto-invoke sections.
SkillDFreshness: DClaude Code +9 - 0.406score
tailwind-3
tickets-tool
Tailwind CSS 3 patterns and best practices for consistent styling in the Next.js frontend.
SkillDFreshness: DClaude Code - 0.406score
backend-qa
tickets-tool
QA checks focused on code errors (import errors, syntax errors, unresolved references).
SkillDFreshness: DClaude Code +9 - 0.406score
typescript
tickets-tool
TypeScript strict patterns and best practices for type safety and consistency.
SkillDFreshness: DClaude Code - 0.404score
fastapi-backend
tickets-tool
FastAPI patterns for tickets-tool backend.
SkillDFreshness: DClaude Code - 0.402score
web-data-fetching
tickets-tool
Frontend data-fetching patterns for fetch API, loading/error states, retries, cancellation, and API config.
SkillDFreshness: DClaude Code - 0.402score
tdd
tickets-tool
Test-Driven Development workflow for implementing features, fixing bugs, and refactoring safely.
SkillDFreshness: DClaude Code
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 2
- Last commit (this folder)
- Mar 23, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- MIT
- Repository
- github.com/TomiCassanelli/tickets-tool
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tickets-tool
- 0.414score
skill-creator
tickets-tool
Creates new AI agent skills following this repository's skill format and conventions.
SkillDFreshness: DClaude Code - 0.406score
backend-qa
tickets-tool
QA checks focused on code errors (import errors, syntax errors, unresolved references).
SkillDFreshness: DClaude Code +9 - 0.406score
skill-sync
tickets-tool
Syncs skill metadata to AGENTS.md Auto-invoke sections.
SkillDFreshness: DClaude Code +9 - 0.406score
tailwind-3
tickets-tool
Tailwind CSS 3 patterns and best practices for consistent styling in the Next.js frontend.
SkillDFreshness: DClaude Code - 0.406score
typescript
tickets-tool
TypeScript strict patterns and best practices for type safety and consistency.
SkillDFreshness: DClaude Code - 0.404score
fastapi-backend
tickets-tool
FastAPI patterns for tickets-tool backend.
SkillDFreshness: DClaude Code
Cite this page
react-18 skill. Agent Mart. https://agentmart.dev/skills/tomicassanelli-react-18 (last updated 2026-10-24)