ワンクリックで
coding-guardian
Enforce this repository's real React, Hono, Drizzle, and TypeSpec rules while editing code, docs, or tooling.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Enforce this repository's real React, Hono, Drizzle, and TypeSpec rules while editing code, docs, or tooling.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Generate JSON wireframe with HTML preview
Generate OpenCode agent markdown definitions with safe permission presets and an interactive question flow.
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
Evaluate and enforce whether OpenSpec artifacts can be executed by openspec/applier without scope changes or design rediscovery. Use before proposer finalization, analyzer review, and applier delegation.
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
| name | coding-guardian |
| description | Enforce this repository's real React, Hono, Drizzle, and TypeSpec rules while editing code, docs, or tooling. |
この skill は、このリポジトリで実際に fail する規約と検証フローから外れないようにガードします。
AGENTS.md に従うCODING_STANDARDS.md と enforcement entrypoint を読むpackages/typespec/main.tsppackages/frontend/web や SvelteKit 前提を持ち込まないpnpm lint には OpenSpec validate と Scenario coverage check が含まれる最初に次を読む。
AGENTS.mdCODING_STANDARDS.mdCONTRIBUTING.md.opencode/skills/coding-guardian/references/repo-entrypoints.md特に重要な enforcement entrypoint:
package.json, .github/workflows/ci.yml, .husky/pre-commit, .husky/commit-msg, .lintstagedrc.json, commitlint.config.js, eslint.config.jspackages/typespec/package.json, packages/typespec/tspconfig.yaml, packages/typespec/README.md, packages/frontend/orval.config.tspackages/frontend/package.json, packages/frontend/tsconfig.*.json, packages/frontend/src/app/**, packages/frontend/src/domain/**, packages/frontend/src/api/**, packages/ui/**packages/build-config/react-compiler.js, packages/frontend/vite.config.ts, packages/frontend/vitest.app.config.ts, packages/ui/vitest.config.ts, scripts/eslint/**packages/backend/package.json, packages/backend/tsconfig.*.json, packages/backend/src/entry/**, packages/backend/src/app/**, packages/backend/src/http/**, packages/backend/src/persistence/**, packages/backend/src/usecases/**, packages/backend/src/domain/**, packages/backend/src/types/**, packages/backend/src/drizzle/**, packages/backend/src/http/contracts/openapi-contract.test.tsscripts/openspec/verify-change-intent.mjs, scripts/openspec/verify-scenario-coverage.mjs, scripts/openspec/verify-change-task-scope.mjs, scripts/openspec/verify-wireframe-previews.mjspackages/typespec/**, packages/frontend/src/api/**, packages/frontend/orval.config.tspackages/frontend/src/app/**, packages/frontend/src/domain/**, packages/ui/**packages/backend/**.opencode/**固定の依存方向:
packages/frontend/src/app -> packages/frontend/src/domain -> packages/frontend/src/api and packages/frontend/src/app -> packages/uipackages/backend/src/entry -> packages/backend/src/app -> (packages/backend/src/http | packages/backend/src/persistence | packages/backend/src/usecases) -> packages/backend/src/domain -> packages/backend/src/typespackages/backend/src/persistence -> packages/backend/src/drizzlepackages/typespec/main.tsp を直し、pnpm gen:api-sdk と pnpm check:codegen で整合を取るpackages/typespec/openapi/openapi.json と packages/frontend/src/api/generated/client.ts は手で直さないfetch, globalThis.fetch, axios, cross-fetch を直接使わない@cfreact-template/frontend/api を直 import しない。domain hook を経由する@cfreact-template/build-config/react-compiler の共通設定でコンパイルし、runtime source から build tooling を import しないuseMemo / useCallback / memo は Compiler へ委譲する。上流由来の対象外は scripts/eslint/disable-policy.mjs へ集約するeslint-disable-next-line で管理し、頻出する非互換 API は scripts/eslint/disable-policy.mjs の専用境界へ集約するpackages/frontend/src/domain/hooks/** では use* export、{ data, actions } 戻り値、*Data / *Actions 型注釈を守る@cfreact-template/ui に寄せ、画面固有の構成だけを packages/frontend/src/app に置くpackages/backend/src/http、配線は packages/backend/src/app、永続化は packages/backend/src/persistence / packages/backend/src/drizzle に置くpackages/backend/src/http から packages/backend/src/persistence を直 import しない。c.env も HTTP 層で直接読まないpackages/backend/src/domain と packages/backend/src/usecases では adapter import や framework 依存を持ち込まないpackages/**/src/**/*.{ts,tsx} の export は、生成物とテストを除き TSDoc を付けるopenspec/specs/**/spec.md の Scenario ID とテストタイトルの参照を崩さない変更内容に応じて、少なくとも次を実行する。
pnpm gen:api-sdk -> pnpm check:codegenpnpm format:check -> pnpm checkpnpm lint -> pnpm test:runpnpm test:frontendpnpm test:backendpnpm buildpython3 .opencode/skills/opencode-skills-devkit/scripts/validate_skills.py --root .Changed-file 向けの軽量チェック:
.opencode/skills/coding-guardian/scripts/check_changed.sh [base]packages/frontend/src/app から @cfreact-template/frontend/api の直 importfetch / axios / cross-fetch{ data, actions } を返さないeslint-disable-next-linepackages/backend/src/http から packages/backend/src/persistence の直 importc.env 直接参照