ワンクリックで
candid-validate-standards
Validate Technical.md for vague rules, linter overlaps, and effectiveness issues
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Validate Technical.md for vague rules, linter overlaps, and effectiveness issues
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when you have an output — copy, a doc, an answer, a plan, a prompt, any text artifact — and want it made better against your goal. Runs a critique→refine loop with configurable stop conditions and auto/review-each/interactive modes. Default is a single pass using the current session context to decide what "better" means.
Fast ship for low-risk changes — runs only the steps you explicitly enable in fastShip config
Use when the code works and you want a focused pass on improving approach, clarity, and quality — distinct from candid-review's defect hunt. Each suggestion includes a concrete before/after, tradeoffs, and confidence level.
Run candid-review in a loop until all issues are resolved, with configurable auto, review-each, or interactive modes and support for ignored issues
Use when reviewing code changes before commit or PR — configurable harsh or constructive review against Technical.md standards, with categorized issues, actionable fixes, todo tracking, and optional auto-commit.
Ship your changes - review, build, test, create PR, and optionally auto-merge
| name | candid-validate-standards |
| description | Validate Technical.md for vague rules, linter overlaps, and effectiveness issues |
Analyze a Technical.md file and identify rules that may be ineffective, vague, or redundant with existing tooling.
Find the Technical.md file to validate:
./Technical.md./.candid/Technical.mdIf no file found:
❌ No Technical.md found.
Looked in:
- ./Technical.md
- ./.candid/Technical.md
Create one with: /candid-init
Check for existing linter configurations:
# JavaScript/TypeScript
ls .eslintrc* eslint.config.* .prettierrc* biome.json 2>/dev/null
# Python
ls .flake8 pyproject.toml setup.cfg .ruff.toml ruff.toml 2>/dev/null
# Go
ls .golangci.yml .golangci.yaml 2>/dev/null
# Ruby
ls .rubocop.yml 2>/dev/null
Store detected linters for Step 4.
Read the Technical.md file and extract rules.
Rule detection:
- or * (list items)## headingSkip:
Store each rule with:
Check each rule against these issue categories:
Flag rules containing vague terms without specifics:
| Vague Term | Why It's Vague |
|---|---|
| "clean" | Subjective, no definition |
| "good" | Subjective |
| "proper" / "appropriate" | Undefined standard |
| "well-designed" / "well-structured" | No criteria |
| "readable" / "maintainable" | Without metrics |
| "best practices" | Circular reference |
| "when necessary" / "when appropriate" | Undefined trigger |
| "avoid" (alone) | No guidance on alternatives |
| "consider" | Not a requirement |
Also flag: suitable, adequate, well-organized, well-written, scalable, flexible, robust, simple, straightforward, intuitive, obvious, sensible, meaningful, significant, as needed, prefer, try to, minimal, few, some, many, several, various.
Exception: Terms are OK if followed by specific criteria:
Flag rules that imply quantity without numbers:
| Pattern | Issue |
|---|---|
| "small functions" | How small? |
| "short methods" | How short? |
| "limit parameters" | To how many? |
| "minimal dependencies" | What's minimal? |
| "few levels of nesting" | How few? |
| "reasonable timeout" | What's reasonable? |
Also flag: maximum/minimum, too many/too few, keep under/below, no more than — when no number follows.
Fix pattern: Add specific numbers (e.g., "functions under 50 lines")
Flag rules that linters typically handle (based on Step 2):
If ESLint/Prettier detected:
If Flake8/Ruff detected:
If any linter detected:
Flag rules that try to do too much:
Example:
❌ "Functions should be small, well-documented, and handle errors properly"
✓ Split into three rules
Flag rules that can't be checked by reading code:
For up to 10 rules that cite a path, glob, or naming pattern:
ls it). Missing → flag stale.🔬 Spot-Check section listing the sampled files per rule.Present findings organized by severity:
# Technical.md Validation Report
**File:** ./Technical.md
**Rules analyzed:** [N]
**Issues found:** [M]
---
## 🔴 Critical Issues
Rules that won't be effective in reviews.
### 🌫️ Vague Language
| Line | Rule | Issue |
|------|------|-------|
| 12 | "Write clean code" | "clean" is subjective |
| 24 | "Use appropriate error handling" | "appropriate" undefined |
### 📏 Missing Thresholds
| Line | Rule | Issue |
|------|------|-------|
| 18 | "Keep functions small" | No size specified |
| 31 | "Limit nesting depth" | No depth specified |
---
## 🟡 Warnings
Rules that may have issues.
### 🔧 Linter Overlap
| Line | Rule | Linter |
|------|------|--------|
| 8 | "Use semicolons" | ESLint handles this |
| 15 | "Sort imports alphabetically" | Prettier/ESLint handles this |
### 🎯 Multiple Concerns
| Line | Rule | Suggestion |
|------|------|------------|
| 22 | "Functions should be pure, small, and documented" | Split into 3 rules |
---
## 🔬 Spot-Check
[Per rule checked: verdict (stale/untrue/contested) with the 3 sampled files]
---
## ✅ Good Rules
[List of rules that passed validation]
If zero issues: output a short pass message with file path and rule count instead of the full report.
If --fix argument provided, include specific rewrites:
## 💡 Suggested Rewrites
### Line 24: "Use appropriate error handling"
**Original:** Use appropriate error handling
**Suggested:**
- All async functions must have try/catch or .catch()
- Errors must be logged with context before re-throwing
- User-facing errors must not expose stack traces
End with actionable summary:
---
## Summary
- **[X] rules** are effective and specific ✅
- **[Y] rules** need thresholds or specifics 📏
- **[Z] rules** overlap with linters 🔧
- **[W] rules** are too vague to enforce 🌫️
### Recommended Actions
1. Remove [Z] linter-overlap rules (your linter handles these)
2. Add numbers to [Y] threshold rules
3. Rewrite [W] vague rules with specific criteria
Run `/candid-validate-standards --fix` for suggested rewrites.
The goal is to help users write Technical.md files that:
A validated Technical.md leads to better code reviews.