cxc-dev
無料Use for coding, PR delivery, scaffolding and QA. Triggers: develop, fix, refactor, test, review, docs, browse, stacked PR, 개발, 수정, 검토, 스택 PR.
日本語の概要は準備中です。原文の説明を表示しています。
Use for AST search and codemods. Triggers: ast-grep, sg, function/call/class/import, empty catch, missing await, YAML rules.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
sg (also installed as ast-grep) is an AST-aware search and rewrite tool
across 25 languages. It treats your pattern as code, parses it the same way it
parses your project, and matches structurally. Reach for it whenever the question
depends on code shape rather than text bytes.
This skill ships a Python wrapper at scripts/ast_grep_helper.py and an install
reference at references/install.md. The helper adds offline pattern validation,
the two-pass write trick, and binary auto-resolution. Use it as the default entry
point.
Plain filename, literal text, regex, comment, and simple callsite searches use
rg / rg --files first. ast-grep is for syntax-tree questions only. The test:
"does the answer depend on the language's syntax tree, or just on the file's
bytes?" Tree → ast-grep. Bytes → rg.
For a whole-repo structure OVERVIEW (which files own which symbols, ranked), use
cxc map (repo-map skill) instead; ast-grep is for shape SEARCH within known scope.
Request parameter."console.log(x) to logger.info(x)."as any cast."require(...) with import across the repo."await."The wildcards are $VAR (one AST node) and $$$ (zero or more nodes). Regex
syntax (|, .*, \w, [a-z]) fails silently — the helper's validate
subcommand catches the common misuses offline before you run a search.
replace is a dry-run by default and prints the would-change diff. Add --apply
only after you have inspected the preview. The helper runs a two-pass write (JSON
match pass, then a separate --update-all pass) because ast-grep ignores
--update-all when --json is set.
Pass --lang so the correct parser is used; the same pattern parses differently
across languages. langs lists the 25 supported languages with extensions.
Never trust a pattern you have not seen match. The loop:
validate PATTERN --lang LANG — offline sanity check (catches regex syntax and
other common misuses; it can NOT catch every silent miss — see step 3).search PATTERN --lang LANG — read the match list: is the COUNT plausible, and do
2-3 spot-checked sites look right?use$HOOK(...) — a metavar must
be a whole token) and a pattern that does not parse as ONE node (catch ($E) {}).
Consult references/patterns.md (verified examples + pitfalls) and refine.replace PATTERN REWRITE — inspect the dry-run diff for every file, or at minimum
every distinct shape in it.--apply. Never --apply a pattern whose match list you have not read.ast_grep_helper.py search PATTERN [PATH...] [--lang LANG] [--globs GLOB ...] [-C N]
ast_grep_helper.py replace PATTERN REWRITE [PATH...] [--lang LANG] [--apply]
ast_grep_helper.py scan [PATH...] --rule RULE_FILE [--apply] # rule file via --rule, NOT positional
ast_grep_helper.py validate PATTERN [--lang LANG] # offline pattern check
ast_grep_helper.py langs # list languages
ast_grep_helper.py doctor # binary availability + version
ast_grep_helper.py install # lazy-provision sg
Verified per-language pattern examples (call rewrite, cast strip, CJS→ESM, empty
catch, bare except, relational YAML rules) and the reproduced pitfall table live in
references/patterns.md — read it before writing a non-trivial pattern.
The helper resolves sg in priority order: CODEXCLAW_AST_GREP_SG_PATH
override (OMO_AST_GREP_SG_PATH fallback) → codexclaw runtime
($CODEX_HOME/runtime/ast-grep or ~/.codexclaw/runtime/ast-grep) → a cached
binary under the skill bin/ → PATH → Homebrew defaults. When sg is missing,
doctor/install exit with a clear install hint rather than crashing. See
references/install.md. Provisioning is lazy, evidence-bound, and idempotent.
allow_implicit_invocation: false); reached by trigger or
dev-hub routing.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use for coding, PR delivery, scaffolding and QA. Triggers: develop, fix, refactor, test, review, docs, browse, stacked PR, 개발, 수정, 검토, 스택 PR.
日本語の概要は準備中です。原文の説明を表示しています。
Use for module boundaries and dependencies. Triggers: circular import, coupling, barrel, re-export, validation placement, 모듈 경계, 순환 참조.
日本語の概要は準備中です。原文の説明を表示しています。
Use for APIs, servers and app databases. Triggers: REST, GraphQL, migration, query optimization, middleware, caching, queues, 백엔드, API 작업, 마이그레이션, 쿼리 최적화.
日本語の概要は準備中です。原文の説明を表示しています。
Use for code/PR/diff review and refactor audits. Triggers: review this, before merge, antipattern, 리뷰, 코드 리뷰, 머지 전에 확인.
日本語の概要は準備中です。原文の説明を表示しています。
Use for analytics and data pipelines. Triggers: ETL, ELT, data quality, SQL optimization, schema drift, backfill, 데이터 파이프라인, 데이터 품질, 백필.
日本語の概要は準備中です。原文の説明を表示しています。
Use for debugging and system comprehension. Triggers: debug this, root cause, how does X work, reverse engineer, 왜 안 돼, 디버깅, 원인 분석, 로직 파악, 뜯어봐.
日本語の概要は準備中です。原文の説明を表示しています。