squad-conventions

Define and implement coding conventions for the Squad CLI tool.

Updated Apr 8, 2026
One-click install
npx skills add https://github.com/nicolehaugen/CustomMetricsDashboard --skill squad-conventions-nicolehaugen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: squad-conventions
Source: https://github.com/nicolehaugen/CustomMetricsDashboard/tree/main/.copilot/skills/squad-conventions
Command: npx skills add https://github.com/nicolehaugen/CustomMetricsDashboard --skill squad-conventions-nicolehaugen

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides the core conventions and patterns of the Squad codebase, enabling developers to understand and adhere to the Squad CLI tool's coding standards.

Core Features & Use Cases

  • Zero Dependencies: Emphasizes using Node.js built-ins and avoiding external package dependencies.
  • Node.js Built-in Test Runner: Utilizes node:test and node:assert/strict for testing without frameworks.
  • Error Handling: Implements a fatal() function for user-facing errors, ensuring consistent error messages.
  • ANSI Color Constants: Defines color constants for consistent use in console output.
  • File Structure: Outlines the ideal structure for the Squad CLI tool, including team state, templates, and skills.
  • Windows Compatibility: Ensures compatibility across Windows, macOS, and Linux platforms.
  • Init Idempotency: Ensures that the init flow does not overwrite user state.
  • Copy Pattern: Provides a copyRecursive() function for handling file and directory copying.
  • Anti-Patterns: Highlights common pitfalls to avoid, such as adding npm dependencies and overwriting user state.

Quick Start

To start using the Squad conventions, review the provided documentation and incorporate the patterns into your Squad CLI tool development.

Frequently Asked Questions about squad-conventions

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

FAQPage Schema
How do I handle errors in a Node.js CLI tool without adding dependencies?

Error handling in a zero-dependency Node.js CLI is managed using a dedicated `fatal()` function for user-facing errors, ensuring consistent error messages across the application without requiring external packages.

What is the best way to test Node.js CLI tools without external frameworks?

Testing Node.js CLI tools without frameworks is achieved by utilizing the Node.js built-in test runner, specifically `node:test` and `node:assert/strict`, to execute tests while maintaining a zero external dependency policy.

How do I ensure my Node.js CLI init flow does not overwrite user state?

To ensure the init flow does not overwrite user state, you must implement init idempotency, a coding pattern that safely preserves existing team state, templates, and skills during repeated initialization commands.

Does the Squad CLI Node.js codebase support Windows, macOS, and Linux?

Yes, Windows compatibility is explicitly addressed alongside macOS and Linux support, ensuring the Node.js built-ins and file operations like `copyRecursive()` function correctly across all major platforms.

What anti-patterns should I avoid when developing a zero-dependency Node.js CLI?

Common anti-patterns to avoid include adding npm dependencies, which violates the zero-dependency rule, and overwriting user state during initialization, which disrupts the expected idempotent file structure.

How do I format console output in Node.js without external color libraries?

Formatting console output without external libraries is handled by defining specific ANSI color constants within the codebase, providing consistent terminal colors across platforms using only built-in Node.js capabilities.