team-api-design

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Team API Design Skill

Team API设计Skill

When to Use This Skill

何时使用该Skill

Use this skill when:
  • Team Api Design tasks - Working on define team interfaces, contracts, and communication boundaries
  • Planning or design - Need guidance on Team Api Design approaches
  • Best practices - Want to follow established patterns and standards
以下场景可使用该Skill:
  • Team API设计任务 - 负责定义团队接口、契约和沟通边界
  • 规划或设计阶段 - 需要Team API设计方法的指导
  • 最佳实践 - 希望遵循已确立的模式和标准

Overview

概述

Define clear team interfaces, contracts, and communication boundaries using Team API patterns.
利用Team API模式定义清晰的团队接口、契约和沟通边界。

MANDATORY: Documentation-First Approach

强制要求:文档优先方法

Before designing team APIs:
  1. Invoke
    docs-management
    skill
    for team interface patterns
  2. Verify Team API concepts via MCP servers (perplexity)
  3. Base guidance on Team Topologies team API framework
在设计团队API之前:
  1. 调用
    docs-management
    Skill
    获取团队接口模式
  2. 通过MCP服务器(perplexity)验证Team API概念
  3. 以Team Topologies团队API框架为指导基础

What is a Team API?

What is a Team API?

text
TEAM API: The explicit interface a team exposes to other teams

┌─────────────────────────────────────────────────────────────────┐
│                          TEAM API                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   Code &     │  │  Versioning  │  │  Service     │          │
│  │   Artifacts  │  │   & Releases │  │   Catalog    │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   Wiki &     │  │  Practices   │  │   Ways of    │          │
│  │   Docs       │  │   & Runbooks │  │   Working    │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   Chat &     │  │   Office     │  │   Support    │          │
│  │   Channels   │  │   Hours      │  │   Rotation   │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

PURPOSE: Make team interactions explicit, predictable, and sustainable
text
TEAM API: The explicit interface a team exposes to other teams

┌─────────────────────────────────────────────────────────────────┐
│                          TEAM API                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   Code &     │  │  Versioning  │  │  Service     │          │
│  │   Artifacts  │  │   & Releases │  │   Catalog    │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   Wiki &     │  │  Practices   │  │   Ways of    │          │
│  │   Docs       │  │   & Runbooks │  │   Working    │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │   Chat &     │  │   Office     │  │   Support    │          │
│  │   Channels   │  │   Hours      │  │   Rotation   │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

PURPOSE: Make team interactions explicit, predictable, and sustainable

Team API Components

Team API组件

1. Code and Artifacts

1. 代码与工件

text
TECHNICAL INTERFACE:

Repositories:
• Main repo location (URL)
• Contributing guidelines
• Code review expectations
• Branch naming conventions

APIs:
• OpenAPI/AsyncAPI specs
• Authentication requirements
• Rate limits and quotas
• Deprecation policy

Artifacts:
• Package registry location
• Container image registry
• Artifact versioning scheme
• Release notes location
text
TECHNICAL INTERFACE:

Repositories:
• Main repo location (URL)
• Contributing guidelines
• Code review expectations
• Branch naming conventions

APIs:
• OpenAPI/AsyncAPI specs
• Authentication requirements
• Rate limits and quotas
• Deprecation policy

Artifacts:
• Package registry location
• Container image registry
• Artifact versioning scheme
• Release notes location

2. Versioning and Releases

2. 版本控制与发布

text
RELEASE INTERFACE:

Versioning:
• Semantic versioning (MAJOR.MINOR.PATCH)
• Breaking change policy
• Deprecation timeline
• Migration guides

Release Schedule:
• Release cadence (weekly, bi-weekly, continuous)
• Release windows
• Hotfix process
• Rollback procedures

Compatibility:
• Supported versions
• EOL announcements
• Backward compatibility guarantees
• Forward compatibility approach
text
RELEASE INTERFACE:

Versioning:
• Semantic versioning (MAJOR.MINOR.PATCH)
• Breaking change policy
• Deprecation timeline
• Migration guides

Release Schedule:
• Release cadence (weekly, bi-weekly, continuous)
• Release windows
• Hotfix process
• Rollback procedures

Compatibility:
• Supported versions
• EOL announcements
• Backward compatibility guarantees
• Forward compatibility approach

3. Documentation

3. 文档

text
KNOWLEDGE INTERFACE:

Team Wiki:
• Team overview and mission
• Architecture decisions (ADRs)
• Design documents
• Onboarding guides

