一键导入
feature-flag-checker
Verify feature flags are consistently wired across all Clean Architecture layers (TypeSpec through presentation)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Verify feature flags are consistently wired across all Clean Architecture layers (TypeSpec through presentation)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Show CI/CD pipeline status for current branch with job details and failure diagnostics
Cross-validate documentation and artifacts across the codebase for consistency, conflicts, and contradictions. Use when users ask to "cross-validate", "validate docs", "check documentation consistency", "audit documentation", or find conflicts/contradictions in docs. Supports automatic fixing with "validate and fix" argument. Runs parallel subagents for efficient validation across categories (domain-models, agent-system, tech-stack, architecture, cli-commands). Part of the ShipIT autonomous SDLC platform — https://github.com/jrmatherly/shipit
React Flow (@xyflow/react) for workflow visualization with custom nodes and edges. Use when building graph visualizations, creating custom workflow nodes, implementing edge labels, or controlling viewport. Triggers on ReactFlow, @xyflow/react, Handle, NodeProps, EdgeProps, useReactFlow, fitView.
Diagnose semantic-release and npm publish failures from the latest CI release job
Provides complete shadcn/ui component library patterns including installation, configuration, and implementation of accessible React components. Use when setting up shadcn/ui, installing components, building forms with React Hook Form and Zod, customizing themes with Tailwind CSS, or implementing UI patterns like buttons, dialogs, dropdowns, tables, and complex form layouts.
Use when ready to commit, push, and create a PR with CI verification. Triggers include "commit and pr", "push pr", "create pr", "ship it", or when implementation is complete and needs CI validation. Watches CI and auto-fixes failures. Part of the ShipIT autonomous SDLC platform — https://github.com/jrmatherly/shipit
| name | feature-flag-checker |
| description | Verify feature flags are consistently wired across all Clean Architecture layers (TypeSpec through presentation) |
| user_invocable | true |
Verify that a feature flag is consistently defined and wired across every layer of the Clean Architecture stack.
A fully-wired feature flag touches 6 layers:
| Layer | Location | What to check |
|---|---|---|
| 1. TypeSpec | tsp/ | Enum value or model property defined |
| 2. Domain | packages/core/src/domain/generated/output.ts | Generated correctly |
| 3. Settings | Settings repository + service | Persisted and retrievable |
| 4. Use Case | packages/core/src/application/use-cases/ | Conditional logic reads flag |
| 5. Presentation | src/presentation/cli/ or web/ or tui/ | User can toggle the flag |
| 6. Tests | tests/ | Both flag states covered |
Get the flag name. Example: autoApprove (auto-approve plans without user confirmation).
grep -rn "autoApprove" tsp/
Expected: Property or enum value in a TypeSpec model. If missing, the flag was never properly defined — start here.
grep -n "autoApprove" packages/core/src/domain/generated/output.ts
Expected: Property appears in the generated interface/type. If missing after TypeSpec has it, run:
pnpm tsp:codegen
# Settings repository interface
grep -rn "autoApprove" packages/core/src/application/ports/output/repositories/settings.repository.interface.ts
# Settings repository implementation
grep -rn "autoApprove" packages/core/src/infrastructure/repositories/
# Settings service or use case
grep -rn "autoApprove" packages/core/src/application/
Expected: The flag is readable/writable through the settings port interface.
grep -rn "autoApprove" packages/core/src/application/use-cases/
Expected: At least one use case reads the flag and branches behavior. If no use case references it, the flag has no effect.
# CLI
grep -rn "autoApprove\|auto-approve\|auto_approve" src/presentation/cli/
# TUI
grep -rn "autoApprove\|auto-approve" src/presentation/tui/
# Web
grep -rn "autoApprove\|auto-approve" src/presentation/web/
Expected: At least one presentation layer exposes the flag to users (CLI arg, web settings panel, TUI option).
# Tests that reference the flag
grep -rn "autoApprove" tests/
# Tests for both states
grep -rn "autoApprove.*true\|autoApprove.*false" tests/
Expected: Tests cover both true and false states of the flag.
Produce a table summarizing the wiring status:
## Feature Flag Wiring Report: `autoApprove`
| Layer | Status | File(s) | Notes |
|-------|--------|---------|-------|
| TypeSpec | OK | `tsp/domain/settings.tsp:15` | Property on Settings model |
| Domain (generated) | OK | `output.ts:234` | Auto-generated |
| Settings repository | OK | `settings.repository.interface.ts:8` | Read/write methods |
| Settings implementation | OK | `sqlite-settings-repository.ts:45` | SQLite persistence |
| Use case | OK | `execute-phase.ts:23` | Skips approval when true |
| CLI presentation | OK | `run.ts:34` | `--auto-approve` flag |
| Web presentation | MISSING | — | No settings UI toggle |
| TUI presentation | MISSING | — | No TUI option |
| Unit tests (true) | OK | `execute-phase.test.ts:56` | Covers auto-approve path |
| Unit tests (false) | OK | `execute-phase.test.ts:78` | Covers manual approval path |
For each MISSING entry:
tsp/, run pnpm tsp:codegenTo audit all flags at once, find all boolean properties in settings:
# From TypeSpec
grep -n "boolean" tsp/domain/settings.tsp
# From generated output
grep -B2 "boolean" packages/core/src/domain/generated/output.ts | grep -A2 "interface.*Settings"
Then run steps 2-8 for each flag found.