Install
$ agentstack add skill-future-cx-ai-architecture-toolkit-integration-design ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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--from--to-.md
integrations/_integrations-overview.md
Each 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.md
Start 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
/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
/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 `` from the canonical data object being exchanged.
- Derive `` from the source system or producer.
- Derive `` from the target system or consumer.
- Build the filename as
int---from--to-.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/.svg.
- 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
/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
/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 /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
/integrations/, not inside this public toolkit repository. - Always update
/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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Future-CX
- Source: Future-CX/AI-Architecture-Toolkit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.