skills/arc-verifying/SKILL.md
Use when you need to verify work is complete before making completion claims
npx skillsauth add gregoryho/arcforge arc-verifyingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Claiming work is complete without verification is dishonesty, not efficiency.
arc-verifying owns producing fresh evidence for completion claims. It does not own authoring spec artifacts (that is arc-refining) and it does not own reconciling spec/code drift after implementation (that is the optional, separate, future arc-syncing-spec workflow — never folded into the SessionStart bootstrap or the arc-using router). Spec/code drift checks may quote verification evidence as input, but verification itself is not a spec-sync skill.
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you haven't run the verification command in THIS message, you cannot claim it passes.
BEFORE claiming any status or expressing satisfaction:
Skip any step = lying, not verifying
| Claim | Requires | NOT Sufficient | |-------|----------|----------------| | Tests pass | Test command output: 0 failures | Previous run, "should pass" | | Build succeeds | Build command: exit 0 | Linter passing | | Bug fixed | Test original symptom: passes | Code changed, assumed fixed | | Agent completed | VCS diff shows changes | Agent reports "success" | | Requirements met | Line-by-line checklist | Tests passing |
If claiming a bug is fixed, require a true regression check:
1. Run failing test (RED)
2. Apply fix
3. Run test again (GREEN)
Skipping RED means you don't know the test proves anything.
If claiming requirements are met:
Core principle: Cannot verify ≠ skip verification. Must inform user and choose alternative.
digraph cannot_verify {
"Cannot run verification?" [shape=diamond];
"Inform user immediately" [shape=box];
"User chooses" [shape=diamond];
"Fix the blocker" [shape=box];
"Add debug output" [shape=box];
"User reports result" [shape=box];
"Cannot run verification?" -> "Inform user immediately" [label="yes"];
"Inform user immediately" -> "User chooses";
"User chooses" -> "Fix the blocker" [label="fix env"];
"User chooses" -> "Add debug output" [label="manual test"];
"Add debug output" -> "User reports result";
}
| Situation | Action | |-----------|--------| | Build fails | Fix build first, then verify | | Cannot run Simulator/Emulator | Ask user: fix blocker OR add debug print | | Requires manual UI testing | Describe expected behavior, ask user to verify |
| Excuse | Reality | |--------|---------| | "Should work now" | Assumption ≠ verification | | "I changed it, should be fine" | Changed ≠ verified | | "Continue for now, verify later" | Cannot verify = stop here |
| Excuse | Reality | |--------|---------| | "Should work now" | RUN the verification | | "I'm confident" | Confidence ≠ evidence | | "Just this once" | No exceptions | | "Agent said success" | Verify independently | | "Partial check is enough" | Partial proves nothing | | "Too simple to verify" | Complexity irrelevant | | "I already ran it earlier" | Run it again, now | | "The logs look fine" | Logs ≠ verification |
Tests:
✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"
Build:
✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)
Agent delegation:
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report
Requirements:
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"
Discoverable from: arc-using when a task is approaching a completion claim and verification guidance would help.
Also embedded in:
Invoke this skill explicitly before finishing. Embedded verification in other skills is an additional layer, not a replacement.
testing
Use when the user explicitly runs the slash command `/arc-auditing-spec <spec-id>` to produce a read-only advisory audit of an arcforge SDD spec family (design.md, spec.xml, dag.yaml). Only triggered by direct user invocation; never auto-invoked from any pipeline skill (arc-brainstorming, arc-refining, arc-planning).
development
Use when the user wants to create, query, audit, or initialize an Obsidian vault — wiki / knowledge base / second brain, project tracker, news pipeline, journal, or any typed-note vault. Trigger on saving notes / capturing ideas / sharing URLs to document; querying the vault ("what do I know about", "search my vault"); auditing health (missing links, orphans, drift); ingesting raw files; "init a new vault" or "register vault"; mentions of any registered vault. Also triggers on casual "save this" / "file this back". Do NOT trigger for Excalidraw diagram creation (use arc-diagramming-obsidian), general code, debugging, PR reviews, web searches.
testing
Use when maintaining ArcForge itself by creating, editing, or verifying ArcForge skills before deployment
tools
Use when an ArcForge task needs routing help or the user asks which ArcForge skill/workflow applies