— No reviews yet
0 installs
10 views
0.0% view→install
Install
$ agentstack add skill-herbertjulio-specialist-agent-dev-create-hook ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Are you the author of Dev Create Hook? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claimAbout
Create a custom hook following docs/ARCHITECTURE.md section 4.4.
Hook: $ARGUMENTS
Steps
- Read
docs/ARCHITECTURE.mdsection 4.4.
- Determine the type:
- Query (data reading) ->
useQuery+ service + adapter - Mutation (write/delete) ->
useMutation+ query invalidation - Pure logic (no API) -> useState + useMemo + useEffect
- Create the hook in
hooks/use[Name].ts:
Query Hook Template
import { useQuery, keepPreviousData } from '@tanstack/react-query'
import { xxxService } from '../services/xxx-service'
import { xxxAdapter } from '../adapters/xxx-adapter'
interface UseXxxOptions {
page: number
pageSize?: number
}
export function useXxx(options: UseXxxOptions) {
const { page, pageSize = 20 } = options
const { data, isLoading, isFetching, error, refetch } = useQuery({
queryKey: ['xxx', { page, pageSize }],
queryFn: async () => {
const response = await xxxService.list({ page, pageSize })
return xxxAdapter.toXxxList(response.data)
},
staleTime: 5 * 60 * 1000,
placeholderData: keepPreviousData,
})
return { data, isLoading, isFetching, error, refetch }
}
Mutation Hook Template
import { useMutation, useQueryClient } from '@tanstack/react-query'
import { xxxService } from '../services/xxx-service'
import { xxxAdapter } from '../adapters/xxx-adapter'
export function useCreateXxx() {
const queryClient = useQueryClient()
return useMutation({
mutationFn: async (input: CreateXxxInput) => {
const payload = xxxAdapter.toCreatePayload(input)
const response = await xxxService.create(payload)
return xxxAdapter.toXxx(response.data)
},
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['xxx'] })
},
})
}
- Required:
useprefix, staleTime for queries, queryKey as array, adapter in queryFn.
- Connect the layers: service -> adapter -> React Query
- Validate:
npx tsc --noEmit
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: HerbertJulio
- Source: HerbertJulio/specialist-agent
- License: MIT
- Homepage: https://specialistagent.com.br
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.