Appearance
Dev Skills
A collection of agent skills for Claude Code, GitHub Copilot, Antigravity CLI, and Pi. These skills encode development patterns, workflows, and best practices for AI-assisted software development.
See Installing Dev Skills for setup.
Agent Instructions
- Fewer Approvals: Strategies for minimizing approval prompts by using built-in tools over shell commands and npm scripts. Use when the user says there are too many approvals.
- Follow Instructions: Force the agent to re-read instruction files, identify violations, and correct its approach. Use when the user says the agent isn't following instructions.
- Interview Me: Structured, one-question-at-a-time interview process that minimizes user effort. Use when the user asks to be interviewed about a topic.
- No Hallucination: Force the agent to verify claims via web search and cite authoritative sources. Use when the user says the agent is hallucinating or making things up.
- Prevent Mistake: Guide the agent to diagnose an error and propose an instruction edit to prevent recurrence. Use when the user points out the agent made a mistake.
- Recap Current Work: Brief summary of goals, progress, current status, and next steps. Use when the user asks for a recap or summary of the session.
- Research: Concise, factual web search findings from authoritative sources. Use when the user asks the agent to research something online.
Agent Skills
- Create Skill: Full workflow for creating a new skill, from naming through frontmatter, single vs multi-file structure, and content patterns. Use when authoring a new skill.
- Installing Dev Skills: Symlink-based installation for Claude Code, GitHub Copilot, Antigravity CLI, Pi, and Claude.ai zip upload. Use when installing or uninstalling the dev-skills library.
- Skills Library Maintenance: Validation and fix workflow for frontmatter, categories, index coverage, and consistency. Use when auditing or repairing the skills library.
Apple Development
- XcodeBuildMCP Setup: Install and configure the MCP server that connects Claude Code to Xcode. Use when setting up a new Apple development environment or adding Xcode automation to an existing project.
- SwiftUI Project Setup: Create a new Xcode project optimized for AI-assisted development with SwiftUI, SPM, and the right file boundaries. Use when starting a new app for any Apple platform.
- The Development Loop: The core build-run-screenshot-fix cycle that Claude Code uses to iterate on features autonomously. Use when writing or modifying SwiftUI views, debugging layout issues, or verifying user flows.
- SwiftUI Architecture: Data layer, navigation, and state management patterns for personal apps. Use when deciding how to structure a new SwiftUI app or choosing between SwiftData, UserDefaults, and other persistence options.
- TestFlight Distribution: Share apps with a small group via TestFlight internal testing or Ad Hoc distribution. Use when distributing an app to 2–3 people without the App Store.
- Troubleshooting: Common pitfalls and fixes for Xcode builds, simulator issues, signing errors, and SwiftUI type-checker problems. Use when a build fails or the simulator misbehaves.
Code Design
- Intention-Revealing Code: Names that reveal intent at the call site and contents that reveal intent at the read site — code should read as prose, not syntax. Use when naming or restructuring functions, or reviewing low-level code.
Code Style
- Bash Style: Bash script formatting including clean multiline strings with
strip_indent. Use when writing or modifying bash scripts. - Code Style: Language-agnostic formatting rules — indentation, line length, braces, trailing commas, and comments. Use when writing or modifying any code file.
- CSS Style: CSS formatting rules including one property per line. Use when writing or modifying CSS.
- HTML Style: HTML formatting rules including boolean attributes. Use when writing or modifying HTML.
- JavaScript Style: JavaScript formatting rules — double quotes, trailing commas, and consistent syntax. Use when writing or modifying JavaScript.
- Markdown Style: Markdown formatting rules — backticks for code, reference-style links, and line length. Use when writing or modifying markdown.
Coding Agents
- Claude Code Permissions: Configure Claude Code tool permissions (allow, ask, deny). Use when setting up permissions or syncing the recommended permission lists to the current machine.
- Claude Code Settings: Configure and sync Claude Code settings (default model). Use when setting up Claude Code or syncing recommended settings to the current machine.
- LLM Environment Tools: CLI tools that improve LLM coding agent performance (
ripgrep,fd,fzf,DuckDB,git-delta,xh,watchexec,just,semgrep). Use when setting up or auditing a development environment for AI agent effectiveness. - Pi Coding Agent: Setup, CLI commands, extensions, and workflows for Pi, the open-source minimal terminal coding agent. Use when working with Pi or comparing it to other coding agents.
- Update AI Agent CLIs: Update Claude, Codex, Copilot, Antigravity, and Pi CLI tools to their latest versions via Volta. Use when the user wants to update their AI coding tools.
Design
- Visual Language Through Style Tiles: Guide a conversation from intended user response to visual attributes to candidate directions, then compare style tiles side-by-side. Use before building UI to commit to a visual language.
- Style Tiles Worked Example: Full transcript of a design agent guiding a user through the first part of establishing a visual direction. Use as a reference for what a good run looks like in practice.
Dev Tasks
- Address FIXMEs: Find and resolve FIXME, TODO, and REFACTOR comments in specified files, prioritized by severity. Use when the user wants to clean up code annotations.
- Dev Serve: Start a dev server on a safe port with worktree-aware ownership, automatic port allocation, and race-condition handling. Use when starting a dev server or hitting "port already in use" / EADDRINUSE errors.
- Diagnose Root Cause: Hypothesis-driven debugging that identifies the root cause without applying fixes. Use when the user wants to understand why something is broken.
- macOS Source Code Volume: Create a case-sensitive APFS volume at /Volumes/src for source code. Use when setting up a macOS development environment.
Development Methods
- Phased Migrations: Phased migrations for databases, secrets, and certificates that maintain backward compatibility at every stage. Use when changing stateful systems where a single-step change risks downtime or data corruption.
- Refactoring: Restructure code in small verified steps — establish a verification mechanism, make one change, verify, commit or revert.
- Test-Driven Development: One failing test, implement to pass, repeat.
- Diagnose Root Cause: Hypothesis-driven debugging — form hypotheses, add targeted logging, analyze evidence, confirm.
Node.js
- Auto Port Selection: Find an available port when the default is occupied. Use when running dev servers that may conflict on a fixed port.
- Child Process Cleanup: Reliable termination of child process trees with pipe cleanup and exit handlers. Use when spawning long-lived processes that must not outlive the parent.
- CJS Utilities in ESM: One-call bridge that gives ESM modules
require,__filename, and__dirname. Use when ESM code needs CJS utilities or must load a CJS-only package. - CLI Subcommands: Directory-mirrored CLI architecture using Commander.js executableFile with co-located resources. Use when building a CLI tool with multiple nested commands.
- Dotpath Template Tag: Tagged template literal for constructing file paths with interpolation. Use when building paths from dynamic segments more cleanly than
path.join()calls. - EJS with Includes and
require(): Enhanced EJS rendering withrequire()support inside templates, recursive includes, and linting. Use when server-side rendering HTML, SQL, or other structured text in Node.js. - Express Utility Handlers: Reusable middleware for blocking requests until async startup completes and sending 404 responses. Use when gating routes behind preconditions.
- Express.js Core Patterns: App creation, settings, middleware pipelines, and route mounting. Use when starting or structuring an Express server.
file()Utility: Synchronous file reading that resolves paths relative to the calling module, not the working directory. Use when loading SQL queries, templates, or config files at module init time.- File Path Resolver: Single
resolve()function that handles absolute, relative, and module paths from the caller's location. Use when you need flexible path resolution beyondpath.join(). - File-System Auto-Routing: Map directory structure to URL routes automatically, with
[param]directory conventions. Use when you want Next.js-style file routing in plain Express. - Fix npm Vulnerabilities: Minimal, controlled fixes for npm audit vulnerabilities via
package.jsonedits and overrides. Use when resolving npm security warnings. - Fractal Express Pattern: Use full Express instances — not Routers — as composable modules. Use when structuring a server with multiple independently testable concerns.
- HTTP Error Classes: Class hierarchy for HTTP errors with automatic status codes and attachable details. Use when throwing structured errors that map to HTTP status codes.
- Named SQL Parameters: Replace positional
?placeholders with readable:paramnames in SQL queries. Use when writing queries that accept input values. - Node.js child_process Functions: Guide to
spawn,exec,execFile, andfork— choosing the right function based on synchronicity and shell usage. Use when running external commands from Node.js. - Node.js Module Patterns: ESM-first package.json setup, subpath exports, and private import aliases. Use when configuring module systems for a Node.js project.
- npm Workspaces: Multi-package repository management with npm's built-in workspace support. Use when a repo contains multiple packages that share code.
- Pretty Error Formatting: Turn dense stack traces into readable, color-highlighted output. Use in CLI tools or dev scripts where default Node.js errors are hard to read.
- Promisified Server Startup: Wrap
server.listen()in a promise returning url, port, and listener. Use when starting an HTTP server withawait. - Proxy Middleware with Fallthrough: Proxy that falls through to the next handler on 404. Use when composing multiple backend servers behind a single entry point.
- Publish to GitHub Packages: GitHub Actions workflow that publishes npm packages on version tags. Use when automating package publishing to GitHub Packages.
- Query Objects and Resource Classes: Namespace SQL queries into objects and wrap CRUD operations in static Resource class methods. Use when building a data access layer.
- Request Logging Middleware: One structured log entry per request using canonical log lines. Use when replacing scattered
console.log()calls with queryable structured logs. - Shell Command Tag: Tagged template literal that builds shell commands with automatic escaping to prevent injection. Use when executing shell commands with dynamic values from Node.js.
- Simple RPC: Lightweight RPC layer using an ES6 Proxy client and Express middleware — call server methods as if local, no schemas required. Use when building internal APIs between browser and Node.js.
- SQL Queries in Separate Files: Store SQL in
.sqlfiles for editor syntax highlighting and linting support. Use when queries are complex enough to benefit from dedicated files. - Watch Mode: Automatic rebuilds and retests on file changes using npm script watchers. Use when developing locally and you want continuous feedback on changes.
- WHATWG Request/Response Adapter: Adapt Express to standard WHATWG Request/Response objects. Use when writing handlers portable across Node.js, Deno, and Cloudflare Workers.
Git
- Commit: Two-command workflow for committing only the changes from the current session or specified files. Use when committing work.
- Conflict Resolution: Strategies for resolving merge conflicts — simple merge, patch replay, and commit replay — while preserving the intent of all commits. Use when facing merge conflicts.
- Git Fundamentals: Core git patterns for everyday development — status, diff, log, branching, tagging, stashing, and reset. Use as a reference during any git operation.
- Uncommitted Changes: Detect uncommitted changes and derive path-safe branch names. Use in deployment scripts or CI pipelines that depend on repository state.
- Worktrees: Separate working directories per branch sharing one repository. Use when you need multiple branches checked out simultaneously.
GitHub
- CI Browser Tests: GitHub Actions workflow for running Playwright browser tests with headless Chromium. Use when adding browser test CI to a project.
- Claude GitHub Action: GitHub Actions workflow that lets
@claudementions and theclaudeissue label trigger Claude to respond and open PRs. Use when adding Claude as a teammate in a repo. - GitHub CLI and Repository Patterns: Core patterns for the
ghCLI — authentication, repository setup, and common operations. Use when setting up or interacting with GitHub repos from the command line. - GitHub Issue Editing: Safe editing of issue bodies and comments via temp files to avoid escaping corruption. Use when modifying GitHub issue content programmatically.
- GitHub Issues: List open issues with their associated PRs, branches, and merge status. Use when deciding what to work on next.
- GitHub Workflow: Four-phase development process — plan, implement, review, merge. Use when following a structured feature development workflow.
- Publish to GitHub Pages: GitHub Actions workflow that builds and deploys static sites. Use when automating deployment to GitHub Pages.
- Pull Request Workflow: Full PR lifecycle — creation, review comment resolution, and GraphQL review threads. Use when creating or responding to pull requests.
Google Cloud
- App Engine Deployment: Safe deployment script that validates git state, derives version names, and tags deployments. Use when deploying a Node.js app to App Engine.
- Cloud SQL Proxy Lifecycle: Manage Cloud SQL Proxy startup, socket/port coordination, and process cleanup for local development. Use when connecting a Node.js app to Cloud SQL locally.
- Google Cloud General Patterns: gcloud CLI usage, project setup, service accounts, and credential management. Use when configuring Google Cloud authentication or project settings.
JavaScript
- Async JavaScript Patterns: Promise combinators including
allSettled, race timeouts, retry with backoff, and concurrency-limited mapping. Use when writing async control flow. - Async Pipe: Compose async functions into a sequential pipeline where each step receives the previous output. Use when chaining multiple async transformations.
- Deferred Promise: A promise whose resolve/reject are accessible from outside the executor. Use when the creator and settler of a promise are in different scopes.
- Delay and Interval Utilities: Promise-based delays, random stagger for animations, and frame-synced intervals. Use when you need timing utilities in async code.
- Non-Concurrent Operations:
Lockclass andnonConcurrentwrapper that serialize async operations. Use when only one instance of an operation should run at a time. - Progress Tracking:
EventEmitter-based progress reporting for batch async operations. Use when showing progress feedback for uploads, API calls, or parallel tasks. - Resolve All Promises: Prevent event loop hangs from unresolved promises in background async work. Use when running fire-and-forget async functions, background loops, or async iterator consumers.
- Timer Patterns: Cancellable, awaitable timers with explicit state management and elapsed-time measurement. Use when scheduling one-shot actions or measuring durations.
- Async Iterators with Repeater: Repeater library fundamentals —
push/stop, backpressure,SlidingBuffer,merge, andlatestcombinators. Use when building async iterables. - Chunking Async Iterables: Fixed-size batching for arrays and async streams. Use when processing data in bulk.
- Debouncing Async Iterables: Collapse rapid async events into single values after a quiet period. Use when coalescing bursts from event sources.
- Event to Async Iterator: Convert
EventEmitterorEventTargetsources into async iterables with automatic cleanup. Use when bridging events tofor await...of. - Multicasting Async Iterables: Fan out values from one async iterable to multiple subscribers. Use when multiple consumers need the same stream.
- Dot-Path Property Access: Tagged template literal that safely traverses deeply nested properties like
user.profile.address.city. Use when reading nested object paths known at definition time. - Filter Object: Create a new object containing only allow-listed keys. Use when sanitizing user input or stripping unexpected properties.
- Options with Defaults: Merge user options and default options using spread or nullish coalescing. Use when a function accepts optional configuration.
- Index File Re-exports: Barrel files that re-export directory modules through a single entry point, converting defaults to named exports. Use when organizing module imports into clean paths.
- Automatic Resource Management: Create-use-dispose lifecycle that guarantees resource cleanup even when errors occur. Use when managing temp dirs, connections, or file handles.
- Composable Schema Validation: Chainable validators with message overrides, nesting, and value coercion. Use when validating user input, form fields, or API payloads.
- Enum Classes: Sealed, frozen enum instances with identity semantics and iteration. Use when you need a fixed set of named values that prevent invalid states.
- Layered Dispatch: First-match routing that dispatches items to handlers based on predicate tests, like Express middleware. Use when processing heterogeneous collections where each item needs different treatment.
- Readable Regular Expressions: Tagged template literals that build regex from named, composable pieces. Use when a regex is too complex to read as a single literal.
- RelativeURL: URL subclass that works with relative paths without requiring an origin. Use in SPAs or server-side route generation where the origin is irrelevant.
- Result Type: Frozen
Resultclass withok/errfactories and atry()wrapper that makes error handling explicit instead of throwing. Use for parsing, validation, or I/O where failure is expected. - Class-Based State Machines:
EventEmitter-based state machine with lifecycle hooks and defined transitions. Use when a workflow has explicit states and boolean flags become unmanageable. - Random Utilities: Helper functions for random floats in a range, random integers, Fisher-Yates shuffle, and picking random elements. Use when you need randomness utilities beyond raw Math.random().
- Unit-of-Work Telemetry: Accumulate context throughout a unit of work and emit one rich log entry when it completes. Extends to function-level tracing with automatic parent–child spans via
AsyncLocalStorage. Use when implementing structured logging or tracing. - Custom Logger: Pino-based logger factory with auto-detected module names, Google Cloud severity mapping, and child loggers. Use when setting up structured logging for an application.
- Browser Log Forwarding: Forward browser-side log entries and uncaught errors to a server endpoint so client and server logs appear in one stream. Use when building full-stack apps.
Personas
- Full-Stack Software Engineer: Expert persona spanning system architecture, frontend/backend development, testing, performance, and DevOps. Use when you need an engineering perspective on architecture, trade-offs, or technical decisions.
- Product Designer: Expert persona combining design psychology, visual design, interaction patterns, and UX research. Use when you need a design perspective on usability, layout, or interaction choices.
- Product Manager: Expert persona bridging product strategy, requirements analysis, data-driven prioritization, and market intelligence. Use when you need a product perspective on scope, priorities, or user value.
Prompt Engineering
- Adaptive Goal Decomposition: Extend the target convergence prompt with on-demand subgoals so agents decide dynamically whether to work directly or decompose. Use when writing prompts for complex tasks that benefit from incremental decomposition.
- Target Convergence Prompt: Prompt pattern that defines acceptance criteria and a convergence loop so agents iterate until the end state is met. Use when writing prompts for tasks that need self-correcting iteration.
- Task List: Structured task files with ordered steps, verification checks, and execution notes for multi-session continuity. Use when organizing agent work into trackable, resumable units.
- Test-Driven Development: One-test-per-task workflow where agents write a failing test first, then implement the minimum code to pass. Use when guiding agents through feature work with built-in verification.
Testing
- In-Browser Testing: Lightweight in-browser test runner with HTML fixtures and method stubs, plus a Playwright CI bridge. Use when tests should live in the same file as the code being tested.
- JavaScript Testing: Testing patterns using the Node.js test runner and
node:assert/strict— test exports, signatures, and observable behaviors. Use when writing or running tests in Node.js. - Playwright Browser Testing: End-to-end browser testing with Playwright and Chromium, including GitHub Actions CI setup. Use when tests need a real browser for navigation, clicks, or screenshots.
- Playwright Mouse Cursor: Inject a visible mouse cursor overlay into Playwright pages. Use when screenshots, recordings, or demos need to show cursor position.
- Playwright Screenshots: Retina-quality screenshots with custom viewports, cursor overlays, and tooltip capture. Use when capturing polished screenshots for documentation or design review.
- Screenshot Diff Testing: Visual regression testing that commits screenshots to git and uses
git difffor pass/fail. Use when verifying visual output changes with human approval.
Web
HTML, CSS, JavaScript, browser APIs, and the full web platform — including web components, animations, modals, URL state, accessibility, prototyping, browser HTTP, Playwright browser automation, Vue, Vite, and VitePress.
- Roving Tabindex: Accessibility: single tab stop into a list or toolbar, arrow keys move between items, Tab exits. Use when building composite widgets like nav lists, tab bars, or toolbars.
- Animate Overlay from Trigger: Use the View Transitions API to morph overlays from their trigger element for spatial continuity.
- Animated SVGs: CSS keyframe animations inside SVG with custom properties for parametric control.
- Animated Collection Updates: View Transitions API for animating sorted/filtered collection elements.
- Multi-Page App Layout Stability: Prevent UI flicker during MPA navigation with
view-transition-name. - Chrome DevTools MCP: Install Chrome DevTools for agents 1.0 as a Claude Code plugin, connect to a running browser session via auto-connect or remote debugging port, and run Lighthouse audits and Core Web Vitals analysis. Use when setting up or using Chrome DevTools MCP.
- Playwright CLI: One-shot browser commands for screenshots, PDFs, and codegen.
- Persistent Browser: Long-lived Chromium session for observe-then-act workflows.
- Site Interaction: Discover and drive a site's backend API by inspecting its frontend network calls.
- Authentication: Playwright session persistence and secure credential storage.
- Binary File Handling: Upload and download files across the Node-to-browser boundary in Playwright.
- Content Diffing: Detect what changed before pushing content to a remote destination.
- Browser HTTP: Thin fetch wrapper and pre-configured Axios client with error handling and connection-status interceptors.
- Local Dev No Cache: Hostname-based localhost detection that bypasses the browser cache during development.
- Encapsulation: Light DOM vs shadow DOM — when to encapsulate component styles.
- Extension Patterns: CSS-first patterns for shipping custom elements with sensible defaults and clean override surfaces.
- Async Component Loading: Fetch component HTML files on demand.
- Document Bootstrap: Clone a
<template>, discover bindings, and return a reactive render function powered by Vue'seffect(). - HTML Includes: Runtime HTML composition via
<html-include>elements. - Reactive DOM Binding: Plugin-based binding system with seven binding types and
TreeWalkertraversal. - CSS Centering: Modern centering methods for block containers, grid, flexbox, absolute positioning, anchor positioning, and text.
- Focus Styling: Global
:focus-visibleoutline with a--color-focustoken. - CSS Color Scales: Perceptually uniform color palettes from a seed color using LCH, chroma easing, and gamma correction.
- Dynamic Styles: Runtime style changes via CSS custom properties or CSS-in-JS template literals.
- Text Highlighting: CSS Custom Highlight API for painting text ranges without modifying DOM structure.
- Better DOM API: Convenience wrappers for querying, traversal, and event handling across Document, DocumentFragment, and Element.
- Declarative Element Behavior: Bind JavaScript behavior to DOM elements via CSS selectors and HTML attributes.
- DOM Factory: Helpers for creating elements, text nodes, fragments, and parsed HTML in single expressions.
- Semantic Selectors: ARIA and semantic attribute selectors for styling, behavior, and testing.
- Semantic DOM Snapshot: Strip non-semantic noise from a page and extract a minimal semantic representation.
- Keyboard Shortcut Listener: Declarative, element-scoped keyboard shortcut binding.
- Visual DOM Snapshots: Clone live DOM with inlined CSS into a self-contained HTML string.
- CSS Anchor Positioning: Native browser positioning for tooltips, dropdowns, and popovers that stay in viewport.
- Button Layout Stability with Dynamic Content: CSS grid stacking for stable button layouts when text changes between states.
- Clickable Container with Child Controls: Full-area click targets that also contain independently clickable child controls.
- Inert Controller: Reference-counted
inertattribute management for nested overlays. - Reference Counting Lock: Shared lock that stays active until every caller releases it.
- Scroll Lock: Prevent page scrolling behind modals with iOS Safari workarounds.
- Reactive Page URL: EventTarget wrapper around the Navigation API with reactive URL param composables.
- Browser Module System: Promise-based registry for sharing code between
<script>blocks without a bundler. - CDN Icons with SVG Sprites: Fetch an SVG sprite sheet from a CDN and render icons via a
<ui-icon>web component. - Load Packages from CDN: Load npm packages directly from CDN without
npm install. - Deploy a Small Stateful Web App: Cloudflare Worker + D1 database deployed via the Cloudflare MCP server — persistent data, optional password gate, no build step. Use when you need a web app with server-side state that an agent can deploy end-to-end.
- Single-File HTML App: Self-contained HTML with embedded styles, scripts, and CDN dependencies.
- Transmogrifier: Rapidly explore a complex design space and converge on a final design.
- Vite Configuration: MPA mode, HTML entry-point discovery, path aliases. Use when starting or configuring a Vite project.
- Vite HTML Includes Plugin: Build-time HTML composition via
<link rel="include">fragments. - Vue Multi-Page Application: Architecture where each page is a standalone Vue app.
- VitePress Auto Nav: Auto-generate
navandsidebarconfig from the file system. - VitePress Linked Assets: Make relative links to non-markdown files resolve on the docs site.
- VitePress Copy Buttons: Add copy-link and copy-markdown buttons to every page.
- VitePress File a Bug Button: Open the GitHub issue form with the current page URL pre-filled.
- VitePress Homepage Hero: Style a landing page with hero section, action buttons, and feature cards.
- Vue Input Component: Styled text input with floating label and
v-modelsupport. - Vue Select Component: Custom-styled select dropdown backed by a native
<select>for full accessibility. - Vue ValidationErrors Component: Styled error box that renders only when errors are present.
- Vue useDataLoader Composable: Reactive wrapper for async data fetching with loading, loaded, and error states.
- Vue useForm Composable: Form state management with validation, submission, and automatic re-validation.
- Vue useProgress Composable: Reactive progress tracker for batch async operations.
- Vue useInert Composable: Composable wrapper around
InertControllerfor making background content non-interactive. - Vue useScrollLock Composable: Composable wrapper around
ScrollLockwith automatic cleanup on unmount. - Vue useShowHide Composable: Reactive toggle for overlay visibility with an optional associated value.
- Vue Watcher Class: Stateful wrapper around Vue's
watch()with explicit start/stop lifecycle control. - Vue Autofocus Directive: Custom directive that focuses the first focusable element on mount.
Writing Style
- Clear Writing: Techniques for knowing what matters, building a hierarchy of points, and cutting noise. Use when writing or modifying prose.
- Dashes and Hyphens: Rules for hyphens, en dashes, and em dashes with keyboard shortcuts. Use when writing or modifying prose.
- What Before Why or How: Lead every document and section with the main idea before explaining context. Use when writing or modifying prose.
- Writing Style: Core writing standards — active voice, conciseness, parallel structure, sentence-case headings, and formatting rules. Use when writing or modifying prose.