mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-14 04:01:30 +08:00
fix: refresh stale technical content in agents, rules, and skills (#2168)
Several published examples contained APIs that no longer exist, code that does not run, or model versions that drifted from reality: - agents/performance-optimizer.md used the web-vitals v3 API (getCLS/getFID/getLCP/getFCP/getTTFB) and reported FID. web-vitals v4 renamed the imports to onCLS/onINP/onLCP/onFCP/onTTFB and FID was replaced by INP (target < 200ms) - rules/common/performance.md pinned stale model versions in the model-selection guidance; refresh to the versions the repo itself uses (agent.yaml pins claude-opus-4-6) and add the PowerShell variant for MAX_THINKING_TOKENS next to the bash export - skills/python-patterns/SKILL.md: both get_value examples referenced default_value without declaring the parameter (NameError); add default_value: Any = None to the EAFP and LBYL signatures - skills/frontend-patterns/SKILL.md: the custom useQuery example rebuilt refetch whenever callers passed inline fetchers/options, re-triggering the effect after every state update (infinite fetch loop). Keep the latest fetcher/options in refs so refetch stays referentially stable. The PASS-labelled useMemo example mutated its input with in-place sort; copy before sorting - skills/coding-standards/SKILL.md repeated the same PASS-labelled in-place-sort-in-useMemo example; same fix - rules/typescript/security.md used a vendor-specific OPENAI_API_KEY in generic guidance; switch to a neutral API_KEY Every hand-maintained copy of the affected content is synced in the same change: locale mirrors (ja-JP, ko-KR, pt-BR, tr, zh-CN, zh-TW - each only where it carries the affected file) and the .agents/.kiro/.cursor harness mirrors. Two structural divergences are left alone and noted here: .kiro/steering/performance.md has no extended-thinking control list to carry the PowerShell variant, and docs/zh-TW/rules/performance.md keeps an older condensed thinking section without the budget-cap line. rules/zh/performance.md is intentionally untouched - the rules/zh tree is being retired in a separate change
This commit is contained in:
committed by
GitHub
parent
36bec90d45
commit
8b24f63ede
@@ -398,8 +398,9 @@ export async function searchMarkets(
|
||||
import { useMemo, useCallback } from 'react'
|
||||
|
||||
// PASS: GOOD: Memoize expensive computations
|
||||
// Copy before sorting - Array.prototype.sort mutates in place
|
||||
const sortedMarkets = useMemo(() => {
|
||||
return markets.sort((a, b) => b.volume - a.volume)
|
||||
return [...markets].sort((a, b) => b.volume - a.volume)
|
||||
}, [markets])
|
||||
|
||||
// PASS: GOOD: Memoize callbacks
|
||||
|
||||
@@ -171,28 +171,41 @@ export function useQuery<T>(
|
||||
const [error, setError] = useState<Error | null>(null)
|
||||
const [loading, setLoading] = useState(false)
|
||||
|
||||
// Keep the latest fetcher/options in refs so refetch stays referentially
|
||||
// stable even when callers pass inline functions and object literals.
|
||||
// Without this, every render creates a new refetch, and the effect below
|
||||
// re-runs after each state update - an infinite fetch loop.
|
||||
const fetcherRef = useRef(fetcher)
|
||||
const optionsRef = useRef(options)
|
||||
useEffect(() => {
|
||||
fetcherRef.current = fetcher
|
||||
optionsRef.current = options
|
||||
})
|
||||
|
||||
const refetch = useCallback(async () => {
|
||||
setLoading(true)
|
||||
setError(null)
|
||||
|
||||
try {
|
||||
const result = await fetcher()
|
||||
const result = await fetcherRef.current()
|
||||
setData(result)
|
||||
options?.onSuccess?.(result)
|
||||
optionsRef.current?.onSuccess?.(result)
|
||||
} catch (err) {
|
||||
const error = err as Error
|
||||
setError(error)
|
||||
options?.onError?.(error)
|
||||
optionsRef.current?.onError?.(error)
|
||||
} finally {
|
||||
setLoading(false)
|
||||
}
|
||||
}, [fetcher, options])
|
||||
}, [])
|
||||
|
||||
const enabled = options?.enabled !== false
|
||||
|
||||
useEffect(() => {
|
||||
if (options?.enabled !== false) {
|
||||
if (enabled) {
|
||||
refetch()
|
||||
}
|
||||
}, [key, refetch, options?.enabled])
|
||||
}, [key, enabled, refetch])
|
||||
|
||||
return { data, error, loading, refetch }
|
||||
}
|
||||
@@ -297,8 +310,9 @@ export function useMarkets() {
|
||||
|
||||
```typescript
|
||||
// PASS: useMemo for expensive computations
|
||||
// Copy before sorting - Array.prototype.sort mutates in place
|
||||
const sortedMarkets = useMemo(() => {
|
||||
return markets.sort((a, b) => b.volume - a.volume)
|
||||
return [...markets].sort((a, b) => b.volume - a.volume)
|
||||
}, [markets])
|
||||
|
||||
// PASS: useCallback for functions passed to children
|
||||
|
||||
@@ -12,12 +12,12 @@ description: Performance optimization guidelines including model selection strat
|
||||
- Pair programming and code generation
|
||||
- Worker agents in multi-agent systems
|
||||
|
||||
**Claude Sonnet 4.5** (Best coding model):
|
||||
**Claude Sonnet 4.6** (Best coding model):
|
||||
- Main development work
|
||||
- Orchestrating multi-agent workflows
|
||||
- Complex coding tasks
|
||||
|
||||
**Claude Opus 4.5** (Deepest reasoning):
|
||||
**Claude Opus 4.6** (Deepest reasoning):
|
||||
- Complex architectural decisions
|
||||
- Maximum reasoning requirements
|
||||
- Research and analysis tasks
|
||||
|
||||
Reference in New Issue
Block a user