taskfile-conventions

Enforce Taskfile.yaml and taskfiles/*.yaml organization conventions.

3|Updated Aug 19, 2024
One-click install
npx skills add https://github.com/hashgraph/solo-weaver --skill taskfile-conventions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: taskfile-conventions
Source: https://github.com/hashgraph/solo-weaver/tree/main/.claude/skills/taskfile-conventions
Command: npx skills add https://github.com/hashgraph/solo-weaver --skill taskfile-conventions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Standardize how Taskfiles are organized and evolved in the repository, preventing drift when adding, restructuring, or extracting tasks.

Core Features & Use Cases

  • Inline vs. extract decisions: Codifies when to inline in Taskfile.yaml vs. extract into taskfiles/*.yaml.
  • Naming & discovery: Defines the family-naming pattern (build:X / hash:X:* / sign:X:*) and the OS/ARCH fan-out structure.
  • Includes + flatten model: Establishes how includes: with flatten: true compose the root into a coherent task graph.

Quick Start

Review and apply these conventions when editing Taskfile.yaml or creating new taskfiles to keep the repo coherent.

Frequently Asked Questions about taskfile-conventions

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

FAQPage Schema
How do I organize Taskfiles in a repository without causing drift?

Organize Taskfiles by codifying inline versus extracted block decisions, applying a four-task family naming scheme, and using includes with flatten: true to compose a coherent task graph that prevents structural drift.

When should I inline tasks in Taskfile.yaml versus extracting them to taskfiles/*.yaml?

Inline tasks in Taskfile.yaml for simpler definitions, and extract them into taskfiles/*.yaml when they require complex OS/ARCH fan-out patterns or need to be shared across multiple includes.

What naming conventions should I use for tasks in Taskfile.yaml?

Use a four-task family naming scheme for Taskfile.yaml tasks, such as build:X, hash:X:*, and sign:X:*, ensuring consistent discovery and organization across the root and included task graphs.

How does the flatten: true include model work for Taskfiles?

The flatten: true include model composes multiple Taskfiles into a single coherent task graph by merging included tasks into the root namespace, enabling consistent discovery across taskfiles/*.yaml.

Does this approach support OS and architecture fan-out patterns in build systems?

Yes, the conventions explicitly specify OS/ARCH fan-out patterns, allowing you to define matrix-style build tasks in taskfiles/*.yaml while maintaining a consistent naming scheme and graph composition.

What's the best way to standardize Taskfile conventions across a growing repository?

Standardize Taskfile conventions by enforcing rules for inline versus extracted blocks, adopting the four-task family naming scheme, and mandating includes with flatten: true to prevent structural drift.