API Documentation:
• Getting started guides
• API reference
• Code examples
• FAQ and troubleshooting

Operational Docs:
• Runbooks
• Incident response procedures
• Monitoring dashboards
• Alert explanations
text
KNOWLEDGE INTERFACE:

Team Wiki:
• Team overview and mission
• Architecture decisions (ADRs)
• Design documents
• Onboarding guides

API Documentation:
• Getting started guides
• API reference
• Code examples
• FAQ and troubleshooting

Operational Docs:
• Runbooks
• Incident response procedures
• Monitoring dashboards
• Alert explanations

4. Communication Channels

4. 沟通渠道

text
COMMUNICATION INTERFACE:

Asynchronous:
• Primary Slack/Teams channel
• Announcements channel
• Bug/issue tracker
• Email distribution list

Synchronous:
• Office hours schedule
• On-call rotation
• Escalation path
• Meeting cadence

Response Times:
• Slack: 4 business hours
• Issues: 1 business day
• Urgent: 1 hour
• Incident: 15 minutes
text
COMMUNICATION INTERFACE:

Asynchronous:
• Primary Slack/Teams channel
• Announcements channel
• Bug/issue tracker
• Email distribution list

Synchronous:
• Office hours schedule
• On-call rotation
• Escalation path
• Meeting cadence

Response Times:
• Slack: 4 business hours
• Issues: 1 business day
• Urgent: 1 hour
• Incident: 15 minutes

5. Service Level Expectations

5. 服务级别预期

text
SERVICE INTERFACE:

Availability:
• Target uptime (99.9%)
• Maintenance windows
• Planned downtime notice period

Performance:
• Latency targets (p50, p99)
• Throughput limits
• Error rate targets

Support:
• Business hours support
• On-call availability
• Incident severity levels
• Resolution time targets
text
SERVICE INTERFACE:

Availability:
• Target uptime (99.9%)
• Maintenance windows
• Planned downtime notice period

Performance:
• Latency targets (p50, p99)
• Throughput limits
• Error rate targets

Support:
• Business hours support
• On-call availability
• Incident severity levels
• Resolution time targets

Team API Template

Team API模板

markdown
undefined
markdown
undefined

Team API: [Team Name]

Team API: [Team Name]

Team Overview

Team Overview

Mission: [One-sentence mission statement] Team Type: [Stream-aligned | Platform | Enabling | Complicated-Subsystem] Bounded Context: [Domain owned]
Mission: [One-sentence mission statement] Team Type: [Stream-aligned | Platform | Enabling | Complicated-Subsystem] Bounded Context: [Domain owned]

Team Members

Team Members

RoleNameContact
Tech Lead[Name]@handle
Product Owner[Name]@handle
Engineers[Names]@handles
RoleNameContact
Tech Lead[Name]@handle
Product Owner[Name]@handle
Engineers[Names]@handles

What We Own

What We Own

Services

Services

ServiceDescriptionRepository
[Name][Purpose][URL]
ServiceDescriptionRepository
[Name][Purpose][URL]

APIs

APIs

APISpecStatus
[Name][OpenAPI URL][Stable/Beta/Alpha]
APISpecStatus
[Name][OpenAPI URL][Stable/Beta/Alpha]

How to Contact Us

How to Contact Us

Asynchronous

Asynchronous

  • Slack: #team-[name]
  • Issues: [Jira/GitHub project URL]
  • Email: team-[name]@company.com
  • Slack: #team-[name]
  • Issues: [Jira/GitHub project URL]
  • Email: team-[name]@company.com

Synchronous

Synchronous

  • Office Hours: [Day/Time]
  • On-call: [PagerDuty URL or rotation]
  • Office Hours: [Day/Time]
  • On-call: [PagerDuty URL or rotation]

Response Times

Response Times

ChannelExpected Response
Slack4 business hours
Issues1 business day
Urgent Slack1 hour
Incidents15 minutes
ChannelExpected Response
Slack4 business hours
Issues1 business day
Urgent Slack1 hour
Incidents15 minutes

How to Work With Us

How to Work With Us

Requesting Changes

Requesting Changes

  1. Open an issue in [repository]
  2. Attend office hours to discuss
  3. Submit PR following [contributing guide]
  1. Open an issue in [repository]
  2. Attend office hours to discuss
  3. Submit PR following [contributing guide]

Consuming Our APIs

