Semi Formal Reasoning

Use for code verification, debugging, and deep code analysis without running tests. This skill should be used when the user asks to "verify my changes", "check my patch", "find the bug", "why does this test fail", "are these changes correct", "review this diff", or when analyzing code semantics that require tracing execution paths. It applies semi-formal structured reasoning from the Agentic Code Reasoning paper (Ugare & Chandra, Meta, 2026) to prevent unsupported claims and force evidence-based analysis.

Install

skills CLI (Claude Code, Cursor, Codex and more)
npx skills add knot0-com/semi-formal-reasoning --skill semi-formal-reasoning
Manual install
git clone --depth 1 https://github.com/knot0-com/semi-formal-reasoning.git /tmp/semi-formal-reasoning
mkdir -p ~/.claude/skills
cp -r /tmp/semi-formal-reasoning/. ~/.claude/skills/semi-formal-reasoning

Personal skills live in ~/.claude/skills. Use .claude/skills in a project folder to share a skill with your team.

From the SKILL.md

# Semi-Formal Code Reasoning

Structured reasoning for code verification, fault localization, and semantic analysis —
without running tests. Based on the [Agentic Code Reasoning](https://arxiv.org/abs/2603.01896)
paper which showed 10-12pp accuracy gains over unstructured chain-of-thought.

## Overview

Standard LLM reasoning about code makes unsupported claims — assumes function behavior
without tracing, skips edge cases, concludes equivalence without checking all paths.

Semi-formal reasoning fixes this by requiring a structured certificate: explicit premises,
execution traces with file:line citations, and formal conclusions. The agent cannot skip
cases or make claims without evidence.

## When to Use

- Verifying code changes are correct before committing (patch verification)
- Finding the root cause of a test failure (fault localization)
- Answering deep questions about code behavior (code QA)
- Reviewing diffs for semantic correctness, not just style
- Checking if two implementations are equivalent

## When NOT to Use

- Simple typo fixes or formatting changes
- When tests can be run directly (just run them)
- Style/lint reviews (use a linter)

## Core Method

### Step 1: Identify the Task Type

| Task | Trigger | Template |
|-|-|-|
| Patch Verification | "verify my changes", "check this diff", "is this correct" | Patch Equivalence |
| Fault Localization | "find the bug", "why does this test fail", "where's the error" | Fault Localization |
Read the full skill on GitHub

Details

Skill name
semi-formal-reasoning
License
MIT
Repo updated
22 March 2026

FAQ

What does the Semi Formal Reasoning skill do?

Use for code verification, debugging, and deep code analysis without running tests. This skill should be used when the user asks to "verify my changes", "check my patch", "find the bug", "why does this test fail", "are these changes correct", "review this diff", or when analyzing code semantics that require tracing execution paths. It applies semi-formal structured reasoning from the Agentic Code Reasoning paper (Ugare & Chandra, Meta, 2026) to prevent unsupported claims and force evidence-based analysis.

How do I install the Semi Formal Reasoning skill?

skills CLI (Claude Code, Cursor, Codex and more): npx skills add knot0-com/semi-formal-reasoning --skill semi-formal-reasoning. Skills go in ~/.claude/skills (personal) or .claude/skills (project), and Claude loads them automatically when a task matches the description.

Is Semi Formal Reasoning popular?

It lives in knot0-com/semi-formal-reasoning, which has 9 GitHub stars and 0 forks.

Related skills

Spec Driven Development

9

mariano-aguero/spec-driven-development-skill

Structures feature work for AI coding agents into gated phases — research, spec, plan, tasks, implement, validate — each producing a short reviewable artifact that constrains the next. Use when requirements are informal or drift-prone, when the same prompt produces different implementations across sessions, or when a feature touches auth, database schema, or API contracts. Keywords: spec-driven development, SDD, spec.md, plan.md, tasks.md, constitution.md, acceptance criteria, drift detection.

Software Development

Openclaw Genpark Vocalist

9

alphaparkinc/openclaw-genpark-vocalist

OpenClaw GenPark Vocalist - Pure standard library acoustic time-domain autocorrelation pitch tracker and vocal stability estimator.

Software Development

Swe CLI Skills

8

SylphAI-Inc/swe-cli-skills

Senior engineer CLI expertise for AI agents — workflows, safety guardrails, gotchas, and anti-patterns across cloud, IaC, containers, databases, dev tools, and platforms

Software Development

Java Development

8

zander-zyx/java-development-skill

Use when writing, refactoring, or reviewing any Java or JVM code: plain Java, libraries, CLI tools, Android Java, Maven/Gradle dependency and build governance (pom.xml, BOMs, version catalogs, toolchains), Spring Boot development and version migration (2.x to 3.x, 3.x to 4.x, javax to jakarta), MyBatis/MyBatis-Plus or JPA/Hibernate persistence, writing tests with JUnit 5, Mockito, AssertJ, and Testcontainers, API design, exception handling, security review, Java upgrades, and JVM troubleshooting such as OOM, high CPU, GC tuning, GC logs, thread dumps, deadlocks, and memory leaks. Also covers J

Software Development

Wechat Miniprogram Skill

9

Gourdbaby/wechat-miniprogram-skill

Expert guidelines for Native WeChat Mini Program development focusing on performance, code size, and native compatibility. Use when developing WeChat Mini Programs in native JavaScript.

Software Development

Golang

9

saisudhir14/claude-skills

Use when writing, reviewing, or refactoring Go code. Provides production best practices for Go covering error handling, concurrency, naming, testing, performance, generics, iterators, and common pitfalls. Distilled from Google Go Style Guide, Uber Go Style Guide, Effective Go, and Go Code Review Comments. Updated for Go 1.25.

Software Development

Browse the most popular Claude skills, all software development skills, or write your own with the skills generator.