スキル一覧に戻る
AVRA-CADAVRA

business-partnership-patterns

by AVRA-CADAVRA

0🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: business-partnership-patterns description: Guides business partnership implementation: multi-party events, revenue sharing, vibe matching, pre-event agreements. Use when implementing partnerships, event collaborations, or revenue sharing features.

Business Partnership Patterns

Core Components

Partnership Matching Service

Matches users with businesses based on compatibility.

Partnership Service

Manages partnership agreements and revenue splits.

Revenue Split Calculator

Calculates revenue sharing for multi-party events.

Partnership Matching

/// Calculate compatibility between user and business
Future<double> calculateCompatibility({
  required String userId,
  required String businessId,
  ExpertiseEvent? event,
}) async {
  // Try quantum matching first (if enabled)
  if (_quantumIntegrationService != null && event != null) {
    final quantumResult = await _quantumIntegrationService!
        .calculateUserBusinessCompatibility(
      user: await _getUser(userId),
      business: await _getBusiness(businessId),
      event: event,
    );
    
    if (quantumResult != null) {
      // Hybrid approach: 70% quantum, 30% classical
      final classicalCompatibility = await _calculateClassicalCompatibility(
        userId: userId,
        businessId: businessId,
      );
      
      final hybridScore = 0.7 * quantumResult.compatibility +
                          0.3 * classicalCompatibility;
      
      return hybridScore.clamp(0.0, 1.0);
    }
  }
  
  // Fall back to classical vibe-based matching
  return await _calculateClassicalCompatibility(
    userId: userId,
    businessId: businessId,
  );
}

Multi-Party Events

/// Create multi-party event partnership
Future<Partnership> createMultiPartyPartnership({
  required Event event,
  required List<Partner> partners,
  required RevenueSplitAgreement agreement,
}) async {
  // Validate 70%+ compatibility requirement
  for (final partner in partners) {
    final compatibility = await calculateCompatibility(
      userId: partner.userId,
      businessId: event.businessId,
      event: event,
    );
    
    if (compatibility < 0.70) {
      throw PartnershipException(
        'Compatibility below 70% threshold: ${compatibility.toStringAsFixed(2)}',
      );
    }
  }
  
  // Create partnership with pre-event agreement
  final partnership = Partnership(
    id: generateId(),
    eventId: event.id,
    partners: partners,
    revenueSplit: agreement,
    status: PartnershipStatus.active,
    createdAt: DateTime.now(),
  );
  
  // Lock revenue splits before event starts
  await _partnershipService.lockRevenueSplits(partnership);
  
  return partnership;
}

Revenue Split Calculation

/// Calculate revenue split for multi-party partnership
Future<RevenueSplit> calculateRevenueSplit({
  required Partnership partnership,
  required double totalRevenue,
}) async {
  final splits = <RevenueShare>[];
  
  // Split among partners based on agreement
  for (final partner in partnership.partners) {
    final shareAmount = totalRevenue * partner.revenuePercentage;
    splits.add(RevenueShare(
      partnerId: partner.id,
      amount: shareAmount,
      percentage: partner.revenuePercentage,
    ));
  }
  
  // Platform fee (10%)
  final platformFee = totalRevenue * 0.10;
  splits.add(RevenueShare(
    partnerId: 'platform',
    amount: platformFee,
    percentage: 0.10,
  ));
  
  return RevenueSplit(
    totalRevenue: totalRevenue,
    platformFee: platformFee,
    partnerSplits: splits,
  );
}

Vibe Matching

/// Calculate vibe-based compatibility (classical method)
Future<double> calculateClassicalCompatibility({
  required String userId,
  required String businessId,
}) async {
  final user = await _getUser(userId);
  final business = await _getBusiness(businessId);
  
  // Calculate compatibility factors
  final valueAlignment = _calculateValueAlignment(user.vibe, business.vibe);
  final qualityFocus = _calculateQualityFocus(user.vibe, business.vibe);
  final communityOrientation = _calculateCommunityOrientation(user.vibe, business.vibe);
  final eventStyleMatch = _calculateEventStyleMatch(user.preferences, business.eventStyle);
  final authenticityMatch = _calculateAuthenticityMatch(user.vibe, business.vibe);
  
  // Weighted combination
  final compatibility = (
    valueAlignment * 0.25 +
    qualityFocus * 0.25 +
    communityOrientation * 0.20 +
    eventStyleMatch * 0.20 +
    authenticityMatch * 0.10
  );
  
  return compatibility.clamp(0.0, 1.0);
}

Reference

  • lib/core/services/partnership_matching_service.dart
  • lib/core/services/business_expert_matching_service.dart
  • docs/plans/monetization_business_expertise/

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です