Consuming Our APIs

  1. Read [getting started guide]
  2. Request API credentials via [process]
  3. Follow [rate limiting guidelines]
  1. Read [getting started guide]
  2. Request API credentials via [process]
  3. Follow [rate limiting guidelines]

Escalation Path

Escalation Path

  1. Post in #team-[name]
  2. Page on-call if urgent
  3. Contact Tech Lead directly if blocked
  1. Post in #team-[name]
  2. Page on-call if urgent
  3. Contact Tech Lead directly if blocked

Service Level Expectations

Service Level Expectations

Availability

Availability

  • Target: 99.9% uptime
  • Maintenance Window: [Day/Time]
  • Notice Period: 48 hours for planned downtime
  • Target: 99.9% uptime
  • Maintenance Window: [Day/Time]
  • Notice Period: 48 hours for planned downtime

Performance

Performance

  • p50 Latency: [X]ms
  • p99 Latency: [X]ms
  • Error Rate: <0.1%
  • p50 Latency: [X]ms
  • p99 Latency: [X]ms
  • Error Rate: <0.1%

Support

Support

  • Business Hours: 9am-5pm [Timezone]
  • On-call Hours: 24/7 for P1/P2
  • Holiday Coverage: [Policy]
  • Business Hours: 9am-5pm [Timezone]
  • On-call Hours: 24/7 for P1/P2
  • Holiday Coverage: [Policy]

Versioning and Releases

Versioning and Releases

Release Cadence

Release Cadence

  • Frequency: [Weekly/Bi-weekly/Continuous]
  • Release Day: [Day]
  • Changelog: [Location]
  • Frequency: [Weekly/Bi-weekly/Continuous]
  • Release Day: [Day]
  • Changelog: [Location]

API Versioning

API Versioning

  • Strategy: [URL path | Header | Query param]
  • Breaking Change Notice: [X weeks]
  • Deprecation Period: [X months]
  • Strategy: [URL path | Header | Query param]
  • Breaking Change Notice: [X weeks]
  • Deprecation Period: [X months]

Currently Supported Versions

Currently Supported Versions

VersionStatusEOL Date
v3CurrentN/A
v2Maintenance[Date]
v1Deprecated[Date]
VersionStatusEOL Date
v3CurrentN/A
v2Maintenance[Date]
v1Deprecated[Date]

Documentation

Documentation

For Users

For Users

  • [Getting Started Guide]
  • [API Reference]
  • [Code Examples]
  • [FAQ]
  • [Getting Started Guide]
  • [API Reference]
  • [Code Examples]
  • [FAQ]

For Contributors

For Contributors

  • [Contributing Guidelines]
  • [Architecture Overview]
  • [Development Setup]
  • [Testing Guide]
  • [Contributing Guidelines]
  • [Architecture Overview]
  • [Development Setup]
  • [Testing Guide]

Operational

Operational

  • [Runbooks]
  • [Monitoring Dashboard]
  • [Incident Response]
  • [Runbooks]
  • [Monitoring Dashboard]
  • [Incident Response]

Dependencies

Dependencies

What We Depend On

What We Depend On

Team/ServiceTypeCriticality
[Name][API/Library/Data][High/Medium/Low]
Team/ServiceTypeCriticality
[Name][API/Library/Data][High/Medium/Low]

What Depends On Us

What Depends On Us

Team/ServiceInterfaceUsage
[Name][API/Event/Library][Description]
Team/ServiceInterfaceUsage
[Name][API/Event/Library][Description]

Roadmap

Roadmap

Current Quarter

Current Quarter

  • [Initiative 1]
  • [Initiative 2]
  • [Initiative 1]
  • [Initiative 2]

Next Quarter

Next Quarter

  • [Planned work]
  • [Planned work]

Known Limitations

Known Limitations

  • [Limitation 1]
  • [Limitation 2]
undefined
  • [Limitation 1]
  • [Limitation 2]
undefined

Team API Governance

Team API治理

Creating a Team API

创建Team API

text
TEAM API CREATION PROCESS:

1. DRAFT
   □ Use template above
   □ Fill in all sections
   □ Get team consensus

2. REVIEW
   □ Review with stakeholders
   □ Validate with consumers
   □ Check completeness

3. PUBLISH
   □ Store in team wiki/repo
   □ Register in service catalog
   □ Announce to organization

4. MAINTAIN
   □ Review quarterly
   □ Update on changes
   □ Gather feedback
text
TEAM API CREATION PROCESS:

1. DRAFT
   □ Use template above
   □ Fill in all sections
   □ Get team consensus

