Imported from YuriyDurov/ChatGPT-Extensions (
skills/api-design/SKILL.md). Install upstream withnpx skills add YuriyDurov/ChatGPT-Extensions --skill api-design. Copyright stays with the author.
{short API name/description, 1-3 words} design {iteration number, e.g. 1, 2, etc.}
API design
For every change, include:
-
File: {file-name}
-
For a modification to an existing file, show a
🔴 **Before**block followed immediately by a🟢 **After**block. -
For a standalone removal, show a
🔴 **Remove**block. -
For a standalone addition, show a
🟢 **Add**block.
{description of the change, 2-10 words}
For every code block:
- For code organized into types or members, include the nearest containing type or member signature in both blocks as an inline comment.
- For changes within a method, make sure both the method and type signatures can be inferred from the snippet.
- For files without types or members, include the nearest useful structural context, such as a heading, function, table, or key.
- Use an ordinary language-specific fence.
- Include only enough unchanged content to locate and understand the affected change.
- Do not use inline diff markers, they don't work properly in this environment.
Briefly explain the reasoning behind this API design decision unless it is obvious from the snippets or was previously discussed via chat or in a design doc.
Guidelines
- Remove, Add, Before and After blocks compare current repository content with proposed repository content—not one conversational design with another.
- Do not include changes to project reference in API design proposals unless prompted otherwise.
- Do not repeat the same change multiple times in the same proposal unless necessary when explicitly explaining the reasoning behind the change.
