Logical Properties
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets, component styles, and responsive behavior related to Use CSS logical properties for i18n and RTL support.
L13-L17 類型和邏輯驗證 - 檢查類型一致性、邏輯完整性、錯誤處理、安全性、性能. An agent skill from peijun1700/bluemouse.
$ npx skills add peijun1700/bluemouse --skill validate-logic -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install peijun1700/bluemouse validate-logic --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/peijun1700/bluemouse.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/validate-logic .claude/skills/validate-logic && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "validate-logic" agent skill from https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logic into .claude/skills/validate-logic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-logic", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logicType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add peijun1700/bluemouse --skill validate-logic -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install peijun1700/bluemouse validate-logic --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peijun1700/bluemouse.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/validate-logic .agents/skills/validate-logic && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "validate-logic" agent skill from https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logic into .agents/skills/validate-logic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-logic", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add peijun1700/bluemouse --skill validate-logic -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install peijun1700/bluemouse validate-logic --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peijun1700/bluemouse.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/validate-logic .cursor/skills/validate-logic && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "validate-logic" agent skill from https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logic into .cursor/skills/validate-logic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-logic", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/peijun1700/bluemouse.git --path .claude/skills/validate-logic--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add peijun1700/bluemouse --skill validate-logic -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install peijun1700/bluemouse validate-logic --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peijun1700/bluemouse.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/validate-logic .gemini/skills/validate-logic && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "validate-logic" agent skill from https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logic into .gemini/skills/validate-logic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-logic", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install peijun1700/bluemouse validate-logicInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add peijun1700/bluemouse --skill validate-logic -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/peijun1700/bluemouse.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/validate-logic .github/skills/validate-logic && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "validate-logic" agent skill from https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logic into .github/skills/validate-logic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-logic", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add peijun1700/bluemouse --skill validate-logic -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install peijun1700/bluemouse validate-logic --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peijun1700/bluemouse.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/validate-logic .opencode/skills/validate-logic && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "validate-logic" agent skill from https://github.com/peijun1700/bluemouse/tree/main/.claude/skills/validate-logic into .opencode/skills/validate-logic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-logic", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
validate-logicL13-L17 類型和邏輯驗證 - 檢查類型一致性、邏輯完整性、錯誤處理、安全性、性能. An agent skill from peijun1700/bluemouse.
Validate Logic is an agent skill from peijun1700/bluemouse. L13-L17 類型和邏輯驗證 - 檢查類型一致性、邏輯完整性、錯誤處理、安全性、性能。 BlueMouse 17-Layer Validation Group 4(最深層檢查)。 Triggers: "logic", "security", "performance", "error handling", "安全檢查"
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `validator.py`).
The licence is AGPL-3.0.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4f32ef0. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Validate Logic loads about 1.5k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 248 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Bash, Grep, GlobAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from peijun1700/bluemouse at commit 4f32ef0, republished under its AGPL-3.0 licence (© peijun1700). 248 words, ~1,547 tokens.
.claude/skills/validate-logic/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.BlueMouse 17-Layer Validation System - Group 4: 類型和邏輯驗證(最深層檢查)
Follow the checklist below to analyze code.
python3 .claude/skills/validate-logic/validator.py myfile.py
python3 .claude/skills/validate-logic/validator.py --verbose myfile.pyWhat: All functions in the code have ≥70% type hint coverage
How:
funcs = [n for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)]
total = len(funcs)
with_hints = sum(
1 for f in funcs
if f.returns or any(arg.annotation for arg in f.args.args)
)
coverage = int(with_hints / total * 100)
passed = coverage >= 70Pass: "函數類型提示覆蓋率: {coverage}%" (≥70%)
Fail: "函數類型提示覆蓋率: {coverage}%" (<70%)
What: Code has control flow structures
How:
if_count = sum(1 for n in ast.walk(tree) if isinstance(n, ast.If))
for_count = sum(1 for n in ast.walk(tree) if isinstance(n, ast.For))
while_count = sum(1 for n in ast.walk(tree) if isinstance(n, ast.While))
has_branches = (if_count + for_count + while_count) > 0Output:
"邏輯結構完整""邏輯結構簡單"Pass: Always (informational only)
What: No empty try-except blocks or pass-only handlers
How:
try_nodes = [node for node in ast.walk(tree) if isinstance(node, ast.Try)]
bad_handlers = 0
for node in try_nodes:
for handler in node.handlers:
# Empty handler
if not handler.body:
bad_handlers += 1
# Only pass statement
elif len(handler.body) == 1 and isinstance(handler.body[0], ast.Pass):
bad_handlers += 1Pass: Has try-except AND bad_handlers == 0 → "檢測到 N 個有效錯誤處理塊"
Fail:
"建議添加 try-except 錯誤處理塊""發現 N 個空的或只有 pass 的錯誤處理塊 (Anti-pattern)"Examples:
# ❌ FAIL: Empty handler
try:
risky()
except:
pass
# ❌ FAIL: Only pass
try:
risky()
except Exception as e:
pass
# ✅ PASS: Proper handling
try:
risky()
except Exception as e:
logger.error(f"Error: {e}")
raiseWhat: No dangerous functions or hardcoded secrets
| Function | Risk | Alternative |
|---|---|---|
eval() | Arbitrary code execution | ast.literal_eval() |
exec() | Arbitrary code execution | Avoid |
compile() | Code injection | Avoid |
__import__() | Dynamic import risk | Use regular import |
pickle | Deserialization attack | json |
Detection:
dangerous_funcs = ['eval', 'exec', 'compile', '__import__']
for node in ast.walk(tree):
if isinstance(node, ast.Call):
if isinstance(node.func, ast.Name):
if node.func.id in dangerous_funcs:
issues.append(f"使用了危險函數: {node.func.id}")| Pattern | Example |
|---|---|
api_key = "..." | api_key = "sk-123456789" |
password = "..." | password = "secret123" |
secret = "..." | secret = "mysecret" |
token = "..." | token = "eyJ..." |
| AWS keys | aws_access_key_id = "AKIA..." |
Detection:
secret_patterns = [
r'api_key\s*=\s*[\'"][^\s\'\"]{10,}[\'"]',
r'password\s*=\s*[\'"][^\s\'\"]{8,}[\'"]',
r'secret\s*=\s*[\'"][^\s\'\"]{10,}[\'"]',
r'token\s*=\s*[\'"][^\s\'\"]{10,}[\'"]',
r'aws_access_key_id\s*=\s*[\'"]AKIA',
]Pass: "未發現明顯安全問題"
Fail: "發現 N 個潛在安全性問題" + list issues
Examples:
# ❌ FAIL: Dangerous function
result = eval(user_input)
# ❌ FAIL: Hardcoded secret
api_key = "sk-1234567890abcdef"
# ✅ PASS: Safe alternatives
import os
api_key = os.environ.get('API_KEY')
result = ast.literal_eval(safe_input)What: No deeply nested loops (≥3 levels)
How:
def get_loop_depth(node, current_depth=0):
max_depth = current_depth
for child in ast.iter_child_nodes(node):
if isinstance(child, (ast.For, ast.While)):
child_depth = get_loop_depth(child, current_depth + 1)
else:
child_depth = get_loop_depth(child, current_depth)
max_depth = max(max_depth, child_depth)
return max_depth
# Find max nesting depth
for node in ast.walk(tree):
if isinstance(node, (ast.For, ast.While)):
depth = get_loop_depth(node, 1)
max_depth = max(max_depth, depth)
passed = max_depth < 3Pass: "最高循環嵌套深度: {depth} (符合效能規範)" (depth < 3)
Fail: "檢測到過深的循環嵌套 (Depth: {depth}),建議優化算法" (depth ≥ 3)
Examples:
# ✅ PASS: 2-level nesting (O(n²))
for i in range(n):
for j in range(n):
process(i, j)
# ❌ FAIL: 3-level nesting (O(n³))
for i in range(n): # Level 1
for j in range(n): # Level 2
for k in range(n): # Level 3 - TOO DEEP!
process(i, j, k)Optimization Suggestions:
==================================================
L13-L17: 類型和邏輯驗證
==================================================
Status: ✅ PASSED / ❌ FAILED
Score: X/100 (N/5 layers)
✅/❌ L13: 類型一致性檢查 - 函數類型提示覆蓋率: X%
✅ L14: 邏輯完整性檢查 - 邏輯結構完整/簡單
✅/❌ L15: 錯誤處理檢查 - [message]
✅/❌ L16: 安全性檢查 - [message]
✅/❌ L17: 性能檢查 - [message]
[Verbose mode shows detailed issues]| Skill | Layers |
|---|---|
/validate-17-layers | L1-L17 (完整) |
/validate-syntax | L1-L4 |
/validate-signature | L5-L8 |
/validate-dependencies | L9-L12 |
/validate-logic | L13-L17 |
Part of BlueMouse 17-Layer Validation System
© peijun1700, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/validate-logic of peijun1700/bluemouse.
Open the folder on GitHubat commit 4f32ef0
Validate Logic next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Validate Logic this skillpeijun1700/bluemouse | 109 | — | ~1.5k | Automated safety check: Notes | AGPL-3.0 | |
| Logical Propertiesthedaviddias/Front-End-Checklist | 74k | — | ~526 | Automated safety check: Pass | MIT | |
| Writing Kea LogicsPostHog/posthog | 40k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Logic Reviewsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Logic Lenssickn33/agentic-awesome-skills | 47k | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Hunt Business Logicsickn33/agentic-awesome-skills | 47k | 1 repos | ~4.9k | Automated safety check: Pass | MIT |
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets, component styles, and responsive behavior related to Use CSS logical properties for i18n and RTL support.
PostHog/posthog
Guide for writing or reviewing PostHog kea logic files (Logic.ts / Logic.tsx).
sickn33/agentic-awesome-skills
Find logic bugs in a single file or function via semi-formal execution tracing (Premises → Trace → Divergence → Trigger → Remedy).
sickn33/agentic-awesome-skills
AI-powered Claude Code skill that performs deep code review using formal logic and reasoning frameworks to detect bugs, anti-patterns, and security risks beyond what linters catch.
sickn33/agentic-awesome-skills
Hunting skill for business logic vulnerabilities. An agent skill from sickn33/agentic-awesome-skills.
sickn33/agentic-awesome-skills
Explain what a specific piece of code actually does for a given input by producing a step-by-step execution trace (interprocedural, with name resolution and type transitions).
peijun1700/bluemouse
L9-L12 依賴關係驗證 - 檢查導入語句、標準庫、第三方庫、循環依賴. An agent skill from peijun1700/bluemouse.
peijun1700/bluemouse
L5-L8 函數簽名驗證 - 檢查參數、返回值、類型提示、文檔字符串. An agent skill from peijun1700/bluemouse.
peijun1700/bluemouse
L1-L4 語法和結構驗證 - 檢查 Python 語法、AST 結構、縮進格式、命名規範. An agent skill from peijun1700/bluemouse.
peijun1700/bluemouse
The BlueMouse 17-Layer Alpha Scale (Static Standard). An agent skill from peijun1700/bluemouse.
L13-L17 類型和邏輯驗證 - 檢查類型一致性、邏輯完整性、錯誤處理、安全性、性能. An agent skill from peijun1700/bluemouse. Validate Logic is an agent skill from peijun1700/bluemouse.
Run `npx skills add peijun1700/bluemouse --skill validate-logic -a claude-code`. Or copy the skill folder (.claude/skills/validate-logic in peijun1700/bluemouse) into .claude/skills/validate-logic in your project. Claude Code loads it when a task matches its description.
Run `npx skills add peijun1700/bluemouse --skill validate-logic -a codex`. Or copy the skill folder (.claude/skills/validate-logic in peijun1700/bluemouse) into .agents/skills/validate-logic in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add peijun1700/bluemouse --skill validate-logic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validate-logic, .gemini/skills/validate-logic, .github/skills/validate-logic and .opencode/skills/validate-logic in your project.
Going by SKILL.md and its folder, Validate Logic needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named API_KEY. Our summary lists: Python 3; A credential in API_KEY. Its frontmatter pre-approves these tools: Read, Bash, Grep, Glob.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Validate Logic is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Validate Logic: Logical Properties (thedaviddias/Front-End-Checklist, 74k stars), Writing Kea Logics (PostHog/posthog, 40k stars), Logic Review (sickn33/agentic-awesome-skills, 47k stars) and Logic Lens (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
peijun1700 (a GitHub user) maintains it in peijun1700/bluemouse, which has 109 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on January 29, 2026.
Source: peijun1700/bluemouse on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.