2. REVIEW
   □ Review with stakeholders
   □ Validate with consumers
   □ Check completeness

3. PUBLISH
   □ Store in team wiki/repo
   □ Register in service catalog
   □ Announce to organization

4. MAINTAIN
   □ Review quarterly
   □ Update on changes
   □ Gather feedback

Team API Maturity Levels

Team API成熟度等级

text
MATURITY MODEL:

LEVEL 1: BASIC
□ Team contact information exists
□ Primary service documented
□ Basic Slack channel

LEVEL 2: DEFINED
□ Full team API document
□ Response time expectations
□ Versioning policy defined
□ Basic SLEs documented

LEVEL 3: MEASURED
□ SLEs tracked and reported
□ Consumer feedback collected
□ Dependencies mapped
□ Regular API reviews

LEVEL 4: OPTIMIZED
□ Team API continuously improved
□ Automation for API updates
□ Consumer satisfaction tracked
□ Industry best practices adopted
text
MATURITY MODEL:

LEVEL 1: BASIC
□ Team contact information exists
□ Primary service documented
□ Basic Slack channel

LEVEL 2: DEFINED
□ Full team API document
□ Response time expectations
□ Versioning policy defined
□ Basic SLEs documented

LEVEL 3: MEASURED
□ SLEs tracked and reported
□ Consumer feedback collected
□ Dependencies mapped
□ Regular API reviews

LEVEL 4: OPTIMIZED
□ Team API continuously improved
□ Automation for API updates
□ Consumer satisfaction tracked
□ Industry best practices adopted

Platform Team API Example

平台团队API示例

markdown
undefined
markdown
undefined

Platform Team API: Developer Platform

Platform Team API: Developer Platform

Mission

Mission

Enable stream-aligned teams to deliver software faster through self-service infrastructure and golden paths.
Enable stream-aligned teams to deliver software faster through self-service infrastructure and golden paths.

Team Type: Platform

Team Type: Platform

What We Provide

What We Provide

Self-Service Capabilities

Self-Service Capabilities

CapabilityInterfaceDocs
Container DeploymentCLI/Portal[Link]
Database ProvisioningTerraform Module[Link]
CI/CD PipelineTemplate[Link]
Secrets ManagementVault API[Link]
CapabilityInterfaceDocs
Container DeploymentCLI/Portal[Link]
Database ProvisioningTerraform Module[Link]
CI/CD PipelineTemplate[Link]
Secrets ManagementVault API[Link]

Golden Paths

Golden Paths

PathUse CaseGuide
Web ServiceStandard web APIs[Link]
Event ConsumerKafka consumers[Link]
Scheduled JobBatch processing[Link]
PathUse CaseGuide
Web ServiceStandard web APIs[Link]
Event ConsumerKafka consumers[Link]
Scheduled JobBatch processing[Link]

Interaction Model

Interaction Model

X-as-a-Service (Default)

X-as-a-Service (Default)

  • Use our self-service capabilities
  • Follow golden path documentation
  • Submit issues for problems
  • Attend office hours for questions
  • Use our self-service capabilities
  • Follow golden path documentation
  • Submit issues for problems
  • Attend office hours for questions

Collaboration (By Request)

Collaboration (By Request)

  • Available for complex migrations
  • Custom platform needs
  • Time-boxed engagements
  • Requires PM approval
  • Available for complex migrations
  • Custom platform needs
  • Time-boxed engagements
  • Requires PM approval

Office Hours

Office Hours

  • When: Tuesdays 2-3pm, Thursdays 10-11am
  • Where: #platform-office-hours Slack huddle
  • What: Q&A, demos, troubleshooting
  • When: Tuesdays 2-3pm, Thursdays 10-11am
  • Where: #platform-office-hours Slack huddle
  • What: Q&A, demos, troubleshooting

Support Tiers

Support Tiers

TierResponseExample
P1 - Production Down15 minPlatform unavailable
P2 - Degraded1 hourSlow deployments
P3 - Blocked4 hoursCan't provision resource
P4 - Question1 dayHow to configure X
undefined
TierResponseExample
P1 - Production Down15 minPlatform unavailable
P2 - Degraded1 hourSlow deployments
P3 - Blocked4 hoursCan't provision resource
P4 - Question1 dayHow to configure X
undefined

Stream-Aligned Team API Example

流对齐团队API示例

markdown
undefined
markdown
undefined

Team API: Payments Team

