본문으로 건너뛰기
cccskills
무료GitHub에 공개

ts-performance-rules

TypeScript and JavaScript performance and code-quality rules, usable in any framework. Use when writing, reviewing, or refactoring hot paths, data-structure choices, async flows, or bundle-size-sensitive code. Triggers include "optimize this function", "too slow", "reduce allocations", "bundle size", "lazy load", "speed up imports", or general code review of utilities and services.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(25)

  • SKILL.md3.3 KB
  • rules/async-cheap-condition-before-await.md1.2 KB
  • rules/async-defer-await.md2.2 KB
  • rules/async-dependencies.md1.3 KB
  • rules/async-parallel.md650 B
  • rules/bundle-analyzable-paths.md2.3 KB
  • rules/bundle-barrel-imports.md2.7 KB
  • rules/bundle-conditional.md966 B
  • rules/bundle-defer-third-party.md924 B
  • rules/bundle-dynamic-imports.md795 B
  • rules/bundle-preload.md1.1 KB
  • rules/js-batch-dom-css.md3.2 KB
  • rules/js-cache-function-results.md1.9 KB
  • rules/js-cache-property-access.md536 B
  • rules/js-cache-storage.md1.6 KB
  • rules/js-combine-iterations.md768 B
  • rules/js-early-exit.md1.1 KB
  • rules/js-flatmap-filter.md1.4 KB
  • rules/js-hoist-regexp.md1.0 KB
  • rules/js-index-maps.md850 B
  • rules/js-length-check-first.md1.7 KB
  • rules/js-min-max-loop.md2.2 KB
  • rules/js-request-idle-callback.md2.6 KB
  • rules/js-set-map-lookups.md532 B
  • rules/js-tosorted-immutable.md1.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

TypeScript performance rules

A rule catalog for TypeScript/JavaScript code in this repository. Rules are framework-neutral: they apply to the CLI, the agent engines, the gateway, and the web apps. Each rule file states its impact band, an incorrect/correct pair, and the reasoning.

Derived from Vercel's react-best-practices rule catalog (MIT); the React-component-specific rules are intentionally not part of this skill.

Rule index

Plain JavaScript efficiency (js-*.md)

RuleApplies when
js-early-exitLoops keep scanning after the answer is known
js-length-check-firstCheap guards can precede expensive calls
js-set-map-lookupsArrays are scanned inside loops for membership
js-index-mapsRepeated lookups rebuild the same index
js-flatmap-filterfilter().map() (or the reverse) makes two passes
js-combine-iterationsMultiple loops over the same array can share one pass
js-hoist-regexpRegex literals or constructions sit inside hot loops
js-min-max-loopMath.min(...bigArray) style spreads blow the stack or re-scan
js-cache-function-resultsPure functions recompute the same inputs
js-cache-property-accessDeep property chains are read repeatedly in loops
js-cache-storagelocalStorage/sessionStorage reads sit in hot paths
js-batch-dom-cssDOM style reads/writes alternate and force layout thrash
js-request-idle-callbackNon-urgent work blocks interaction
js-tosorted-immutable.sort() mutates arrays that callers own

Async structure (async-*.md)

RuleApplies when
async-cheap-condition-before-awaitA cheap guard sits after an expensive await
async-defer-awaitIndependent awaits run serially for no reason
async-parallelIndependent promises could run through Promise.all
async-dependenciesA chain of awaits hides which steps truly depend on each other

Bundle size (bundle-*.md)

RuleApplies when
bundle-barrel-importsImports pull whole barrel files for one symbol
bundle-conditionalLarge dependencies load for features that are rarely enabled
bundle-defer-third-partyThird-party SDKs load eagerly at startup
bundle-dynamic-importsRare code paths could be import() splits
bundle-preloadKnown-next navigations could preload their chunks
bundle-analyzable-pathsDynamic import paths are built in ways bundlers cannot trace

How to apply

  1. Pick rules by the code's actual shape, not by keyword match alone; the impact band in each rule's frontmatter says how much it typically matters.
  2. Apply the smallest change that satisfies the rule; do not restructure working code beyond the rule's scope.
  3. For repository-specific constraints, the nearest AGENTS.md and the package's own tests win over these general rules.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

PyModel/pythinker-code292026년 10월 18일 업데이트

Use when developing in packages/agent-core-v2 (the DI × Scope agent engine) — adding or modifying a domain Service, choosing a LifecycleScope, wiring DI dependencies, splitting a domain across scopes, owning or migrating a config section, gating behavior behind an experimental flag, raising coded errors, working on the permission system, writing DI/Scope tests, porting business logic from agent-core (v1) to v2, triaging a main-branch commit against v2, or exposing a v2 domain over server-v2 while keeping the /api/v1 wire contract compatible with released clients. Self-contained guide organized by development stage (orient → design → implement → test → verify) plus align workflows for v1→v2 migration, main-branch commit triage, and server-v2 wire exposure; each file carries the rules, examples, and red lines for its step.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

PyModel/pythinker-code292026년 10월 18일 업데이트

Apply an approved sub-skill grouping by moving user-specified skills into a parent bundle, with timestamped backups of every modified directory.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

PyModel/pythinker-code292026년 10월 18일 업데이트

dogfood

무료

Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

PyModel/pythinker-code292026년 10월 18일 업데이트

electron

무료

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

PyModel/pythinker-code292026년 10월 18일 업데이트

Use when generating changesets in the pythinker-code repository — deciding whether to write one, which package to list, the bump level, the wording, and the confirmation workflow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

PyModel/pythinker-code292026년 10월 18일 업데이트

PyModel의 스킬 모두 보기

이 스킬의 문제 신고