# 2506 Audit Calibration A64ea751

> Audit Calibration — Known False-Positive Patterns

- Skill: `tools-only/2506-audit-calibration-a64ea751` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/2506-audit-calibration-a64ea751`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/2506-audit-calibration-a64ea751/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tools-only/2506-audit-calibration-a64ea751

---

# Audit Calibration — Known False-Positive Patterns

Load before running the 7-dimension structural audit. Each entry describes a rule that is
correct in principle but frequently misapplied to look-alike situations that should not
trigger the rule.

---

## D2 / `allowed-tools` absent

`allowed-tools` absent entirely means unrestricted by default — this is NOT a violation
at any severity. The field is an optional restriction mechanism, not a required declaration.
Only flag when a skill has an *existing* `allowed-tools` list that omits a tool the skill
actively uses — a partial restriction creates the problem; absent restriction does not.

**Flag this:** Skill has `allowed-tools: [Read, Write]` but calls AskUserQuestion
→ major violation (restricted list is incomplete).

**Do not flag this:** Skill has no `allowed-tools` field but calls AskUserQuestion
→ no violation; the tool is available by default.

---

## D5 / Orientation content vs routing guidance

Flag as a routing-guidance violation only when the body contains a "When to Use This
Skill" section or explicit language telling the user *when to trigger the skill*. Content
that explains domain concepts *needed during execution* — so the skill can make accurate
decisions — is functional orientation, not routing guidance.

Rate functional orientation as verbosity (minor) only if it exceeds 4–5 lines without
adding decision value that the skill body requires.

**Flag this:** Body has `## When to Use This Skill — use this when you want to create a
new skill` → major violation (routing guidance in always-loaded body, never read by the
routing decision).

**Do not flag this:** Body has `Agents vs Skills — know the difference before generating:
Agents run in isolated context, Skills inject inline` → functional orientation that helps
the skill produce accurate output; not routing guidance.

---

## D4 / Task/Skill invocation prose

Natural language inside a fenced block describing how to call Claude's own tools is the
idiomatic skill instruction format — `Use Task tool with subagent_type=X: "..."` is how
skills correctly instruct Claude. Do not flag this as a vague script reference.

Only flag D4 prose as a violation when it refers to *user-facing scripts or deterministic
CLI operations* (validate.py, init.sh, etc.) without specifying which file, the trigger
condition, and the exact invocation command.

**Flag this:** Body says "run the validation script if needed" with no path, trigger, or
invocation → major violation (deterministic script reference is vague).

**Do not flag this:** Body has a code block:
`Use Task tool with subagent_type=claude-code-guide: "List current frontmatter options"`
→ idiomatic instruction to Claude to use a built-in tool; not a script reference.

---

## D2 / `context: fork` for interactive skills

Do not flag `context: fork` absent as major for skills that have interactive elements:
AskUserQuestion calls, "Proceed?" confirmation prompts, or interview phases in Phase 1.
These depend on conversation thread continuity — a forked skill cannot surface interactive
prompts back to the user.

Only recommend `context: fork` when the skill is non-interactive AND produces substantial
output that would pollute the main context (e.g., a batch analysis skill that generates a
large report with no mid-workflow user decisions).

**Flag this:** Skill is a read-only research tool with no user interactions that returns
a 200-line formatted report → major gap (context: fork would keep main thread clean).

**Do not flag this:** Skill has "Before writing: Proceed? [y/n]" prompts in Phase 3
→ fork would break the confirmation flow; omitting context: fork is correct here.

