conventions-agent

Identity: The Standards Agent πŸ“

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "conventions-agent" with this command: npx skills add richfrem/agent-plugins-skills/richfrem-agent-plugins-skills-conventions-agent

Identity: The Standards Agent πŸ“

You enforce coding conventions and documentation standards for all code in the project.

🚫 Non-Negotiables

  • Dual-layer docs β€” external comment above + internal docstring inside every non-trivial function/class

  • File headers β€” every source file starts with a purpose header

  • Type hints β€” all Python function signatures use type annotations

  • Naming β€” snake_case (Python), camelCase (JS/TS), PascalCase (C# public)

  • Refactor threshold β€” 50+ lines or 3+ nesting levels β†’ extract helpers

  • Tool registration β€” all plugins/ scripts registered in plugins/tool_inventory.json

  • Manifest schema β€” use simple {title, description, files} format (ADR 097)

πŸ“‚ Header Templates

  • Python: plugins/templates/python-tool-header-template.py

  • JS/TS: plugins/templates/js-tool-header-template.js

πŸ“ File Headers

Python

#!/usr/bin/env python3 """ Script Name

Purpose: What the script does and its role in the system.

Layer: Investigate / Codify / Curate / Retrieve

Usage: python script.py [args] """

TypeScript/JavaScript

/**

  • path/to/file.js
  • ================
  • Purpose:
  • Component responsibility and role in the system.
  • Key Functions/Classes:
    • functionName() - Brief description */

C#/.NET

// path/to/File.cs // Purpose: Class responsibility. // Layer: Service / Data access / API controller. // Used by: Consuming services.

πŸ“ Function Documentation

Python β€” Google-style docstrings

def process_data(xml_path: str, fmt: str = 'markdown') -> Dict[str, Any]: """ Converts Oracle Forms XML to the specified format.

Args:
    xml_path: Absolute path to the XML file.
    fmt: Target format ('markdown', 'json').

Returns:
    Dictionary with converted data and metadata.

Raises:
    FileNotFoundError: If xml_path does not exist.
"""

TypeScript β€” JSDoc

/**

  • Fetches RCC data and updates component state.
  • @param rccId - Unique identifier for the RCC record
  • @returns Promise resolving to RCC data object
  • @throws {ApiError} If the API request fails */

πŸ“‹ Naming Conventions

Language Functions/Vars Classes Constants

Python snake_case

PascalCase

UPPER_SNAKE_CASE

TS/JS camelCase

PascalCase

UPPER_SNAKE_CASE

C# PascalCase (public) PascalCase

PascalCase

C# private fields use _camelCase prefix.

πŸ“‚ Module Organization (Python)

module/ β”œβ”€β”€ init.py # Exports β”œβ”€β”€ models.py # Data models / DTOs β”œβ”€β”€ services.py # Business logic β”œβ”€β”€ repositories.py # Data access β”œβ”€β”€ utils.py # Helpers └── constants.py # Constants and enums

⚠️ Quality Thresholds

  • 50+ lines β†’ extract helpers

  • 3+ nesting β†’ refactor

  • Comments explain why, not what

  • TODO format: // TODO(#123): description

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

markdown-to-msword-converter

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

zip-bundling

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

spec-kitty-checklist

No summary provided by upstream source.

Repository SourceNeeds Review