Team API: Payments Team

Mission

Mission

Process payments reliably and securely for all commerce streams.
Process payments reliably and securely for all commerce streams.

Team Type: Stream-Aligned

Team Type: Stream-Aligned

Bounded Context: Payment Processing

Bounded Context: Payment Processing

What We Own

What We Own

Services

Services

ServicePurposeSLE
Payment GatewayProcess payments99.95% uptime
Refund ServiceHandle refunds99.9% uptime
Fraud DetectionReal-time fraudp99 < 50ms
ServicePurposeSLE
Payment GatewayProcess payments99.95% uptime
Refund ServiceHandle refunds99.9% uptime
Fraud DetectionReal-time fraudp99 < 50ms

APIs

APIs

APIDescriptionSpec
/paymentsCreate/query payments[OpenAPI]
/refundsProcess refunds[OpenAPI]
APIDescriptionSpec
/paymentsCreate/query payments[OpenAPI]
/refundsProcess refunds[OpenAPI]

Events Published

Events Published

EventTopicSchema
PaymentCompletedpayments.completed[Avro]
RefundProcessedpayments.refunds[Avro]
EventTopicSchema
PaymentCompletedpayments.completed[Avro]
RefundProcessedpayments.refunds[Avro]

How to Integrate

How to Integrate

For Payment Processing

For Payment Processing

  1. Read [integration guide]
  2. Request sandbox credentials
  3. Complete security review
  4. Go-live checklist
  1. Read [integration guide]
  2. Request sandbox credentials
  3. Complete security review
  4. Go-live checklist

For Consuming Events

For Consuming Events

  1. Subscribe to Kafka topic
  2. Implement idempotent handler
  3. Set up DLQ handling
  4. Monitor consumer lag
  1. Subscribe to Kafka topic
  2. Implement idempotent handler
  3. Set up DLQ handling
  4. Monitor consumer lag

Constraints

Constraints

  • PCI Compliance: All integrations require security review
  • Rate Limits: 1000 req/sec per client
  • Data Retention: 7 years for transactions
undefined
  • PCI Compliance: All integrations require security review
  • Rate Limits: 1000 req/sec per client
  • Data Retention: 7 years for transactions
undefined

Assessment Checklist

评估检查表

text
TEAM API HEALTH CHECK:

DISCOVERABILITY
□ Team API document exists and is findable
□ Registered in service catalog
□ Links work and content is current

COMPLETENESS
□ All sections filled in
□ Contact information accurate
□ Dependencies documented
□ SLEs defined

CLARITY
□ Non-team members can understand
□ No jargon or undefined terms
□ Clear call-to-action for consumers
□ Examples provided

MAINTENANCE
□ Last updated within 3 months
□ Regular review scheduled
□ Feedback mechanism exists
□ Ownership clearly assigned

EFFECTIVENESS
□ Consumers find what they need
□ Response times being met
□ Fewer repeated questions
□ Team satisfaction with API
text
TEAM API HEALTH CHECK:

DISCOVERABILITY
□ Team API document exists and is findable
□ Registered in service catalog
□ Links work and content is current

COMPLETENESS
□ All sections filled in
□ Contact information accurate
□ Dependencies documented
□ SLEs defined

CLARITY
□ Non-team members can understand
□ No jargon or undefined terms
□ Clear call-to-action for consumers
□ Examples provided

MAINTENANCE
□ Last updated within 3 months
□ Regular review scheduled
□ Feedback mechanism exists
□ Ownership clearly assigned

EFFECTIVENESS
□ Consumers find what they need
□ Response times being met
□ Fewer repeated questions
□ Team satisfaction with API

Workflow

工作流程

When designing team APIs:
  1. Audit Current State: What exists today? What's implicit?
  2. Identify Consumers: Who interacts with the team?
  3. Document Interface: Use template, fill completely
  4. Validate with Consumers: Does this meet their needs?
  5. Publish and Announce: Make it discoverable
  6. Measure and Iterate: Track effectiveness, improve
设计Team API时:
  1. 审计当前状态:现有哪些内容?哪些是隐含的?
  2. 识别消费者:谁与该团队交互?
  3. 记录接口:使用模板,完整填写内容
  4. 与消费者验证:是否满足他们的需求?
  5. 发布并公告:确保可被发现
  6. 衡量与迭代:跟踪有效性,持续改进

References

参考资料

For detailed guidance:

Last Updated: 2025-12-26
如需详细指导:

Last Updated: 2025-12-26