create-relationship

Create typed relationships with fully qualified names in model files.

5|1|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/a-scolan/c4-template --skill create-relationship
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: create-relationship
Source: https://github.com/a-scolan/c4-template/tree/main/.github/skills/create-relationship
Command: npx skills add https://github.com/a-scolan/c4-template --skill create-relationship

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps architects and engineers connect elements in system models or deployment files by creating typed relationships with fully qualified names (FQN), correct relationship kinds, and descriptive labels, while ensuring there are no unintended return paths.

Core Features & Use Cases

  • Typed relationships: supports -[calls]->, -[async]->, -[reads]->, -[writes]-> with clear FQN targeting.
  • Labeling clarity: enforces descriptive labels and prohibits return relationships to avoid anti-patterns.
  • Guided modeling: provides examples and anti-pattern guidance to help maintain consistent architectural diagrams.

Quick Start

Use this skill to define a one-way interaction from a producer to a consumer, for example: mySystem.api -[calls]-> externalService 'Fetch user data'

Frequently Asked Questions about create-relationship

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

FAQPage Schema
How do I define one-way relationships in LikeC4 architecture models?

To define one-way relationships in LikeC4 architecture models, use typed arrow syntax like -[calls]-> or -[async]-> with fully qualified names targeting specific elements. This enforces clear data and control flow definitions, ensuring no unintended return paths exist.

What relationship kinds are supported for connecting elements in C4-like deployment files?

Supported relationship kinds for connecting elements in C4-like deployment files include calls, async, reads, and writes. These typed relationships require fully qualified names and descriptive labels to maintain clear system architecture and prevent anti-patterns.

How do I prevent return paths when connecting system architecture elements?

Prevent return paths when connecting system architecture elements by enforcing one-way, arrow-based relationship syntax with explicit relationship kinds. Prohibiting return relationships avoids anti-patterns, ensuring unidirectional data and control flow.

Does LikeC4 validation support async and synchronous calls in the same model?

LikeC4 validation supports both async and synchronous calls in the same model through distinct typed relationships. You can use -[async]-> and -[calls]-> syntax simultaneously to define clear control flow definitions across connected architecture elements.

What are common anti-patterns when modeling data and control flow in architecture diagrams?

Common anti-patterns when modeling data and control flow include creating unintended return relationships and omitting descriptive labels. Following guided examples with explicit relationship kinds and fully qualified names prevents these architectural diagram inconsistencies.