saf-checker-dev

Guide spec-first development of SAF bug-finding checkers and typestate specifications.

69|5|Updated Apr 7, 2026
One-click install
npx skills add https://github.com/Static-Analyzer-Factory/static-analyzer-factory --skill saf-checker-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: saf-checker-dev
Source: https://github.com/Static-Analyzer-Factory/static-analyzer-factory/tree/main/skills/saf-checker-dev/claude-code/skills/saf-checker-dev
Command: npx skills add https://github.com/Static-Analyzer-Factory/static-analyzer-factory --skill saf-checker-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides developers through a structured, spec-first workflow to create new SAF bug-finding checkers, taint analysis rules, resource leak detectors, and typestate specifications.

Core Features & Use Cases

  • Provides an eight-phase workflow from understanding bug patterns to exporting and registering new checkers.
  • Reuses existing SAF artifacts and references to accelerate spec authoring and test creation.
  • Supports both declarative (Tier 1) and typestate/custom extensions as needed, with test guidance.

Quick Start

Follow the guided workflow to start writing a new SAF checker specification, add tests, and register it for use.

Frequently Asked Questions about saf-checker-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom taint analysis checker in SAF?

To create a SAF taint analysis checker, follow a structured spec-first workflow that guides you through understanding bug patterns, authoring a YAML-based CheckerSpec, adding tests, and registering the checker.

What is spec-first checker development and when do I need typestate specifications?

Spec-first checker development uses a declarative YAML format to define bug-finding rules, while typestate specifications are needed for complex custom extensions tracking state transitions like resource leaks.

How do I add a resource leak detector to a static analysis framework?

You can add a resource leak detector by following an eight-phase workflow that maps code changes to spec.rs, site_classifier.rs, and related tooling inside a Docker-driven environment.

Can I debug SAF checkers inside a Docker environment?

Yes, the SAF checker development workflow includes test creation and debugging steps specifically designed to run inside a Docker-driven environment to validate checker specifications.

Do I need to write Rust code to implement a typestate checker?

Yes, implementing typestate custom extensions requires modifying Rust files like spec.rs and site_classifier.rs, whereas declarative Tier 1 checkers only need a YAML CheckerSpec.

What are the limitations of declarative YAML checkers compared to typestate extensions?

Declarative YAML checkers handle standard bug patterns but lack state tracking capabilities, requiring typestate custom extensions in Rust for complex resource leak detection and state transition logic.