AgentSkillsCN

tiger-style

TigerBeetle编码风格,专为安全关键的Zig代码而设。适用于编写符合TigerStyle的新代码,或分析现有代码,生成结构化的报告,展示符合规范的模式、违规之处以及灰色地带。

SKILL.md
--- frontmatter
name: tiger-style
description: TigerBeetle coding style for safety-critical Zig code. Use for writing new code aligned with TigerStyle, or analyzing existing code to produce structured reports showing aligned patterns, violations, and gray areas.
argument-hint: "[analyze <file> | check]"

TigerStyle Skill

Coding style from TigerBeetle optimized for Safety > Performance > DX.

Usage Modes

InvocationModeOutput
/tiger-styleWritingGuidance for writing new code
/tiger-style analyze <file>AnalysisComplete report: Aligned + Violations + Gray Areas
/tiger-style checkQuick checkViolations only (brief)

Mode Instructions

Writing Mode (/tiger-style)

When invoked without arguments, activate TigerStyle for all code you write or modify in this session:

  1. Read SAFETY.md, PERFORMANCE.md, and DX.md to load the full rule set.
  2. Apply all rules as you write Zig code. Every function you produce must have 2+ assertions (preconditions, postconditions, or invariants).
  3. Before presenting code to the user, validate it against CHECKLIST.md.
  4. If a rule would be violated, fix it before showing the code. If a gray area arises, flag it to the user.

Analyze Mode (/tiger-style analyze <file>)

When invoked with analyze and a file path:

  1. Read the file specified in $ARGUMENTS (the path after analyze).
  2. Read SAFETY.md, PERFORMANCE.md, and DX.md for the complete rule set.
  3. Produce a structured report following the template in REPORT_FORMAT.md.
  4. Check every rule against the file. Be thorough - scan for all violation types, not just obvious ones.
  5. Group aligned patterns by category. Group violations by severity. Note gray areas with reasoning.

Check Mode (/tiger-style check)

When invoked with check:

  1. Scan the current file, staged changes, or recently modified Zig files.
  2. Report only violations, grouped by severity (CRITICAL first, then MAJOR, then MINOR).
  3. Skip aligned patterns and gray areas - keep output brief.
  4. Use the format: SEVERITY | location | rule | issue (one line per violation).

Workflow

After analysis or check, guide the user through fixing:

  1. Fix CRITICAL violations first - these are safety risks.
  2. Fix MAJOR violations - these affect maintainability.
  3. MINOR violations are worth fixing but should not block progress.
  4. Run /tiger-style check to verify fixes.
  5. Repeat until clean.

Quick Lookup

TopicSeeKey Rules
AssertionsSAFETY.mdMin 2 per function, pair assertions, split compound
Control flowSAFETY.mdNo recursion, split compound conditions, every if has else
MemorySAFETY.mdStatic only, no dynamic after init
Function sizeSAFETY.mdMax 70 lines
TypesSAFETY.mdExplicit sizes (u32 not usize)
PerformancePERFORMANCE.mdDesign-time thinking, batching, buffer bleeds
ResourcesPERFORMANCE.mdNetwork > disk > memory > CPU
NamingDX.mdsnake_case, units last, semantic richness
FormattingDX.md80 cols, 4-space indent, braces on ifs
Bug preventionDX.mdOff-by-one, explicit division, options structs
Pre-submitCHECKLIST.mdQuick validation checklist
Report formatREPORT_FORMAT.mdAnalysis output template

Our Customizations (vs pure TigerStyle)

RuleTigerStyleOur Standard
Line length100 columns80 columns
Assertions2+ per functionSame
Memory in structsNever store allocatorSame + never store Io

Severity Definitions

SeverityCriteria
CRITICALSafety risk: missing assertions, unbounded loops, dynamic memory, ignored errors, missing else branches
MAJORMaintainability: function too long, complex control flow, usize instead of explicit type
MINORStyle: naming, formatting, comments