symmetric-dogfooding_skill

This skill enables symmetric dogfooding by validating two repos against each other before release, ensuring compatibility and reducing integration surprises.
  • TypeScript

14

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill terrylica/cc-skills --skill symmetric-dogfooding

  • SKILL.md9.5 KB

Overview

This skill implements symmetric dogfooding: bidirectional integration validation where two repositories each consume and test the other before release. It ensures producer/consumer contracts remain compatible by running real, cross-repo integration tests, pinning dependency versions, and automating pre-release checks. The goal is to catch integration regressions early and coordinate breaking changes across repos.

How this skill works

The skill maps the integration surface (exports and imports for both repos), configures cross-repo dev dependencies pinned to tags or SHAs, and adds integration test suites in each repository that import the partner repo. Validation tasks run the bidirectional tests so Repo A validates with real outputs from Repo B and vice versa. Pre-release tasks run symmetric validation and enforce version pin updates or coordinated releases when necessary.

When to use it

  • Two repositories have a producer/consumer relationship and must stay compatible
  • APIs or data formats evolve independently and need coordinated validation
  • You want to verify integration with production-like data instead of mocks
  • Both repos are actively developed and frequent releases occur
  • You need a repeatable pre-release validation workflow across teams

Best practices

  • Pin partner repo dev-dependencies to tags or commit SHAs; never use main/master
  • Use real imports and production-like data in integration tests, not stubs
  • Add symmetric validation tasks to CI and a single command for pre-release
  • Document the integration surface (schemas, signatures, edge cases) and keep it up to date
  • Coordinate breaking changes with a documented pre-release protocol and version matrix

Example use cases

  • A library and its downstream service validate each release bidirectionally to prevent schema drift
  • Two microservices that exchange typed messages run cross-repo tests to verify serialization round-trips
  • A SDK and a backend repo run mutual validation before publishing a new SDK version
  • Parallel feature branches are tested across repos by pinning to branch-specific commits
  • Coordinated breaking change requiring simultaneous releases across repos

FAQ

Always pin to an explicit tag or commit SHA. Avoid main/master to prevent unstable, changing inputs during validation.

How do I avoid circular dependency problems?

Use optional or dev-only dependencies for validation imports so the runtime package graph stays acyclic while tests can import the partner repo.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
symmetric-dogfooding skill by terrylica/cc-skills | VeilStrat