lat-md

bởi vercel

Viết và duy trì các tệp tài liệu lat.md — markdown có cấu trúc mô tả kiến trúc, quyết định thiết kế và thông số kỹ thuật kiểm thử của dự án. Sử dụng khi…

npx skills add https://github.com/vercel-labs/vercel-openclaw --skill lat-md

lat.md Authoring Guide

This skill covers the syntax, structure rules, and conventions for writing lat.md/ files. Load it whenever you need to create or edit sections in the lat.md/ directory.

What belongs in lat.md

lat.md/ files describe what the project does and why — domain concepts, key design decisions, business logic, and test specifications. They do NOT duplicate source code. Think of each section as an anchor that source code references back to.

Good candidates for sections:

  • Architecture decisions and their rationale
  • Domain concepts and business rules
  • API contracts and protocols
  • Test specifications (what is tested and why)
  • Non-obvious constraints or invariants

Bad candidates:

  • Step-by-step code walkthroughs (the code itself is the walkthrough)
  • Auto-generated API docs (use tools for that)
  • Temporary notes or TODOs

Section structure

Every section must have a leading paragraph — at least one sentence immediately after the heading, before any child headings or other block content.

The first paragraph must be ≤250 characters (excluding [[wiki link]] content). This paragraph is the section's identity — it appears in search results, command output, and RAG context.

# Good Section

Brief overview of what this section documents and why it matters.

More detail can go in subsequent paragraphs, code blocks, or lists.

## Child heading

Details about this child topic.
# Bad Section

## Child heading

This is invalid — "Bad Section" has no leading paragraph.

lat check enforces this rule.

Section IDs

Sections are addressed by file path and heading chain:

  • Full form: lat.md/path/to/file#Heading#SubHeading
  • Short form: file#Heading#SubHeading (when the file stem is unique)

Examples: lat.md/tests/search#RAG Replay Tests, cli#init, parser#Wiki Links.

Wiki links

Cross-reference other sections or source code with [[target]] or [[target|alias]].

Section links

See [[cli#init]] for setup details.
The parser validates [[parser#Wiki Links|wiki link syntax]].

Source code links

Reference functions, classes, constants, and methods in source files:

[[src/config.ts#getConfigDir]]          — function
[[src/server.ts#App#listen]]            — class method
[[lib/utils.py#parse_args]]             — Python function
[[src/lib.rs#Greeter#greet]]            — Rust impl method
[[src/app.go#Greeter#Greet]]            — Go method
[[src/app.h#Greeter]]                   — C struct

lat check validates that all targets exist.

Code refs

Tie source code back to lat.md/ sections with @lat: comments:

// @lat: [[cli#init]]
export function init() { ... }
# @lat: [[cli#init]]
def init():
    ...

Supported comment styles: // (JS/TS/Rust/Go/C) and # (Python).

Place one @lat: comment per section, at the relevant code — not at the top of the file.

Test specs

Describe tests as sections in lat.md/ files. Add frontmatter to require that every leaf section has a matching @lat: comment in test code:

---
lat:
  require-code-mention: true
---
# Tests

Authentication test specifications.

## User login

Verify credential validation and error handling.

### Rejects expired tokens

Tokens past their expiry timestamp are rejected with 401, even if otherwise valid.

### Handles missing password

Login request without a password field returns 400 with a descriptive error.

Each test references its spec:

# @lat: [[tests#User login#Rejects expired tokens]]
def test_rejects_expired_tokens():
    ...

Rules:

  • Every leaf section under require-code-mention: true must be referenced by exactly one @lat: comment
  • Every section MUST have a description — at least one sentence explaining what the test verifies and why
  • lat check flags unreferenced specs and dangling code refs

Frontmatter

Optional YAML frontmatter at the top of lat.md/ files:

---
lat:
  require-code-mention: true
---

Currently the only supported field is require-code-mention for test spec enforcement.

Validation

Always run lat check after editing lat.md/ files. It validates:

  • All wiki links point to existing sections or source code symbols
  • All @lat: code refs point to existing sections
  • Every section has a leading paragraph (≤250 chars)
  • All require-code-mention leaf sections are referenced in code

Thêm skills từ vercel

benchmark-sandbox
vercel
Chạy các kịch bản đánh giá vercel-plugin trong Vercel Sandboxes thay vì các bảng WezTerm cục bộ. Cung cấp các microVM tạm thời với Claude Code và plugin được cài đặt sẵn,…
official
emil-design-eng
vercel
Kỹ năng này mã hóa triết lý của Emil Kowalski về trau chuốt giao diện người dùng, thiết kế thành phần, quyết định hoạt ảnh và những chi tiết vô hình giúp phần mềm mang lại cảm giác tuyệt vời.
official
vercel-react-best-practices
vercel
Hướng dẫn tối ưu hiệu suất React và Next.js từ Vercel Engineering. Kỹ năng này nên được sử dụng khi viết, xem xét hoặc tái cấu trúc mã React/Next.js…
official
vercel-react-best-practices
vercel
Hướng dẫn tối ưu hiệu suất React và Next.js từ Vercel Engineering. Kỹ năng này nên được sử dụng khi viết, xem xét hoặc tái cấu trúc mã React/Next.js…
official
write-guide
vercel
Tạo một hướng dẫn kỹ thuật dạy một trường hợp sử dụng thực tế thông qua các ví dụ tiến dần. Các khái niệm chỉ được giới thiệu khi người đọc cần đến chúng.
official
release
vercel
Phát hành vercel-plugin — chạy các cổng, tăng phiên bản, tạo tạo phẩm, commit và push. Sử dụng khi được yêu cầu "phát hành", "ship", "tăng và push", hoặc "cắt một bản phát hành".
official
deepsec
vercel
Chạy DeepSec trên bản checkout dự án Vercel từ dev3000. Sử dụng để thiết lập DeepSec một chạm, khởi tạo ngữ cảnh dự án, xử lý lần đầu có giới hạn, và…
official
backport-pr
vercel
Backport một pull request Next.js đã được merge từ canary sang một nhánh phát hành trước đó như next-16-2. Sử dụng khi người dùng yêu cầu backport, cherry-pick, hoặc mở một…
official