team-api-design
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTeam 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:
- Invoke skill for team interface patterns
docs-management - Verify Team API concepts via MCP servers (perplexity)
- Base guidance on Team Topologies team API framework
在设计团队API之前:
- 调用Skill 获取团队接口模式
docs-management - 通过MCP服务器(perplexity)验证Team API概念
- 以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 sustainabletext
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 sustainableTeam 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 locationtext
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 location2. 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 approachtext
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 approach3. 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 explanationstext
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 explanations4. 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 minutestext
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 minutes5. 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 targetstext
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 targetsTeam API Template
Team API模板
markdown
undefinedmarkdown
undefinedTeam 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
| Role | Name | Contact |
|---|---|---|
| Tech Lead | [Name] | @handle |
| Product Owner | [Name] | @handle |
| Engineers | [Names] | @handles |
| Role | Name | Contact |
|---|---|---|
| Tech Lead | [Name] | @handle |
| Product Owner | [Name] | @handle |
| Engineers | [Names] | @handles |
What We Own
What We Own
Services
Services
| Service | Description | Repository |
|---|---|---|
| [Name] | [Purpose] | [URL] |
| Service | Description | Repository |
|---|---|---|
| [Name] | [Purpose] | [URL] |
APIs
APIs
| API | Spec | Status |
|---|---|---|
| [Name] | [OpenAPI URL] | [Stable/Beta/Alpha] |
| API | Spec | Status |
|---|---|---|
| [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
| Channel | Expected Response |
|---|---|
| Slack | 4 business hours |
| Issues | 1 business day |
| Urgent Slack | 1 hour |
| Incidents | 15 minutes |
| Channel | Expected Response |
|---|---|
| Slack | 4 business hours |
| Issues | 1 business day |
| Urgent Slack | 1 hour |
| Incidents | 15 minutes |
How to Work With Us
How to Work With Us
Requesting Changes
Requesting Changes
- Open an issue in [repository]
- Attend office hours to discuss
- Submit PR following [contributing guide]
- Open an issue in [repository]
- Attend office hours to discuss
- Submit PR following [contributing guide]
Consuming Our APIs
Consuming Our APIs
- Read [getting started guide]
- Request API credentials via [process]
- Follow [rate limiting guidelines]
- Read [getting started guide]
- Request API credentials via [process]
- Follow [rate limiting guidelines]
Escalation Path
Escalation Path
- Post in #team-[name]
- Page on-call if urgent
- Contact Tech Lead directly if blocked
- Post in #team-[name]
- Page on-call if urgent
- 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
| Version | Status | EOL Date |
|---|---|---|
| v3 | Current | N/A |
| v2 | Maintenance | [Date] |
| v1 | Deprecated | [Date] |
| Version | Status | EOL Date |
|---|---|---|
| v3 | Current | N/A |
| v2 | Maintenance | [Date] |
| v1 | Deprecated | [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/Service | Type | Criticality |
|---|---|---|
| [Name] | [API/Library/Data] | [High/Medium/Low] |
| Team/Service | Type | Criticality |
|---|---|---|
| [Name] | [API/Library/Data] | [High/Medium/Low] |
What Depends On Us
What Depends On Us
| Team/Service | Interface | Usage |
|---|---|---|
| [Name] | [API/Event/Library] | [Description] |
| Team/Service | Interface | Usage |
|---|---|---|
| [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]
undefinedTeam 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 feedbacktext
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 feedbackTeam 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 adoptedtext
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 adoptedPlatform Team API Example
平台团队API示例
markdown
undefinedmarkdown
undefinedPlatform 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
| Capability | Interface | Docs |
|---|---|---|
| Container Deployment | CLI/Portal | [Link] |
| Database Provisioning | Terraform Module | [Link] |
| CI/CD Pipeline | Template | [Link] |
| Secrets Management | Vault API | [Link] |
| Capability | Interface | Docs |
|---|---|---|
| Container Deployment | CLI/Portal | [Link] |
| Database Provisioning | Terraform Module | [Link] |
| CI/CD Pipeline | Template | [Link] |
| Secrets Management | Vault API | [Link] |
Golden Paths
Golden Paths
| Path | Use Case | Guide |
|---|---|---|
| Web Service | Standard web APIs | [Link] |
| Event Consumer | Kafka consumers | [Link] |
| Scheduled Job | Batch processing | [Link] |
| Path | Use Case | Guide |
|---|---|---|
| Web Service | Standard web APIs | [Link] |
| Event Consumer | Kafka consumers | [Link] |
| Scheduled Job | Batch 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
| Tier | Response | Example |
|---|---|---|
| P1 - Production Down | 15 min | Platform unavailable |
| P2 - Degraded | 1 hour | Slow deployments |
| P3 - Blocked | 4 hours | Can't provision resource |
| P4 - Question | 1 day | How to configure X |
undefined| Tier | Response | Example |
|---|---|---|
| P1 - Production Down | 15 min | Platform unavailable |
| P2 - Degraded | 1 hour | Slow deployments |
| P3 - Blocked | 4 hours | Can't provision resource |
| P4 - Question | 1 day | How to configure X |
undefinedStream-Aligned Team API Example
流对齐团队API示例
markdown
undefinedmarkdown
undefinedTeam 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
| Service | Purpose | SLE |
|---|---|---|
| Payment Gateway | Process payments | 99.95% uptime |
| Refund Service | Handle refunds | 99.9% uptime |
| Fraud Detection | Real-time fraud | p99 < 50ms |
| Service | Purpose | SLE |
|---|---|---|
| Payment Gateway | Process payments | 99.95% uptime |
| Refund Service | Handle refunds | 99.9% uptime |
| Fraud Detection | Real-time fraud | p99 < 50ms |
APIs
APIs
| API | Description | Spec |
|---|---|---|
| /payments | Create/query payments | [OpenAPI] |
| /refunds | Process refunds | [OpenAPI] |
| API | Description | Spec |
|---|---|---|
| /payments | Create/query payments | [OpenAPI] |
| /refunds | Process refunds | [OpenAPI] |
Events Published
Events Published
| Event | Topic | Schema |
|---|---|---|
| PaymentCompleted | payments.completed | [Avro] |
| RefundProcessed | payments.refunds | [Avro] |
| Event | Topic | Schema |
|---|---|---|
| PaymentCompleted | payments.completed | [Avro] |
| RefundProcessed | payments.refunds | [Avro] |
How to Integrate
How to Integrate
For Payment Processing
For Payment Processing
- Read [integration guide]
- Request sandbox credentials
- Complete security review
- Go-live checklist
- Read [integration guide]
- Request sandbox credentials
- Complete security review
- Go-live checklist
For Consuming Events
For Consuming Events
- Subscribe to Kafka topic
- Implement idempotent handler
- Set up DLQ handling
- Monitor consumer lag
- Subscribe to Kafka topic
- Implement idempotent handler
- Set up DLQ handling
- 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
undefinedAssessment 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 APItext
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 APIWorkflow
工作流程
When designing team APIs:
- Audit Current State: What exists today? What's implicit?
- Identify Consumers: Who interacts with the team?
- Document Interface: Use template, fill completely
- Validate with Consumers: Does this meet their needs?
- Publish and Announce: Make it discoverable
- Measure and Iterate: Track effectiveness, improve
设计Team API时:
- 审计当前状态:现有哪些内容?哪些是隐含的?
- 识别消费者:谁与该团队交互?
- 记录接口:使用模板,完整填写内容
- 与消费者验证:是否满足他们的需求?
- 发布并公告:确保可被发现
- 衡量与迭代:跟踪有效性,持续改进
References
参考资料
For detailed guidance:
Last Updated: 2025-12-26
如需详细指导:
Last Updated: 2025-12-26