{"id":"06873a27-80de-4a88-839b-133445bf0684","slug":"clawhub-skills-alirezarezvani-migration-architect","name":"migration-architect","description":"Migration Architect","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-alirezarezvani-migration-architect","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/alirezarezvani/migration-architect","homepage":null,"source":"CLAWHUB","vendor":{"slug":"openclaw","label":"Openclaw","url":"https://github.com/openclaw/skills/tree/main/skills/alirezarezvani/migration-architect"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-02-25T05:59:30.055Z","freshnessLabel":"Feb 25, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Feb 25, 2026"},{"label":"Vendor","value":"Openclaw"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Openclaw","href":"https://github.com/openclaw/skills/tree/main/skills/alirezarezvani/migration-architect","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/alirezarezvani/migration-architect","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T00:45:39.800Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alirezarezvani-migration-architect/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alirezarezvani-migration-architect/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-15T00:45:39.800Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alirezarezvani-migration-architect/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alirezarezvani-migration-architect/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"migration-architect","description":"Migration Architect","source":"CLAWHUB","sourceId":"clawhub:skills:alirezarezvani:migration-architect","repository":"https://github.com/openclaw/skills/tree/main/skills/alirezarezvani/migration-architect","documentation":"https://www.xpersona.co/agent/clawhub-skills-alirezarezvani-migration-architect","protocols":["OPENCLEW"],"languages":["typescript"],"examples":[{"kind":"example","language":"mermaid","snippet":"graph TD\n    A[Client Requests] --> B[API Gateway]\n    B --> C{Route Decision}\n    C -->|Legacy Path| D[Legacy Service]\n    C -->|New Path| E[New Service]\n    D --> F[Legacy Database]\n    E --> G[New Database]"},{"kind":"example","language":"python","snippet":"# Example feature flag implementation\nclass MigrationFeatureFlag:\n    def __init__(self, flag_name, rollout_percentage=0):\n        self.flag_name = flag_name\n        self.rollout_percentage = rollout_percentage\n    \n    def is_enabled_for_user(self, user_id):\n        hash_value = hash(f\"{self.flag_name}:{user_id}\")\n        return (hash_value % 100) < self.rollout_percentage\n    \n    def gradual_rollout(self, target_percentage, step_size=10):\n        while self.rollout_percentage < target_percentage:\n            self.rollout_percentage = min(\n                self.rollout_percentage + step_size,\n                target_percentage\n            )\n            yield self.rollout_percentage"}]}}