implementation-strategy

Plan compatibility boundaries for runtime and API changes before editing code.

Updated Dec 6, 2016
One-click install
npx skills add https://github.com/majunbao/learn --skill implementation-strategy-majunbao
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: implementation-strategy
Source: https://github.com/majunbao/learn/tree/main/openai-agents-python_tags/openai-agents-python-0.14.6/.agents/skills/implementation-strategy
Command: npx skills add https://github.com/majunbao/learn --skill implementation-strategy-majunbao

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Use this skill before editing code when the task changes runtime behavior or anything that might look like a compatibility concern. The goal is to keep implementations simple while protecting real released contracts.

Core Features & Use Cases

  • Identify the surface you are changing: released public API, unreleased branch-local API, internal helper, persisted schema, wire protocol, CLI/config/env surface, or docs/examples only.
  • Determine the latest release boundary from origin first, and only fall back to local tags when remote tags are unavailable: BASE_TAG from origin should guide compatibility decisions and avoid churn on unreleased work.
  • Judge breaking-change risk against that latest release tag, not against unreleased branch churn or post-tag changes already on main, and note if the result may be stale if local tags are used.
  • Prefer the simplest implementation that satisfies the current task, and update callers, tests, docs, and examples directly instead of preserving superseded unreleased interfaces.
  • Add a compatibility layer only when there is a concrete released consumer, an otherwise supported durable external state boundary that requires it, or when the user explicitly asks for a migration path.

Quick Start

Identify the surface you are changing, determine the latest release boundary, assess breaking-change risk, and implement the simplest compatible solution with updated tests/docs.

Frequently Asked Questions about implementation-strategy

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

FAQPage Schema
How do I plan API compatibility boundaries before editing code?

To plan API compatibility boundaries, identify the surface you are changing, determine the latest release boundary from origin, and assess breaking-change risk against that tag before implementing the simplest compatible solution.

When do I need a compatibility shim for runtime behavior changes?

You need a compatibility shim for runtime behavior changes only when there is a concrete released consumer, a durable external state boundary that requires it, or when explicitly asked to provide a migration path.

How should I evaluate breaking-change risk for unreleased branch-local API?

Evaluate breaking-change risk for unreleased branch-local API by judging it against the latest release tag from origin, not against unreleased branch churn or post-tag changes already on main.

What is the best way to handle migration for persisted schema and wire protocol changes?

The best way to handle migration for persisted schema and wire protocol changes is to prefer the simplest implementation that satisfies the task, updating callers, tests, docs, and examples directly instead of preserving superseded interfaces.

Why does my local tag compatibility boundary evaluation result in stale risk assessments?

Local tag compatibility boundary evaluation results in stale risk assessments because you should determine the latest release boundary from origin first, only falling back to local tags when remote tags are unavailable.

Should I update CLI config env surfaces and documentation when changing released public API?

Yes, when changing released public API, you should update CLI config env surfaces and documentation directly as part of implementing the minimal, compatible solution to ensure all callers and examples reflect the new boundary.