squad-conventions

Codify Squad CLI engineering conventions for safe Node.js development.

2|Updated Apr 21, 2026
One-click install
npx skills add https://github.com/elbruno/md-to-slides --skill squad-conventions-elbruno
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: squad-conventions
Source: https://github.com/elbruno/md-to-slides/tree/main/.copilot/skills/squad-conventions
Command: npx skills add https://github.com/elbruno/md-to-slides --skill squad-conventions-elbruno

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents inconsistent or risky changes to the Squad CLI codebase by documenting the core rules and patterns contributors must follow.

Core Features & Use Cases

  • Zero-dependency Node.js guidance: Maintain Squad’s hard constraint of no runtime dependencies and use only Node built-ins.
  • Deterministic testing approach: Use node:test and node:assert/strict with the prescribed test command and file layout.
  • Safe error handling and platform correctness: Follow the fatal(msg) pattern, use ANSI color constants, and ensure Windows-compatible path handling.
  • Maintain user-vs-Squad ownership boundaries: Preserve user state during init while allowing controlled overwrites of Squad-owned files during upgrade.

Quick Start

Use this conventions guide to check whether a proposed change to the Squad CLI (init/upgrade logic, file handling, tests, or error reporting) follows the required patterns before you implement it.

Frequently Asked Questions about squad-conventions

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

FAQPage Schema
How do I maintain zero-dependency Node.js conventions in CLI development?

To maintain zero-dependency Node.js conventions in CLI development, use only Node built-in modules and avoid introducing any external runtime dependencies, ensuring the codebase remains lightweight and self-contained.

What is the best way to handle errors and ensure Windows compatibility in Node.js CLIs?

The best way to handle errors and ensure Windows compatibility is to use a fatal(msg) pattern for user errors and path.join for all file operations, guaranteeing safe cross-platform path construction.

How do I run deterministic tests using node:test for CLI projects?

To run deterministic tests using node:test, implement your test suites with node:test and node:assert/strict, following the prescribed test command and file layout to validate CLI behavior consistently.

How should file copying and template ownership boundaries work during CLI init and upgrade?

File copying and template ownership boundaries require non-overwriting behavior during init to preserve user state, while allowing controlled overwrites of CLI-owned files only during upgrade operations.

When do I need to follow specific codebase patterns for adjusting init or upgrade flows?

You need to follow specific codebase patterns for adjusting init or upgrade flows whenever modifying CLI logic, file handling, or error reporting, ensuring all changes align with required safety and consistency conventions.