integration-design
Skill8 starsChanged 6 months agoMITView on GitHub
Create integration design documents for APIs, events, files, batches, messaging, orchestration, and system-to-system data flows. Use when the user asks to design, document, review, or update an integration, interface contract, integration flow, source-to-target exchange, API/event/file transfer, or operational integration behavior.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- gclm/super-stacktheir own version, first seen Mar 29, 2026
- mmondora/claude-skillstheir own version, first seen Feb 14, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- mmondora/claude-skills★ 1same name
- gclm/super-stack★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- architecture-decision-recordSkill
- assess-solutionSkill
- capability-overviewSkill
- check-readabilitySkill
- create-an-agentSkill
- create-a-skillSkill
- create-drawio-diagramSkill
- data-architecture-designSkill
- grill-meSkill
- problem-to-solutionSkill
- publish-to-confluenceSkill
- solution-architecture-designSkill
- target-architecture-documentSkill
- to-epicsSkill
- ubiquitous-languageSkill
- write-a-principleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
60 rules. About 0 are common, 31 are distinctive, and 29 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈31
Distinctive · estimate
This author's own choices. Worth a look.
29
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Use templates/integration-design-template.md as the output structure.
- Very specific: line 28
Start at int-0001. For new files, inspect existing integrations/int-*.md files, choose the next available 4-digit number, and preserve gaps …
- Distinctive: line 30
Do not write real-company integration details into this public toolkit repository.
- Distinctive: line 47
Ask which capability, target architecture, solution architecture design, epic, or ADR the integration supports.
- Distinctive: line 48
Ask for the source system, target system, business trigger, integration pattern, and business data involved when not already provided.
- Distinctive: line 49
Read related architecture documents when paths are provided.
- Distinctive: line 52
Create the folder if needed.
- Very specific: line 54
Use the next available 4-digit sequence number, starting with 0001.
- Very specific: line 59
Create or update the integration design from templates/integration-design-template.md.
- Very specific: line 62
After writing the ## Integration Overview table and description, create a visual integration diagram:
- Very specific: line 63
Use the create-drawio-diagram skill and its templates/integration-design.drawio template.
- Very specific: line 64
Create a diagrams/ subfolder in the same folder as the integration design document.
- Very specific: line 66
Use the same basename as the integration design Markdown file.
- Very specific: line 68
Do not add separate data-contract, payload, message, or file boxes to the diagram.
- Very specific: line 69
Do not add monitoring, reconciliation, run-status, failed-record, stale-index, alerting, dashboard, or support components to the diagram.
- Distinctive: line 71
Prefer vertical flow columns for direct layer-to-layer paths.
- Distinctive: line 72
Use horizontal placement for peer components, branches, alternatives, fan-out/fan-in paths, or same-layer handoffs, not for a simple linear …
- Distinctive: line 73
Use a left-biased component layout: start components near the left content margin and grow the canvas to the right as more components or …
- Distinctive: line 74
Leave enough horizontal room for labeled connectors: at least 160 px between connected component edges, or 220 px for longer connector …
- Distinctive: line 75
Treat the canvas and layer bands as flexible.
- Very specific: line 77
Run the create-drawio-diagram SVG sanitizer on the exported SVG so it uses color-scheme: light, has no light-dark(...) values, and includes …
- Very specific: line 79
Add ## Business Summary immediately after the diagram.
- Distinctive: line 81
Run the glossary compliance gate before finishing the integration design:
- Distinctive: line 84
Search the generated integration design Markdown for each avoided word or phrase.
- Distinctive: line 86
If no preferred term is available, rewrite the sentence in plain language or add an open question rather than leaving the avoided wording …
- Very specific: line 88
Run the check-readability skill before finishing:
- Distinctive: line 92
If the opening score is below 40, simplify the opening sections first rather than removing necessary technical detail from later sections.
- Very specific: line 93
Update <private-lab-root>/integrations/_integrations-overview.md with the integration identifier, name, status, description, and count of …
- Distinctive: line 101
Treat non-technical business stakeholders as the primary audience for the opening sections.
- Very specific: line 102
Keep the Purpose value in ## Integration Overview to one sentence under 25 words.
- Very specific: line 103
Add ## Business Summary immediately after the diagram.
- Distinctive: line 105
Use bullets or tables instead of long paragraphs for scope, failure behavior, open questions, and ownership.
- Distinctive: line 106
Keep opening-section paragraphs to 2-4 short sentences.
- Distinctive: line 107
Avoid sentences over 30 words in the opening sections.
- Distinctive: line 108
Put endpoint, schema, retry, idempotency, and monitoring detail in later sections.
- Very specific: line 110
Run the check-readability skill before finishing.
- Very specific: line 111
If the Flesch Reading Ease score is below 40 for the opening sections through ## Business Summary, simplify the opening sections first …
- Distinctive: line 117
Prefer concrete interface details over generic integration principles.
- Very specific: line 119
Start with the document metadata table, then the ## Integration Overview fact table.
- Very specific: line 120
Keep the ## Integration Overview fact table short and factual.
- Distinctive: line 121
Keep the first 1-2 pages business-readable: explain the outcome, operational change, failure impact, ownership, and open questions before …
- Very specific: line 123
Place every sample API payload in a fenced code block with javascript as the language tag, even when the payload is JSON-shaped, because …
- Distinctive: line 124
Call out source-of-truth and canonical data object ownership.
- Distinctive: line 125
Document idempotency, retries, ordering, dead-letter behavior, replay, timeout, and compensation where relevant.
- Distinctive: line 130
Keep relevant links bidirectional: if the integration design is linked from a target architecture, solution architecture design, or …
- Very specific: line 131
Use linked document names as relevant-link labels.
- Distinctive: line 152
When updating the overview:
- Very specific: line 155
Keep the overview metadata table at the top with Confluence Link and Last Update.
- Very specific: line 157
Use the int-0001 prefix from each integration filename as the identifier.
- Distinctive: line 158
Use the integration document title or integration name as the link label.
- Very specific: line 159
Use the Status value from the integration design's ## Integration Overview table.
- Distinctive: line 160
Use the integration overview/purpose as the description.
- Distinctive: line 162
Keep rows sorted by integration number.
- Very specific: line 163
Do not include _integrations-overview.md as an integration row.
- Distinctive: line 167
Keep real-company integration designs in a private company lab repository.
- Very specific: line 168
Write integration design files to <private-lab-root>/integrations/, not inside this public toolkit repository.
- Very specific: line 169
Always update <private-lab-root>/integrations/_integrations-overview.md after creating or updating an integration design.
- Very specific: line 170
Do not renumber existing int- files unless the user explicitly asks.
- Distinctive: line 171
Do not invent internal system names, endpoints, payload fields, credentials, keys, vendor-specific configuration, or non-public business …
- Distinctive: line 172
Use canonical glossary terms for business data objects and applications whenever possible.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Integration Design
Quick Start
Assume the Integration Architect Agent role from agents/integration-architect.md: clarify producers, consumers, business triggers, interface contracts, data ownership, integration pattern, operational behavior, security, failure handling, and support ownership.
Use templates/integration-design-template.md as the output structure. Replace placeholders and drafting guidance with concrete content; do not leave unanswered sections unless the unknown is explicitly marked as TBD or an open question.
Store generated integration designs under the consuming repository's private lab root in integrations/.
integrations/int-0001-<data-object>-from-<source>-to-<destination>.md
integrations/_integrations-overview.mdEach integration filename must start with int-, then a 4-digit sequence number, then the canonical data object, source, and destination:
int-0001-order-from-commerce-to-erp.md
int-0002-customer-from-crm-to-commerce.mdStart at int-0001. For new files, inspect existing integrations/int-*.md files, choose the next available 4-digit number, and preserve gaps unless the user explicitly asks to renumber.
Do not write real-company integration details into this public toolkit repository.
Required Inputs
- Integration name and business purpose
- Integration status, for example Proposed, In design, Approved, Implemented, or Deprecated
- Source system or producer
- Target system or consumer
- Main canonical data object
- Triggering event, process step, schedule, or user action
- Integration pattern: synchronous API, event-driven, batch, file transfer, messaging, or orchestration
- Payload, data object, schema, endpoint, topic, queue, file, or message contract
- Security, privacy, operational, and support constraints
- Failure handling, retry, idempotency, observability, and ownership expectations
Workflow
- Ask which capability, target architecture, solution architecture design, epic, or ADR the integration supports.
- Ask for the source system, target system, business trigger, integration pattern, and business data involved when not already provided.
- Read related architecture documents when paths are provided.
- Validate terminology against
<private-lab-root>/GLOSSARY.md. If important terms, applications, data objects, jargon, deprecated terms, or words to avoid are missing or ambiguous, use../ubiquitous-language/SKILL.mdto update the private lab glossary before writing the design. - Determine the output path under
<private-lab-root>/integrations/:- Create the folder if needed.
- Scan existing files matching
int-[0-9][0-9][0-9][0-9]-*.md. - Use the next available 4-digit sequence number, starting with
0001. - Derive
<data-object>from the canonical data object being exchanged. - Derive
<source>from the source system or producer. - Derive
<destination>from the target system or consumer. - Build the filename as
int-<4-digits>-<data-object>-from-<source>-to-<destination>.md.
- Create or update the integration design from
templates/integration-design-template.md. Preserve the two opening tables: the document metadata table first, followed by theIntegration Overviewtable. - Populate the top metadata table with document tracking values from the template.
- Populate the
## Integration Overviewtable with concise concrete values so agents can understand the integration status, purpose, source, destination, data object, trigger, pattern, and open-question count without reading the full document. KeepPurposeto one sentence under 25 words. - After writing the
## Integration Overviewtable and description, create a visual integration diagram:- Use the
create-drawio-diagramskill and itstemplates/integration-design.drawiotemplate. - Create a
diagrams/subfolder in the same folder as the integration design document. - Store the
.drawiofile and exported.svgfile in thatdiagrams/subfolder. - Use the same basename as the integration design Markdown file. For example,
int-0001-product-from-pim-to-commerce.md,diagrams/int-0001-product-from-pim-to-commerce.drawio, anddiagrams/int-0001-product-from-pim-to-commerce.svg. - Populate the diagram with the integration's confirmed source, destination, intermediate components, layer placement, application headers, and connector labels.
- Do not add separate data-contract, payload, message, or file boxes to the diagram. Capture detailed contract and payload information in the
## Contractsection instead. - Do not add monitoring, reconciliation, run-status, failed-record, stale-index, alerting, dashboard, or support components to the diagram. Capture those details in
## Security and Operationsinstead. - Route connectors on clear orthogonal lanes. No connector or connector label may overlap a component, application header, layer label, arrowhead, or another connector label.
- Prefer vertical flow columns for direct layer-to-layer paths. Place related components above and below each other and connect them top-to-bottom where space allows.
- Use horizontal placement for peer components, branches, alternatives, fan-out/fan-in paths, or same-layer handoffs, not for a simple linear layer-to-layer path.
- Use a left-biased component layout: start components near the left content margin and grow the canvas to the right as more components or connector lanes are needed.
- Leave enough horizontal room for labeled connectors: at least 160 px between connected component edges, or 220 px for longer connector labels.
- Treat the canvas and layer bands as flexible. If the diagram is crowded, increase canvas width or height, increase layer width or height, spread components apart, shorten connector labels, or add explicit Draw.io waypoints before exporting.
- Export the
.drawiofile to a same-basename.svg. - Run the create-drawio-diagram SVG sanitizer on the exported SVG so it uses
color-scheme: light, has nolight-dark(...)values, and includes a light background. - Embed the
.svgdirectly in## Integration Overviewusing the relative pathdiagrams/<same-basename>.svg.
- Use the
- Add
## Business Summaryimmediately after the diagram. Cover business outcome, operational impact, failure impact, and ownership before contract detail. - Populate
## Relevant Linkswith every confirmed related document, including capability overview, target architecture, solution architecture design, epic, ADR, or other integration designs. Use the linked document name as the Markdown link label. - Run the glossary compliance gate before finishing the integration design:
- Read
<private-lab-root>/GLOSSARY.md. - In the Glossary, find the
Jargonsection and its Avoid list. - Search the generated integration design Markdown for each avoided word or phrase.
- Replace avoided wording with the preferred glossary term when one is available.
- If no preferred term is available, rewrite the sentence in plain language or add an open question rather than leaving the avoided wording in the design.
- Repeat the search after edits until no avoided terms remain, except inside explicit glossary references or quoted source text.
- Run the
check-readabilityskill before finishing:
- Assess the full integration design and update the top-table
Readability Scorevalue. - Aim for a full-document Flesch Reading Ease score of 30 or higher.
- Assess the opening sections through
## Business Summaryseparately and aim for 40-50. - If the opening score is below 40, simplify the opening sections first rather than removing necessary technical detail from later sections.
- Update
<private-lab-root>/integrations/_integrations-overview.mdwith the integration identifier, name, status, description, and count of open questions in the integration design. - Capture unresolved facts as open questions rather than inventing payloads, endpoints, schemas, retry rules, owners, or service-level expectations.
- Link the integration design from the related target architecture, solution architecture design, capability overview, epic, or relevant links section when the related document exists and the user confirms the linkage. Whenever a link to the integration design is added to one of those documents, add the reciprocal link back to that document in the integration design's
## Relevant Linkssection.
Readability Requirements
For stakeholder-facing integration designs:
- Treat non-technical business stakeholders as the primary audience for the opening sections.
- Keep the
Purposevalue in## Integration Overviewto one sentence under 25 words. - Add
## Business Summaryimmediately after the diagram. - In
## Business Summary, explain business outcome, operational impact, failure impact, and ownership before contract detail. - Use bullets or tables instead of long paragraphs for scope, failure behavior, open questions, and ownership.
- Keep opening-section paragraphs to 2-4 short sentences.
- Avoid sentences over 30 words in the opening sections.
- Put endpoint, schema, retry, idempotency, and monitoring detail in later sections.
- Include clear failure and ownership subheadings, such as
### Failure Impactand### Ownership. - Run the
check-readabilityskill before finishing. - If the Flesch Reading Ease score is below 40 for the opening sections through
## Business Summary, simplify the opening sections first rather than removing necessary technical detail. - Aim for a full-document Flesch Reading Ease score of 30 or higher.
- Aim for an opening-section Flesch Reading Ease score of 40-50 through
## Business Summary.
Writing Guidance
- Prefer concrete interface details over generic integration principles.
- Enforce the Glossary
Jargonsection's Avoid list. Do not finish an integration design while avoided words or phrases remain in generated prose, headings, tables, diagram labels, or connector labels unless they are quoted source text or explicit glossary references. - Start with the document metadata table, then the
## Integration Overviewfact table. - Keep the
## Integration Overviewfact table short and factual. UseTBDfor unknown fields, and mirror unresolved items in## Open Questions. KeepPurposeshort enough to scan. - Keep the first 1-2 pages business-readable: explain the outcome, operational change, failure impact, ownership, and open questions before introducing endpoint, schema, retry, idempotency, or monitoring detail.
- Identify producer, consumer, owner, protocol, contract, trigger, frequency, payload, and versioning.
- Place every sample API payload in a fenced code block with
javascriptas the language tag, even when the payload is JSON-shaped, becausejavascriptblocks allow explanatory comments. Do not put sample payloads in Markdown tables,jsoncode blocks, or untyped code blocks. - Call out source-of-truth and canonical data object ownership.
- Document idempotency, retries, ordering, dead-letter behavior, replay, timeout, and compensation where relevant.
- Include observability details: logs, metrics, traces, alerts, dashboards, correlation IDs, and support ownership.
- Include security details: authentication, authorization, identity propagation, encryption, secrets, network trust boundary, audit logging, and data classification.
- Include an editable Draw.io integration diagram and a rendered same-basename SVG in every integration design. Store both files in a
diagrams/subfolder next to the integration design. The diagram should visually summarize the integration inside the## Integration Overviewsection, after the overview fact table and description, and should not replace the contract, quality, security, or operations detail. - Visually inspect the rendered SVG before embedding. If the SVG has a dark, black, transparent, or theme-inverted background, if the SVG source does not use
color-scheme: lightonly, or if the SVG source containslight-dark(...), re-export or sanitize it so it uses fixed explicit hex colors and a white/light page background. If connectors or connector labels overlap components, headers, labels, or arrowheads, if connectors cross through components, if labeled connectors are cramped, or if the diagram is unnecessarily centered with large unused left-side whitespace, revise the.drawiolayout and export again. - Keep relevant links bidirectional: if the integration design is linked from a target architecture, solution architecture design, or capability overview, also link that document from the integration design.
- Use linked document names as relevant-link labels. For local Markdown files, derive the name from the first
#heading; otherwise use the filename without extension. Do not use generic labels such as "Target architecture" when a document title is available. - Maintain
integrations/_integrations-overview.mdevery time an integration design is created or updated. The overview must list each integration file with its identifier, integration name, status, description, and count of open questions. - Mark unknown contract details as
TBDor open questions.
Integrations Overview
Maintain <private-lab-root>/integrations/_integrations-overview.md from templates/integrations-overview-template.md with this structure:
# Integrations Overview
| Field | Value |
| --- | --- |
| Confluence Link | {{CONFLUENCE_LINK}} |
| Last Update | {{LAST_UPDATE}} |
| Identifier | Integration | Status | Description | Open Questions |
| --- | --- | --- | --- | ---: |
| {{INTEGRATION_IDENTIFIER}} | [{{INTEGRATION_NAME}}](int-0001-{{DATA_OBJECT_SLUG}}-from-{{SOURCE_SLUG}}-to-{{DESTINATION_SLUG}}.md) | {{INTEGRATION_STATUS}} | {{INTEGRATION_DESCRIPTION}} | {{OPEN_QUESTIONS_COUNT}} |When updating the overview:
- Scan
integrations/int-*.mdso the overview represents every integration design file. - Keep the overview metadata table at the top with
Confluence LinkandLast Update. - Set
Last Updateto the current date inYYYY-MM-DDformat whenever the overview is regenerated. - Use the
int-0001prefix from each integration filename as the identifier. - Use the integration document title or integration name as the link label.
- Use the
Statusvalue from the integration design's## Integration Overviewtable. UseTBDwhen the field is absent or unknown. - Use the integration overview/purpose as the description.
- Count Markdown bullets in each integration document's
## Open Questionssection. Use0when the section is absent, empty, or explicitly says there are no open questions. - Keep rows sorted by integration number.
- Do not include
_integrations-overview.mdas an integration row.
Guardrails
- Keep real-company integration designs in a private company lab repository.
- Write integration design files to
<private-lab-root>/integrations/, not inside this public toolkit repository. - Always update
<private-lab-root>/integrations/_integrations-overview.mdafter creating or updating an integration design. - Do not renumber existing
int-files unless the user explicitly asks. - Do not invent internal system names, endpoints, payload fields, credentials, keys, vendor-specific configuration, or non-public business context.
- Use canonical glossary terms for business data objects and applications whenever possible.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

