Skip to content
Back to skills

Numerical

ASecurity

Numerical computing verification and optimization agent for Python/Dart. Provides expert analysis of ndarray/tensor operations, floating-point correctness, broadcasting validation, SIMD/GPU optimization, and test case verification through Analyze → Verify → Optimize phases. Activated by keywords: "numeric", "tensor", "ndarray", "broadcasting", "precision", "floating-point", "SIMD", "GPU", "numpy", "scipy", "dart_tensor", "linear algebra", "FFT", "verify test", "optimize computation".

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
ai-agentspythongobashgitperformance

Works with

  • cli

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add brody-0125/my-claude-skills --skill numerical --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Numerical?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Numerical
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/brody-0125-numerical/badge)](https://www.skillsdirectory.com/skills/brody-0125-numerical)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: numerical
description: >-
  Numerical computing verification and optimization agent for Python/Dart.
  Provides expert analysis of ndarray/tensor operations, floating-point correctness,
  broadcasting validation, SIMD/GPU optimization, and test case verification
  through Analyze → Verify → Optimize phases.
  Activated by keywords: "numeric", "tensor", "ndarray", "broadcasting", "precision",
  "floating-point", "SIMD", "GPU", "numpy", "scipy", "dart_tensor", "linear algebra",
  "FFT", "verify test", "optimize computation".
version: 1.0.0
argument-hint: "[task description | analyze | verify | optimize | loop N | dry-run]"
user-invocable: true
allowed-tools:
  - Read
  - Grep
  - Glob
  - Bash
  - Write
  - Edit
  - Task
---

# Numerical — Numerical Computing Verification & Optimization Agent

> An agent that verifies correctness and optimizes performance of numerical computing code through Analyze → Verify → Optimize workflow

## Role

A workflow agent specializing in **numerical computing** for Python and Dart projects.
It automatically detects the project language (Python/Dart/Mixed), numeric libraries (NumPy, SciPy, CuPy, dart_tensor, etc.), and provides **expert-level verification and optimization** of array/tensor operations, floating-point arithmetic, broadcasting, memory layout, SIMD utilization, and GPU processing.

### Core Principles

1. Lazy-load context documents per Phase to ensure verification thoroughness
2. Sequential execution of Analyze → Verify → Optimize
3. Repeat Verify loop the number of times specified by the user (Ralph-style)
4. Automatically adjust verification level based on computational complexity (Tiered Verification)
5. IEEE 754 compliance as the baseline for all floating-point analysis

### Quick Start (Zero-Config)

Phase 0 자동으로 모든 설정을 완료하므로 사용자 개입이 필요 없다:

```
1. Project Discovery    — pyproject.toml / pubspec.yaml 분석 → 언어, 라이브러리, GPU 지원 자동 감지
2. Numeric Profile      — dtype 사용 패턴, 배열 차원, 연산 유형 자동 프로파일링
3. Tool Detection       — pytest/ruff/mypy/dart analyze 등 검증 도구 자동 감지
4. Hooks Installation   — lint-on-edit, secret-guard, test-quality-gate 자동 설치
```

첫 실행 시 추가 프롬프트 없이 위 4단계가 순차적으로 실행된다.
감지된 설정을 변경하려면 해당 파일을 직접 편집하면 된다:
- 정적 분석 도구: `.numerical/analysis-tools.txt` (줄 단위, 삭제 시 재감지)
- Hooks: `.claude/settings.json`의 `hooks` 섹션 (삭제 시 재설치)

---

## Phase Workflow Diagram

```
┌──────────────────────────────────────────────────────────────────────┐
│                         numerical                         │
└──────────────────────────────────────────────────────────────────────┘
                                   │
                                   ▼
                    ┌──────────────────────────┐
                    │      Phase 0: Discovery   │
                    │  • 언어/라이브러리/GPU 감지   │
                    │  • 수치 프로파일 캐시 저장    │
                    └────────────┬─────────────┘
                                 │
                    ┌────────────▼─────────────┐
                    │      Phase 1: Analyze     │
                    │  • 수치 연산 패턴 분석       │
                    │  • dtype/shape 추적         │
                    │  • 정밀도 위험 감지          │
                    └────────────┬─────────────┘
                                 │
              ┌──── dry-run? ────┴──────────────────┐
              │                                      │
         ┌────▼────┐                    ┌───────────▼───────────┐
         │  HALT   │                    │   Phase 2: Verify      │
         │ (리포트만)│                    │  • 부동소수점 정합성 검증  │
         └─────────┘                    │  • 브로드캐스팅 규칙 검증  │
                                        │  • 테스트 케이스 검증      │
                                        │  • 에지 케이스 분석        │
                                        └───────────┬───────────┘
                                                    │
                    ┌───────────────────────────────▼───────────────────────────────┐
                    │                    Phase 3: Optimize                          │
                    │  ┌─────────────────────────────────────────────────────────┐  │
                    │  │  • SIMD 정렬/벡터화 최적화 제안                            │  │
                    │  │  • GPU 메모리 관리 최적화                                  │  │
                    │  │  • 메모리 레이아웃 (C/F-contiguous) 최적화                  │  │
                    │  │  • 알고리즘 수치 안정성 개선                                │  │
                    │  └─────────────────────────┬───────────────────────────────┘  │
                    │                            │                                   │
                    │           ┌────────────────▼────────────────┐                  │
                    │           │         종료 조건 확인           │                  │
                    │           │  • 위반 0개?                    │                  │
                    │           │  • 정밀도 목표 달성?             │                  │
                    │           │  • 동일 이슈 3회 반복?           │                  │
                    │           │  • max loop 도달?               │                  │
                    │           └────────────────┬────────────────┘                  │
                    │                            │                                   │
                    │         ┌─── EXIT ─────────┴─────── CONTINUE ───┐              │
                    │         │                                        │              │
                    │         │                              Loop N++ (재검증)        │
                    │         │                                        │              │
                    └─────────┼────────────────────────────────────────┘              │
                              │                                                       │
                              ▼                                                       │
                    ┌──────────────────────────┐                                     │
                    │        Complete          │◄────────────────────────────────────┘
                    │  • 분석 리포트 출력        │
                    │  • PROGRESS.md 기록       │
                    └──────────────────────────┘
```

---

## Phase Transition Conditions

| Phase | Entry Condition | Exit Condition | Skip Condition |
|-------|----------------|----------------|----------------|
| **0 Discovery** | Always first | Numeric profile loaded and cached | Never |
| **1 Analyze** | After Phase 0 | Numeric operations cataloged, risks identified | Never |
| **2 Verify** | After Phase 1 | All correctness checks passed OR violations reported | `dry-run` mode active |
| **3 Optimize** | After Phase 2 | Optimization suggestions delivered | `verify-only` mode |

---

## Execution Modes

| Mode | Input Example | Behavior |
|------|---------------|----------|
| **All-in-one** (default) | `numpy broadcasting 검증` | Analyze → Verify → Optimize |
| **All-in-one + loop** | `tensor 연산 검증. loop 3` | Analyze → Verify×3 → Optimize |
| **Step-by-step** | `analyze: matrix_ops.py` | Execute only a specific phase |
| **Verify only** | `verify loop 2` | Verify×2 on current code |
| **Dry-run** | `precision 분석. dry-run` | Analyze only, no code changes |
| **Skip optimize** | `verify-only loop 2` | Analyze → Verify×2 (no Optimize) |

Step-by-step commands: `analyze`, `verify`, `optimize`

### Domain-Specific Keywords

도메인 특화 키워드로 워크플로우 동작을 세밀하게 제어할 수 있다.

| 키워드 | 효과 | 적용 Phase |
|--------|------|-----------|
| `precision-focus` | 부동소수점 정밀도 심층 분석 — ULP 비교, 오차 전파 추적 | Analyze, Verify |
| `broadcast-check` | 브로드캐스팅 규칙 위반 집중 검증 | Verify |
| `gpu-optimize` | GPU 메모리 관리, 커널 최적화 집중 | Optimize |
| `simd-focus` | SIMD 정렬, 벡터화 가능성 집중 분석 | Analyze, Optimize |
| `test-verify` | 테스트 케이스 입력값/기댓값 정합성 검증 집중 | Verify |
| `stability` | 수치 안정성 분석 — 조건수, catastrophic cancellation | Analyze, Verify |
| `memory-layout` | 메모리 레이아웃 (C/Fortran order) 일관성 검증 | Analyze, Optimize |

**사용 예시:**
```
numpy 행렬 연산 검증. precision-focus loop 3
dart_tensor 전처리 파이프라인 분석. broadcast-check simd-focus
GPU 연산 최적화. gpu-optimize memory-layout
테스트 기댓값 검증. test-verify loop 2
```

---

## Phase-specific Detailed Protocols

Detailed execution procedures for each Phase are defined in **resources/**.
**When entering a Phase, documents already read in the previous Phase are not reloaded.**
However, they are reloaded for step-by-step execution (individual Phase invocation) or when context compression occurs.
**Within Verify loops (loop 2+), protocol documents and references already loaded in loop 1 are not reloaded.**

**Context compression recovery:**
1. At start of each Phase/loop, check for `## Numeric Profile` header in current context
2. If FOUND → proceed normally (no reload needed)
3. If NOT FOUND:
   - **Loop 1 OR step-by-step mode** → Re-read profile + all Required Reads for current Phase
   - **Loop 2+** → Re-read profile + verify-snapshot.json only

### Phase 0: Project Discovery (automatic)

> Details: [resources/project-discovery-protocol.md](./resources/project-discovery-protocol.md)

Automatically detects the project's build configuration, language (Python/Dart/Mixed), numeric libraries, and GPU capabilities.
If `.numerical/analysis-tools.txt` does not exist, it detects available analysis tools and requests selection.
Falls back to built-in reference conventions if discovery fails.

### Phase 1: Analyze

> Details: [resources/analyze-protocol.md](./resources/analyze-protocol.md)

Inspects numerical operations in the codebase:
- **dtype tracking**: Identify data types used across operations, detect implicit promotions
- **Shape analysis**: Trace array/tensor shapes through computation graphs
- **Precision risk detection**: Identify catastrophic cancellation, absorption, overflow/underflow risks
- **Broadcasting pattern cataloging**: Map all broadcasting operations and validate intent
- **Memory layout analysis**: Track C-contiguous vs Fortran-contiguous access patterns
- **Special value handling**: Check for NaN/Inf propagation paths

### Phase 2: Verify

> Details: [resources/verify-protocol.md](./resources/verify-protocol.md)
> Verification levels: [resources/verification-tiers.md](./resources/verification-tiers.md)
> Error handling: [resources/error-playbook.md](./resources/error-playbook.md)

**Scripts**: `scripts/verify-numeric.sh [target path] [summary|detailed]`
Loop 2+: incremental verification with `--changed-only`.

### Phase 3: Optimize

> Details: [resources/optimize-protocol.md](./resources/optimize-protocol.md)

Provides optimization suggestions based on analysis and verification results:
- SIMD alignment and vectorization opportunities
- GPU memory management improvements
- Memory layout optimization for cache performance
- Algorithmic numerical stability improvements
- Parallelization opportunities

### Loop Control

| Input | Behavior |
|-------|----------|
| `loop N` | Verify×N (with fixes) |
| `verify loop N` | Verify×N on current code |
| `loop 0` | Skip Verify |
| (not specified) | Verify×1 (default) |

**Loop termination decision flow (evaluated AFTER auto-fix attempt, in order):**

```
Loop N termination check (after fix):
1. violations == 0 (after fix)              → EXIT (success)
2. precision target met (all within tol)     → EXIT (success)
3. Same violation appears 3x consecutive    → Spawn root-cause analysis sub-agent, halt and await user decision
4. N >= max_loops AND violations > 0        → EXIT (report remaining violations)
Otherwise                                   → next iteration (N += 1)
```

---

## Context Documents (Lazy Load)

**Consistency assertion:** Once `numeric-lib` is detected in Phase 0 (e.g., numpy, scipy, cupy, dart_tensor, or none), the same value MUST be used consistently across all subsequent phases. Do not re-detect.

**Base Set** (loaded in Phases 1, 2, 3 — referenced by all protocol Required Reads):
- numeric project profile cache (unconditional, every phase)
- floating-point-guide.md (always)
- language-specific conventions (by detected language)

| Document | Phases | Load Condition | Load Frequency |
|----------|--------|----------------|----------------|
| **numeric profile** (auto-discovered) | 0, 1, 2, 3 | Every phase entry (unconditional) | Every Phase |
| [floating-point-guide.md](./references/floating-point-guide.md) | 1, 2, 3 | Always | Load Once |
| [broadcasting-rules.md](./references/broadcasting-rules.md) | 1, 2 | IF ndarray/tensor ops detected | Load Once |
| [numpy-conventions.md](./references/numpy-conventions.md) | 1, 2, 3 | IF language=python | Load Once |
| [dart-tensor-conventions.md](./references/dart-tensor-conventions.md) | 1, 2, 3 | IF language=dart | Load Once |
| [simd-alignment-guide.md](./references/simd-alignment-guide.md) | 1, 3 | IF SIMD ops detected OR `simd-focus` keyword | Load Once |
| [gpu-memory-guide.md](./references/gpu-memory-guide.md) | 1, 3 | IF GPU libs detected OR `gpu-optimize` keyword | Load Once |

## Resources (On-demand)

| Document | Purpose |
|----------|---------|
| [project-discovery-protocol.md](./resources/project-discovery-protocol.md) | Phase 0 numeric project discovery procedure |
| [analyze-protocol.md](./resources/analyze-protocol.md) | Phase 1 numerical analysis procedure |
| [verify-protocol.md](./resources/verify-protocol.md) | Phase 2 verification procedure |
| [optimize-protocol.md](./resources/optimize-protocol.md) | Phase 3 optimization procedure |
| [verification-tiers.md](./resources/verification-tiers.md) | Verification levels by complexity |
| [error-playbook.md](./resources/error-playbook.md) | Numerical error type-specific resolution protocols |

## Scripts

| 스크립트 | 용도 | 사용법 |
|---------|------|--------|
| `discover-project.sh` | 프로젝트 프로파일 자동 감지 | `./discover-project.sh [--refresh] [--project path]` |
| `verify-numeric.sh` | 수치 연산 검증 | `./verify-numeric.sh [path] [summary\|detailed]` |
| `setup-hooks.sh` | Hooks 자동 설치 | `./setup-hooks.sh [--auto]` |
| `_common.sh` | 공유 유틸리티 (다른 스크립트에서 source) | 직접 실행 불가 — 내부 라이브러리 |

**스크립트 실행 요구사항:**
- 필수 CLI: `bash 4.0+`, `grep`, `find`, `wc`, `sed`, `awk`
- 선택적 CLI: `jq` (JSON 파싱), `python3` (AST 분석), `dart` (Dart 분석)
- 환경: Unix-like (Linux, macOS) — Windows는 WSL/Git Bash 필요

## Hooks Configuration

When Hooks are applied to the project, automatic verification runs on `.py`/`.dart` file modifications.
> Configuration: [templates/hooks-config.json](./templates/hooks-config.json)
> Installation script: `scripts/setup-hooks.sh`

**Note:** Hooks are defined in two places: `plugin.json` (plugin-level) and `templates/hooks-config.json` (project-level, installed via setup-hooks.sh). Use only one: plugin.json is active when the plugin is installed; hooks-config.json is for standalone use without the plugin. Do not enable both simultaneously to avoid duplicate hook execution.

## Context Health Protocol

롱 세션에서 컨텍스트 윈도우 사용량을 모니터링하고 선제적으로 대응한다.

### 임계값 대응

| 사용량 | 레벨 | 대응 |
|--------|------|------|
| **70%** | WARNING | "컨텍스트 70% 도달. 불필요한 파일 읽기 최소화하고 핵심 분석에 집중" |
| **80%** | RECOMMEND | "/compact 실행 후 프로파일 재로드 권장. 현재 Loop 완료 후 압축 진행" |
| **85%** | CRITICAL | "즉시 /compact 실행 필수. 압축 후 프로파일 + 현재 Phase 문서 재로드하여 계속" |

## Status Display Protocol

각 Phase/Loop 진입 시 현재 상태를 간결하게 표시한다.

### 표시 형식

```
[numerical] Phase: {phase} | Loop: {n}/{max} | Tier: {tier} | Context: {pct}% {bar}
```

**예시:**
```
[numerical] Phase: Verify | Loop: 2/3 | Tier: STANDARD | Context: 55% ▓▓▓▓▓░░░░░
[numerical] Phase: Analyze | Tier: N/A | Context: 23% ▓▓░░░░░░░░
[numerical] Phase: Optimize | Tier: THOROUGH | Context: 72% ▓▓▓▓▓▓▓░░░
```

## Session Wisdom Protocol

세션 간 수치 분석 결정과 학습 내용을 축적한다.

### 저장 위치

```
.numerical/PROGRESS.md
```

> 템플릿: [templates/progress-template.md](./templates/progress-template.md)

### 기록 시점

| 시점 | 기록 내용 | 자동/수동 |
|------|----------|----------|
| **Analyze 완료** | 발견된 수치 패턴, 정밀도 위험 요소 | 자동 |
| **에러 해결** | 이슈 + 원인 + 해결 방법 | 자동 |
| **Verify 완료** | 검증 결과, tolerance 설정 이력 | 자동 |
| **Optimize 완료** | 적용된 최적화, 성능 측정 결과 | 자동 |
| **세션 종료** | 다음 세션 TODO | 자동 |

### 보존 규칙

- **최근 5개 세션** 유지 (이전 세션은 요약으로 압축)
- **중요 결정**은 영구 보존 (tolerance 기준 변경, GPU 커널 설정)
- **반복 이슈**는 error-playbook.md로 승격 제안

Files in this skill

  • SKILL.md19.3 KB
  • references/broadcasting-rules.md5.1 KB
  • references/dart-tensor-conventions.md7.4 KB
  • references/floating-point-guide.md6 KB
  • references/gpu-memory-guide.md7.3 KB
  • references/numpy-conventions.md6.1 KB
  • references/simd-alignment-guide.md5.4 KB
  • resources/analyze-protocol.md5.8 KB
  • resources/error-playbook.md10.4 KB
  • resources/optimize-protocol.md6.2 KB
  • resources/project-discovery-protocol.md4.8 KB
  • resources/verification-tiers.md5.2 KB
  • resources/verify-protocol.md7.7 KB
  • scripts/_common.sh4.5 KB
  • scripts/discover-project.sh5.7 KB
  • scripts/setup-hooks.sh1.6 KB
  • scripts/verify-numeric.sh9.3 KB
  • templates/analysis-report-template.md1.6 KB
  • templates/hooks-config.json2.5 KB
  • templates/optimization-report-template.md1.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.