ワンクリックで
gates
Gates
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Gates
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Cut a PPDS release — CHANGELOG refresh, version bump, tag push sequence, CI monitoring, post-publish verification. Use when preparing a new prerelease or stable release across CLI, TUI, MCP, Extension, and NuGet libraries.
Triage and merge open dependabot PRs per docs/MERGE-POLICY.md — classify each PR (auto-merge / verify-then-merge / manual review), enable auto-merge for safe ones, run targeted test suites for risky ones, and surface anything needing human judgment. Use when there's a backlog of dependabot PRs, after a quiet period, or as a routine drain.
AI self-verification of implemented work across surfaces (extension, CLI, MCP, TUI, workflow). Use after implementation to verify code works in its runtime environment.
Create, triage, and manage GitHub issues per PPDS backlog conventions. Use when creating issues, grooming the backlog, reviewing what to work on next, or filing bugs.
Brainstorm ideas into specs and plans through collaborative dialogue. Use when starting a new feature, exploring an idea, or designing a system — before any implementation.
Execute a checked-in implementation plan end-to-end using parallel agents. Use when a spec and plan exist in .plans/ and you're ready to build.
| name | gates |
| description | Gates |
Mechanical pass/fail checks. No judgment, no opinions - compiler, linter, and tests either pass or they don't. Run before code reviews, after fix batches, and before PRs.
Read REFERENCE.md §1 "Why mechanical gates" for rationale.
$ARGUMENTS = optional scope hint (extension for TS-only, dotnet for C#-only). Default: all applicable gates.
git diff --name-only main...HEAD
Categorize: .cs -> .NET gates; .ts/.js -> TypeScript gates; both -> all. If $ARGUMENTS specifies a scope, use that.
Before running any gate, confirm its toolchain is on PATH. A missing toolchain is a FAIL, never a SKIP - never report a TS gate as PASS or SKIP when npm is missing.
command -v dotnet >/dev/null 2>&1 || { echo "FAIL (preflight): dotnet missing"; exit 1; } # if .NET gates scheduled
command -v npm >/dev/null 2>&1 || {
command -v fnm >/dev/null 2>&1 && eval "$(fnm env --shell bash)" || true
command -v npm >/dev/null 2>&1 && echo "preflight: self-healed via fnm activation" \
|| { echo "FAIL (preflight): npm missing"; exit 1; }
} # if TS gates scheduled
Never pipe gate commands through tail/head/grep without set -o pipefail. The trailing command's exit code masks the real one. Read REFERENCE.md §8 "Preflight + pipefail" for safe truncation patterns.
Gate 1: .NET Build (if C# changed)
dotnet build PPDS.sln -v q
Pass: 0 errors. On "used by another process", Read REFERENCE.md §2 "File-locking recovery".
Gate 2: .NET Tests (if C# changed)
dotnet test PPDS.sln --filter "Category!=Integration" -v q --no-build
Pass: 0 failures. Fail: report failing test names and assertion messages.
Gate 3: TypeScript Build (if TS/JS changed)
npm run compile --prefix src/PPDS.Extension
Pass: 0 errors.
Gate 3.5: TypeScript Type Check (if TS/JS changed)
npm run typecheck:all --prefix src/PPDS.Extension
Pass: 0 errors across host and webview tsconfigs. Read REFERENCE.md §3 "Compile vs typecheck" for why this is separate.
Gate 4: TypeScript Lint (if TS/JS changed)
npm run lint --prefix src/PPDS.Extension
Pass: 0 errors.
Gate 4.5: CSS Lint (if CSS changed)
npm run lint:css --prefix src/PPDS.Extension
Pass: 0 errors.
Gate 4.6: Dead Code Analysis (if TS/JS changed)
npm run dead-code --prefix src/PPDS.Extension
Pass: 0 unused exports.
Gate 5: TypeScript Tests (if TS/JS changed)
npm test --prefix src/PPDS.Extension
Pass: 0 failures.
Gate 5.5: TUI Snapshot Tests (if src/PPDS.Cli/Tui/ changed)
npm run tui:test
Pass: all snapshots match. Read REFERENCE.md §4 "TUI snapshot baselines" before regenerating.
Gate 6: AC Verification (if specs with ACs are relevant)
Grep specs/*.md for **Code:** lines. Match changed paths against code prefixes. For each relevant spec:
dotnet test --filter "FullyQualifiedName~{method}" -v q --no-buildnpx vitest run -t "{method}" --prefix src/PPDS.ExtensionMarkdown table, one row per gate (PASS/FAIL/SKIP). ### Failures block listing exact errors for any FAIL. ### Verdict: PASS|FAIL. Binary - never "PASS with warnings."
Typically followed by /verify then /pr. If gates FAIL, fix first and re-run /gates before continuing.
Read REFERENCE.md §7 "Rules (rationale)" for the why.