{"id":"6b025977-ac21-4f30-8575-fb45e2f1cb6d","entityType":"agent","slug":"clawhub-datadrivenconstruction-rvt-to-ifc","name":"Rvt To Ifc","canonicalUrl":"https://www.xpersona.co/agent/clawhub-datadrivenconstruction-rvt-to-ifc","canonicalPath":"/agent/clawhub-datadrivenconstruction-rvt-to-ifc","generatedAt":"2026-10-11T14:15:19.699Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T11:26:47.612Z","emptyReason":null},"description":"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings. Skill: Rvt To Ifc Owner: datadrivenconstruction Summary: Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings. Tags: latest:2.0.0 Version history: v2.0.0 | 2026-02-13T16:34:44.753Z | auto Major update with new export options, batch processing, and Python integration. - Added support for IFC2x3, IFC4, and IFC4.3 export versions with customizable settings. - No Autodesk licens","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1774mv3t1cm8r1kgs9hccdnmn8852nb:rvt-to-ifc","sourceUrl":"https://clawhub.ai/datadrivenconstruction/rvt-to-ifc","homepage":"https://clawhub.ai/datadrivenconstruction/skills/rvt-to-ifc","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/datadrivenconstruction/rvt-to-ifc","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/datadrivenconstruction/skills/rvt-to-ifc","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings. Skill: Rvt To Ifc Owner: datadrivenconstruction Summary: Conver"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:26:47.612Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:26:47.612Z","emptyReason":null},"stars":null,"forks":null,"downloads":1077,"packageName":null,"latestVersion":"2.0.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:26:47.536Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T11:26:47.612Z","lastCrawledAt":"2026-10-11T11:26:47.536Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T11:26:47.536Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.0","createdAt":"2026-02-13T16:34:44.753Z","changelog":"Major update with new export options, batch processing, and Python integration. - Added support for IFC2x3, IFC4, and IFC4.3 export versions with customizable settings. - No Autodesk license required; conversion runs fully offline. - Batch processing for automatic conversion of multiple RVT files. - Standardized export presets (standard, extended, custom) and detailed CLI usage documentation. - Python API for automation, config generation, batch conversion, and basic IFC file validation. - Introduced IFC export quality checker and validation utilities.","fileCount":4,"zipByteSize":4882},{"version":"1.0.0","createdAt":"2026-02-07T14:34:26.400Z","changelog":"RVT To IFC 1.0.0 - Initial release providing offline conversion of RVT (Revit) files to IFC format. - Supports multiple IFC versions: IFC2x3, IFC4, and IFC4.3. - Allows customizable export settings and presets (standard, extended, custom). - Enables batch processing of multiple files for streamlined workflows. - Includes Python integration for advanced automation and validation.","fileCount":2,"zipByteSize":3662}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1774mv3t1cm8r1kgs9hccdnmn8852nb:rvt-to-ifc","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:15:19.698Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-datadrivenconstruction-rvt-to-ifc/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T11:26:47.612Z","emptyReason":null},"readme":"Skill: Rvt To Ifc\n\nOwner: datadrivenconstruction\n\nSummary: Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings.\n\nTags: latest:2.0.0\n\nVersion history:\n\nv2.0.0 | 2026-02-13T16:34:44.753Z | auto\n\nMajor update with new export options, batch processing, and Python integration.\n\n- Added support for IFC2x3, IFC4, and IFC4.3 export versions with customizable settings.\n- No Autodesk license required; conversion runs fully offline.\n- Batch processing for automatic conversion of multiple RVT files.\n- Standardized export presets (standard, extended, custom) and detailed CLI usage documentation.\n- Python API for automation, config generation, batch conversion, and basic IFC file validation.\n- Introduced IFC export quality checker and validation utilities.\n\nv1.0.0 | 2026-02-07T14:34:26.400Z | auto\n\nRVT To IFC 1.0.0\n\n- Initial release providing offline conversion of RVT (Revit) files to IFC format.\n- Supports multiple IFC versions: IFC2x3, IFC4, and IFC4.3.\n- Allows customizable export settings and presets (standard, extended, custom).\n- Enables batch processing of multiple files for streamlined workflows.\n- Includes Python integration for advanced automation and validation.\n\nArchive index:\n\nArchive v2.0.0: 4 files, 4882 bytes\n\nFiles: claw.json (456b), instructions.md (1367b), SKILL.md (10358b), _meta.json (129b)\n\nFile v2.0.0:SKILL.md\n\n---\r\nname: \"rvt-to-ifc\"\r\ndescription: \"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings.\"\r\n---\r\n\r\n# RVT to IFC Conversion\r\n\r\n> **Note:** RVT is the file format. IFC is an open standard by buildingSMART International.\r\n\r\n## Business Case\r\n\r\n### Problem Statement\r\nIFC is the open BIM standard for interoperability, but:\r\n- Native Revit IFC export requires Autodesk license\r\n- Export settings significantly affect data quality\r\n- Batch processing is manual and time-consuming\r\n\r\n### Solution\r\nRVT2IFCconverter.exe converts Revit files to IFC offline, without licenses, with full control over export settings.\r\n\r\n### Business Value\r\n- **No license required** - Works without Autodesk software\r\n- **Multiple IFC versions** - IFC2x3, IFC4, IFC4.3 support\r\n- **Batch processing** - Convert thousands of files\r\n- **Consistent quality** - Standardized export settings\r\n\r\n## Technical Implementation\r\n\r\n### CLI Syntax\r\n```bash\r\nRVT2IFCconverter.exe <input.rvt> [<output.ifc>] [preset=<name>] [config=\"...\"]\r\n```\r\n\r\n### IFC Versions\r\n| Version | Use Case |\r\n|---------|----------|\r\n| IFC2x3 | Legacy compatibility, most software |\r\n| IFC4 | Enhanced properties, modern BIM |\r\n| IFC4.3 | Infrastructure, latest standard |\r\n\r\n### Export Presets\r\n| Preset | Description |\r\n|--------|-------------|\r\n| `standard` | Default balanced export |\r\n| `extended` | Maximum detail and properties |\r\n| `custom` | User-defined configuration |\r\n\r\n### Examples\r\n\r\n```bash\r\n# Standard IFC export\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\"\r\n\r\n# IFC4 with extended settings\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" preset=extended\r\n\r\n# Custom output path\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" \"D:\\Export\\model.ifc\"\r\n\r\n# Custom configuration\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" config=\"ExportBaseQuantities=true; SitePlacement=Shared\"\r\n```\r\n\r\n### Python Integration\r\n\r\n```python\r\nimport subprocess\r\nfrom pathlib import Path\r\nfrom typing import List, Optional, Dict, Any\r\nfrom dataclasses import dataclass\r\nfrom enum import Enum\r\n\r\n\r\nclass IFCVersion(Enum):\r\n    \"\"\"IFC schema versions.\"\"\"\r\n    IFC2X3 = \"IFC2x3\"\r\n    IFC4 = \"IFC4\"\r\n    IFC4X3 = \"IFC4x3\"\r\n\r\n\r\nclass ExportPreset(Enum):\r\n    \"\"\"Export presets.\"\"\"\r\n    STANDARD = \"standard\"\r\n    EXTENDED = \"extended\"\r\n    CUSTOM = \"custom\"\r\n\r\n\r\n@dataclass\r\nclass IFCExportConfig:\r\n    \"\"\"IFC export configuration.\"\"\"\r\n    ifc_version: IFCVersion = IFCVersion.IFC4\r\n    export_base_quantities: bool = True\r\n    site_placement: str = \"Shared\"\r\n    split_walls_and_columns: bool = False\r\n    include_steel_elements: bool = True\r\n    export_2d_elements: bool = False\r\n    export_linked_files: bool = False\r\n    export_rooms: bool = True\r\n    export_schedules: bool = True\r\n\r\n    def to_config_string(self) -> str:\r\n        \"\"\"Convert to CLI config string.\"\"\"\r\n        parts = [\r\n            f\"ExportBaseQuantities={str(self.export_base_quantities).lower()}\",\r\n            f\"SitePlacement={self.site_placement}\",\r\n            f\"SplitWallsAndColumns={str(self.split_walls_and_columns).lower()}\",\r\n            f\"IncludeSteelElements={str(self.include_steel_elements).lower()}\",\r\n            f\"Export2DElements={str(self.export_2d_elements).lower()}\",\r\n            f\"ExportLinkedFiles={str(self.export_linked_files).lower()}\",\r\n            f\"ExportRooms={str(self.export_rooms).lower()}\"\r\n        ]\r\n        return \"; \".join(parts)\r\n\r\n\r\nclass RevitToIFCConverter:\r\n    \"\"\"Convert Revit files to IFC format.\"\"\"\r\n\r\n    def __init__(self, converter_path: str = \"RVT2IFCconverter.exe\"):\r\n        self.converter = Path(converter_path)\r\n        if not self.converter.exists():\r\n            raise FileNotFoundError(f\"Converter not found: {converter_path}\")\r\n\r\n    def convert(self, rvt_file: str,\r\n                output_path: Optional[str] = None,\r\n                preset: ExportPreset = ExportPreset.STANDARD,\r\n                config: Optional[IFCExportConfig] = None) -> Path:\r\n        \"\"\"Convert Revit file to IFC.\"\"\"\r\n\r\n        rvt_path = Path(rvt_file)\r\n        if not rvt_path.exists():\r\n            raise FileNotFoundError(f\"Revit file not found: {rvt_file}\")\r\n\r\n        # Build command\r\n        cmd = [str(self.converter), str(rvt_path)]\r\n\r\n        # Add output path if specified\r\n        if output_path:\r\n            cmd.append(output_path)\r\n\r\n        # Add preset\r\n        cmd.append(f\"preset={preset.value}\")\r\n\r\n        # Add custom config if provided\r\n        if config:\r\n            cmd.append(f'config=\"{config.to_config_string()}\"')\r\n\r\n        # Execute\r\n        result = subprocess.run(cmd, capture_output=True, text=True)\r\n\r\n        if result.returncode != 0:\r\n            raise RuntimeError(f\"Conversion failed: {result.stderr}\")\r\n\r\n        # Return output path\r\n        if output_path:\r\n            return Path(output_path)\r\n        return rvt_path.with_suffix('.ifc')\r\n\r\n    def batch_convert(self, folder: str,\r\n                      output_folder: Optional[str] = None,\r\n                      preset: ExportPreset = ExportPreset.STANDARD,\r\n                      config: Optional[IFCExportConfig] = None) -> List[Dict[str, Any]]:\r\n        \"\"\"Convert all Revit files in folder.\"\"\"\r\n\r\n        folder_path = Path(folder)\r\n        results = []\r\n\r\n        for rvt_file in folder_path.glob(\"**/*.rvt\"):\r\n            try:\r\n                # Determine output path\r\n                if output_folder:\r\n                    out_dir = Path(output_folder)\r\n                    out_dir.mkdir(parents=True, exist_ok=True)\r\n                    output_path = str(out_dir / rvt_file.with_suffix('.ifc').name)\r\n                else:\r\n                    output_path = None\r\n\r\n                ifc_path = self.convert(str(rvt_file), output_path, preset, config)\r\n                results.append({\r\n                    'input': str(rvt_file),\r\n                    'output': str(ifc_path),\r\n                    'status': 'success'\r\n                })\r\n                print(f\"✓ Converted: {rvt_file.name}\")\r\n\r\n            except Exception as e:\r\n                results.append({\r\n                    'input': str(rvt_file),\r\n                    'output': None,\r\n                    'status': 'failed',\r\n                    'error': str(e)\r\n                })\r\n                print(f\"✗ Failed: {rvt_file.name} - {e}\")\r\n\r\n        return results\r\n\r\n    def validate_output(self, ifc_file: str) -> Dict[str, Any]:\r\n        \"\"\"Basic validation of generated IFC.\"\"\"\r\n\r\n        ifc_path = Path(ifc_file)\r\n        if not ifc_path.exists():\r\n            return {'valid': False, 'error': 'File not found'}\r\n\r\n        # Basic file checks\r\n        file_size = ifc_path.stat().st_size\r\n\r\n        if file_size < 1000:\r\n            return {'valid': False, 'error': 'File too small'}\r\n\r\n        # Read header\r\n        with open(ifc_file, 'r', errors='ignore') as f:\r\n            header = f.read(1000)\r\n\r\n        # Check IFC format\r\n        if 'ISO-10303-21' not in header:\r\n            return {'valid': False, 'error': 'Not a valid IFC file'}\r\n\r\n        # Detect version\r\n        version = 'Unknown'\r\n        if 'IFC4X3' in header:\r\n            version = 'IFC4.3'\r\n        elif 'IFC4' in header:\r\n            version = 'IFC4'\r\n        elif 'IFC2X3' in header:\r\n            version = 'IFC2x3'\r\n\r\n        return {\r\n            'valid': True,\r\n            'file_size': file_size,\r\n            'ifc_version': version\r\n        }\r\n\r\n\r\nclass IFCQualityChecker:\r\n    \"\"\"Check quality of IFC exports.\"\"\"\r\n\r\n    def __init__(self, converter: RevitToIFCConverter):\r\n        self.converter = converter\r\n\r\n    def compare_presets(self, rvt_file: str) -> Dict[str, Any]:\r\n        \"\"\"Compare different export presets.\"\"\"\r\n\r\n        results = {}\r\n\r\n        for preset in [ExportPreset.STANDARD, ExportPreset.EXTENDED]:\r\n            try:\r\n                output = Path(rvt_file).with_suffix(f'.{preset.value}.ifc')\r\n                self.converter.convert(rvt_file, str(output), preset)\r\n\r\n                validation = self.converter.validate_output(str(output))\r\n                results[preset.value] = {\r\n                    'file_size': validation.get('file_size', 0),\r\n                    'valid': validation.get('valid', False)\r\n                }\r\n            except Exception as e:\r\n                results[preset.value] = {'error': str(e)}\r\n\r\n        return results\r\n\r\n\r\n# Convenience functions\r\ndef convert_revit_to_ifc(rvt_file: str,\r\n                         converter_path: str = \"RVT2IFCconverter.exe\") -> str:\r\n    \"\"\"Quick conversion of Revit to IFC.\"\"\"\r\n    converter = RevitToIFCConverter(converter_path)\r\n    output = converter.convert(rvt_file)\r\n    return str(output)\r\n\r\n\r\ndef batch_convert_to_ifc(folder: str,\r\n                         converter_path: str = \"RVT2IFCconverter.exe\") -> List[str]:\r\n    \"\"\"Batch convert all Revit files to IFC.\"\"\"\r\n    converter = RevitToIFCConverter(converter_path)\r\n    results = converter.batch_convert(folder)\r\n    return [r['output'] for r in results if r['status'] == 'success']\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\n# Initialize converter\r\nconverter = RevitToIFCConverter(\"C:/DDC/RVT2IFCconverter.exe\")\r\n\r\n# Basic conversion\r\nifc = converter.convert(\"building.rvt\")\r\nprint(f\"Created: {ifc}\")\r\n\r\n# With custom config\r\nconfig = IFCExportConfig(\r\n    ifc_version=IFCVersion.IFC4,\r\n    export_base_quantities=True,\r\n    export_rooms=True\r\n)\r\nifc = converter.convert(\"building.rvt\", preset=ExportPreset.CUSTOM, config=config)\r\n```\r\n\r\n## Common Use Cases\r\n\r\n### 1. Batch Processing\r\n```python\r\nconverter = RevitToIFCConverter()\r\nresults = converter.batch_convert(\r\n    folder=\"C:/Projects\",\r\n    output_folder=\"C:/IFC_Export\",\r\n    preset=ExportPreset.EXTENDED\r\n)\r\nprint(f\"Converted {len([r for r in results if r['status'] == 'success'])} files\")\r\n```\r\n\r\n### 2. Quality Check\r\n```python\r\nvalidation = converter.validate_output(\"model.ifc\")\r\nprint(f\"Valid: {validation['valid']}, Version: {validation['ifc_version']}\")\r\n```\r\n\r\n### 3. Compare Presets\r\n```python\r\nchecker = IFCQualityChecker(converter)\r\ncomparison = checker.compare_presets(\"building.rvt\")\r\nprint(comparison)\r\n```\r\n\r\n## Resources\r\n\r\n- **GitHub**: [cad2data Pipeline](https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto)\r\n- **buildingSMART IFC**: https://www.buildingsmart.org/standards/bsi-standards/industry-foundation-classes/\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn75fhjxn1jz5xbgd9ggj0nrtd80q1dz\",\n  \"slug\": \"rvt-to-ifc\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1771000484753\n}\n\nFile v2.0.0:instructions.md\n\nYou are a BIM interoperability assistant. You help users convert Autodesk Revit (RVT) files to the open IFC standard for cross-platform BIM collaboration.\n\nWhen the user asks to convert Revit to IFC:\n1. Verify input RVT file path\n2. Select target IFC schema: IFC2x3 (most compatible), IFC4 (recommended), IFC4.3 (latest)\n3. Configure export settings (coordinate system, property mapping, geometry detail)\n4. Run conversion and validate the output IFC file\n5. Report: element count, file size, any conversion warnings\n\nWhen the user asks about IFC export settings:\n1. Explain schema differences (IFC2x3 vs IFC4 vs IFC4.3)\n2. Help map Revit parameters to IFC property sets\n3. Configure coordinate system (project, shared, survey point)\n4. Set geometry export level (triangulated, BREP, parametric)\n\n## Input Format\n- Revit file path (.rvt)\n- Target IFC schema version (default: IFC4)\n- Optional: export configuration (categories, coordinate base, LOD)\n\n## Output Format\n- IFC file at specified output path\n- Conversion report: elements exported, warnings, file size\n- Validation summary (optional IFC syntax check)\n\n## Constraints\n- Filesystem permission required for reading RVT and writing IFC\n- DDC RvtToIfc converter or Revit CLI used for conversion\n- subprocess.run() is used solely for invoking the conversion tool\n- No Revit GUI required — headless conversion\n\nFile v2.0.0:claw.json\n\n{\n  \"name\": \"rvt-to-ifc\",\n  \"version\": \"2.0.0\",\n  \"description\": \"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings.\",\n  \"author\": \"datadrivenconstruction\",\n  \"license\": \"MIT\",\n  \"permissions\": [\"filesystem\"],\n  \"entry\": \"instructions.md\",\n  \"tags\": [\"construction\", \"BIM\", \"Revit\", \"IFC\", \"openBIM\", \"data-conversion\", \"interoperability\"],\n  \"models\": [\"claude-*\", \"gpt-*\"],\n  \"minOpenClawVersion\": \"0.8.0\"\n}\n\nArchive v1.0.0: 2 files, 3662 bytes\n\nFiles: SKILL.md (10386b), _meta.json (129b)\n\nFile v1.0.0:SKILL.md\n\n---\r\nslug: \"rvt-to-ifc\"\r\ndisplay_name: \"RVT To IFC\"\r\ndescription: \"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings.\"\r\n---\r\n\r\n# RVT to IFC Conversion\r\n\r\n> **Note:** RVT is the file format. IFC is an open standard by buildingSMART International.\r\n\r\n## Business Case\r\n\r\n### Problem Statement\r\nIFC is the open BIM standard for interoperability, but:\r\n- Native Revit IFC export requires Autodesk license\r\n- Export settings significantly affect data quality\r\n- Batch processing is manual and time-consuming\r\n\r\n### Solution\r\nRVT2IFCconverter.exe converts Revit files to IFC offline, without licenses, with full control over export settings.\r\n\r\n### Business Value\r\n- **No license required** - Works without Autodesk software\r\n- **Multiple IFC versions** - IFC2x3, IFC4, IFC4.3 support\r\n- **Batch processing** - Convert thousands of files\r\n- **Consistent quality** - Standardized export settings\r\n\r\n## Technical Implementation\r\n\r\n### CLI Syntax\r\n```bash\r\nRVT2IFCconverter.exe <input.rvt> [<output.ifc>] [preset=<name>] [config=\"...\"]\r\n```\r\n\r\n### IFC Versions\r\n| Version | Use Case |\r\n|---------|----------|\r\n| IFC2x3 | Legacy compatibility, most software |\r\n| IFC4 | Enhanced properties, modern BIM |\r\n| IFC4.3 | Infrastructure, latest standard |\r\n\r\n### Export Presets\r\n| Preset | Description |\r\n|--------|-------------|\r\n| `standard` | Default balanced export |\r\n| `extended` | Maximum detail and properties |\r\n| `custom` | User-defined configuration |\r\n\r\n### Examples\r\n\r\n```bash\r\n# Standard IFC export\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\"\r\n\r\n# IFC4 with extended settings\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" preset=extended\r\n\r\n# Custom output path\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" \"D:\\Export\\model.ifc\"\r\n\r\n# Custom configuration\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" config=\"ExportBaseQuantities=true; SitePlacement=Shared\"\r\n```\r\n\r\n### Python Integration\r\n\r\n```python\r\nimport subprocess\r\nfrom pathlib import Path\r\nfrom typing import List, Optional, Dict, Any\r\nfrom dataclasses import dataclass\r\nfrom enum import Enum\r\n\r\n\r\nclass IFCVersion(Enum):\r\n    \"\"\"IFC schema versions.\"\"\"\r\n    IFC2X3 = \"IFC2x3\"\r\n    IFC4 = \"IFC4\"\r\n    IFC4X3 = \"IFC4x3\"\r\n\r\n\r\nclass ExportPreset(Enum):\r\n    \"\"\"Export presets.\"\"\"\r\n    STANDARD = \"standard\"\r\n    EXTENDED = \"extended\"\r\n    CUSTOM = \"custom\"\r\n\r\n\r\n@dataclass\r\nclass IFCExportConfig:\r\n    \"\"\"IFC export configuration.\"\"\"\r\n    ifc_version: IFCVersion = IFCVersion.IFC4\r\n    export_base_quantities: bool = True\r\n    site_placement: str = \"Shared\"\r\n    split_walls_and_columns: bool = False\r\n    include_steel_elements: bool = True\r\n    export_2d_elements: bool = False\r\n    export_linked_files: bool = False\r\n    export_rooms: bool = True\r\n    export_schedules: bool = True\r\n\r\n    def to_config_string(self) -> str:\r\n        \"\"\"Convert to CLI config string.\"\"\"\r\n        parts = [\r\n            f\"ExportBaseQuantities={str(self.export_base_quantities).lower()}\",\r\n            f\"SitePlacement={self.site_placement}\",\r\n            f\"SplitWallsAndColumns={str(self.split_walls_and_columns).lower()}\",\r\n            f\"IncludeSteelElements={str(self.include_steel_elements).lower()}\",\r\n            f\"Export2DElements={str(self.export_2d_elements).lower()}\",\r\n            f\"ExportLinkedFiles={str(self.export_linked_files).lower()}\",\r\n            f\"ExportRooms={str(self.export_rooms).lower()}\"\r\n        ]\r\n        return \"; \".join(parts)\r\n\r\n\r\nclass RevitToIFCConverter:\r\n    \"\"\"Convert Revit files to IFC format.\"\"\"\r\n\r\n    def __init__(self, converter_path: str = \"RVT2IFCconverter.exe\"):\r\n        self.converter = Path(converter_path)\r\n        if not self.converter.exists():\r\n            raise FileNotFoundError(f\"Converter not found: {converter_path}\")\r\n\r\n    def convert(self, rvt_file: str,\r\n                output_path: Optional[str] = None,\r\n                preset: ExportPreset = ExportPreset.STANDARD,\r\n                config: Optional[IFCExportConfig] = None) -> Path:\r\n        \"\"\"Convert Revit file to IFC.\"\"\"\r\n\r\n        rvt_path = Path(rvt_file)\r\n        if not rvt_path.exists():\r\n            raise FileNotFoundError(f\"Revit file not found: {rvt_file}\")\r\n\r\n        # Build command\r\n        cmd = [str(self.converter), str(rvt_path)]\r\n\r\n        # Add output path if specified\r\n        if output_path:\r\n            cmd.append(output_path)\r\n\r\n        # Add preset\r\n        cmd.append(f\"preset={preset.value}\")\r\n\r\n        # Add custom config if provided\r\n        if config:\r\n            cmd.append(f'config=\"{config.to_config_string()}\"')\r\n\r\n        # Execute\r\n        result = subprocess.run(cmd, capture_output=True, text=True)\r\n\r\n        if result.returncode != 0:\r\n            raise RuntimeError(f\"Conversion failed: {result.stderr}\")\r\n\r\n        # Return output path\r\n        if output_path:\r\n            return Path(output_path)\r\n        return rvt_path.with_suffix('.ifc')\r\n\r\n    def batch_convert(self, folder: str,\r\n                      output_folder: Optional[str] = None,\r\n                      preset: ExportPreset = ExportPreset.STANDARD,\r\n                      config: Optional[IFCExportConfig] = None) -> List[Dict[str, Any]]:\r\n        \"\"\"Convert all Revit files in folder.\"\"\"\r\n\r\n        folder_path = Path(folder)\r\n        results = []\r\n\r\n        for rvt_file in folder_path.glob(\"**/*.rvt\"):\r\n            try:\r\n                # Determine output path\r\n                if output_folder:\r\n                    out_dir = Path(output_folder)\r\n                    out_dir.mkdir(parents=True, exist_ok=True)\r\n                    output_path = str(out_dir / rvt_file.with_suffix('.ifc').name)\r\n                else:\r\n                    output_path = None\r\n\r\n                ifc_path = self.convert(str(rvt_file), output_path, preset, config)\r\n                results.append({\r\n                    'input': str(rvt_file),\r\n                    'output': str(ifc_path),\r\n                    'status': 'success'\r\n                })\r\n                print(f\"✓ Converted: {rvt_file.name}\")\r\n\r\n            except Exception as e:\r\n                results.append({\r\n                    'input': str(rvt_file),\r\n                    'output': None,\r\n                    'status': 'failed',\r\n                    'error': str(e)\r\n                })\r\n                print(f\"✗ Failed: {rvt_file.name} - {e}\")\r\n\r\n        return results\r\n\r\n    def validate_output(self, ifc_file: str) -> Dict[str, Any]:\r\n        \"\"\"Basic validation of generated IFC.\"\"\"\r\n\r\n        ifc_path = Path(ifc_file)\r\n        if not ifc_path.exists():\r\n            return {'valid': False, 'error': 'File not found'}\r\n\r\n        # Basic file checks\r\n        file_size = ifc_path.stat().st_size\r\n\r\n        if file_size < 1000:\r\n            return {'valid': False, 'error': 'File too small'}\r\n\r\n        # Read header\r\n        with open(ifc_file, 'r', errors='ignore') as f:\r\n            header = f.read(1000)\r\n\r\n        # Check IFC format\r\n        if 'ISO-10303-21' not in header:\r\n            return {'valid': False, 'error': 'Not a valid IFC file'}\r\n\r\n        # Detect version\r\n        version = 'Unknown'\r\n        if 'IFC4X3' in header:\r\n            version = 'IFC4.3'\r\n        elif 'IFC4' in header:\r\n            version = 'IFC4'\r\n        elif 'IFC2X3' in header:\r\n            version = 'IFC2x3'\r\n\r\n        return {\r\n            'valid': True,\r\n            'file_size': file_size,\r\n            'ifc_version': version\r\n        }\r\n\r\n\r\nclass IFCQualityChecker:\r\n    \"\"\"Check quality of IFC exports.\"\"\"\r\n\r\n    def __init__(self, converter: RevitToIFCConverter):\r\n        self.converter = converter\r\n\r\n    def compare_presets(self, rvt_file: str) -> Dict[str, Any]:\r\n        \"\"\"Compare different export presets.\"\"\"\r\n\r\n        results = {}\r\n\r\n        for preset in [ExportPreset.STANDARD, ExportPreset.EXTENDED]:\r\n            try:\r\n                output = Path(rvt_file).with_suffix(f'.{preset.value}.ifc')\r\n                self.converter.convert(rvt_file, str(output), preset)\r\n\r\n                validation = self.converter.validate_output(str(output))\r\n                results[preset.value] = {\r\n                    'file_size': validation.get('file_size', 0),\r\n                    'valid': validation.get('valid', False)\r\n                }\r\n            except Exception as e:\r\n                results[preset.value] = {'error': str(e)}\r\n\r\n        return results\r\n\r\n\r\n# Convenience functions\r\ndef convert_revit_to_ifc(rvt_file: str,\r\n                         converter_path: str = \"RVT2IFCconverter.exe\") -> str:\r\n    \"\"\"Quick conversion of Revit to IFC.\"\"\"\r\n    converter = RevitToIFCConverter(converter_path)\r\n    output = converter.convert(rvt_file)\r\n    return str(output)\r\n\r\n\r\ndef batch_convert_to_ifc(folder: str,\r\n                         converter_path: str = \"RVT2IFCconverter.exe\") -> List[str]:\r\n    \"\"\"Batch convert all Revit files to IFC.\"\"\"\r\n    converter = RevitToIFCConverter(converter_path)\r\n    results = converter.batch_convert(folder)\r\n    return [r['output'] for r in results if r['status'] == 'success']\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\n# Initialize converter\r\nconverter = RevitToIFCConverter(\"C:/DDC/RVT2IFCconverter.exe\")\r\n\r\n# Basic conversion\r\nifc = converter.convert(\"building.rvt\")\r\nprint(f\"Created: {ifc}\")\r\n\r\n# With custom config\r\nconfig = IFCExportConfig(\r\n    ifc_version=IFCVersion.IFC4,\r\n    export_base_quantities=True,\r\n    export_rooms=True\r\n)\r\nifc = converter.convert(\"building.rvt\", preset=ExportPreset.CUSTOM, config=config)\r\n```\r\n\r\n## Common Use Cases\r\n\r\n### 1. Batch Processing\r\n```python\r\nconverter = RevitToIFCConverter()\r\nresults = converter.batch_convert(\r\n    folder=\"C:/Projects\",\r\n    output_folder=\"C:/IFC_Export\",\r\n    preset=ExportPreset.EXTENDED\r\n)\r\nprint(f\"Converted {len([r for r in results if r['status'] == 'success'])} files\")\r\n```\r\n\r\n### 2. Quality Check\r\n```python\r\nvalidation = converter.validate_output(\"model.ifc\")\r\nprint(f\"Valid: {validation['valid']}, Version: {validation['ifc_version']}\")\r\n```\r\n\r\n### 3. Compare Presets\r\n```python\r\nchecker = IFCQualityChecker(converter)\r\ncomparison = checker.compare_presets(\"building.rvt\")\r\nprint(comparison)\r\n```\r\n\r\n## Resources\r\n\r\n- **GitHub**: [cad2data Pipeline](https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto)\r\n- **buildingSMART IFC**: https://www.buildingsmart.org/standards/bsi-standards/industry-foundation-classes/\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn75fhjxn1jz5xbgd9ggj0nrtd80q1dz\",\n  \"slug\": \"rvt-to-ifc\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1770474866400\n}","readmeExcerpt":"Skill: Rvt To Ifc Owner: datadrivenconstruction Summary: Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings. Tags: latest:2.0.0 Version history: v2.0.0 | 2026-02-13T16:34:44.753Z | auto Major update with new export options, batch processing, and Python integration. - Added support for IFC2x3, IFC4, and IFC4.3 export versions with customizable settings. - No Autodesk licens","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: \"rvt-to-ifc\"\r\ndescription: \"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings.\"\r\n---\r\n\r\n# RVT to IFC Conversion\r\n\r\n> **Note:** RVT is the file format. IFC is an open standard by buildingSMART International.\r\n\r\n## Business Case\r\n\r\n### Problem Statement\r\nIFC is the open BIM standard for interoperability, but:\r\n- Native Revit IFC export requires Autodesk license\r\n- Export settings significantly affect data quality\r\n- Batch processing is manual and time-consuming\r\n\r\n### Solution\r\nRVT2IFCconverter.exe converts Revit files to IFC offline, without licenses, with full control over export settings.\r\n\r\n### Business Value\r\n- **No license required** - Works without Autodesk software\r\n- **Multiple IFC versions** - IFC2x3, IFC4, IFC4.3 support\r\n- **Batch processing** - Convert thousands of files\r\n- **Consistent quality** - Standardized export settings\r\n\r\n## Technical Implementation\r\n\r\n### CLI Syntax\r\n```bash\r\nRVT2IFCconverter.exe <input.rvt> [<output.ifc>] [preset=<name>] [config=\"...\"]\r\n```\r\n\r\n### IFC Versions\r\n| Version | Use Case |\r\n|---------|----------|\r\n| IFC2x3 | Legacy compatibility, most software |\r\n| IFC4 | Enhanced properties, modern BIM |\r\n| IFC4.3 | Infrastructure, latest standard |\r\n\r\n### Export Presets\r\n| Preset | Description |\r\n|--------|-------------|\r\n| `standard` | Default balanced export |\r\n| `extended` | Maximum detail and properties |\r\n| `custom` | User-defined configuration |\r\n\r\n### Examples\r\n\r\n```bash\r\n# Standard IFC export\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\"\r\n\r\n# IFC4 with extended settings\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" preset=extended\r\n\r\n# Custom output path\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" \"D:\\Export\\model.ifc\"\r\n\r\n# Custom configuration\r\nRVT2IFCconverter.exe \"C:\\Projects\\Building.rvt\" config=\"ExportBaseQuantities=true; SitePlacement=Shared\"\r\n```\r\n\r\n### Python Integration\r\n\r\n```python\r\nimport subprocess\r\nfrom pathlib import Path\r\nfrom typing import List, Optional, Dict, Any\r\nfrom dataclasses import dataclass\r\nfrom enum import Enum\r\n\r\n\r\nclass IFCVersion(Enum):\r\n    \"\"\"IFC schema versions.\"\"\"\r\n    IFC2X3 = \"IFC2x3\"\r\n    IFC4 = \"IFC4\"\r\n    IFC4X3 = \"IFC4x3\"\r\n\r\n\r\nclass ExportPreset(Enum):\r\n    \"\"\"Export presets.\"\"\"\r\n    STANDARD = \"standard\"\r\n    EXTENDED = \"extended\"\r\n    CUSTOM = \"custom\"\r\n\r\n\r\n@dataclass\r\nclass IFCExportConfig:\r\n    \"\"\"IFC export configuration.\"\"\"\r\n    ifc_version: IFCVersion = IFCVersion.IFC4\r\n    export_base_quantities: bool = True\r\n    site_placement: str = \"Shared\"\r\n    split_walls_and_columns: bool = False\r\n    include_steel_elements: bool = True\r\n    export_2d_elements: bool = False\r\n    export_linked_files: bool = False\r\n    export_rooms: bool = True\r\n    export_schedules: bool = True\r\n\r\n    def to_config_string(self) -> str:\r\n        \"\"\"Convert to CLI config string.\"\"\"\r\n        parts = [\r\n            f\"ExportBaseQuantities={str(self.export_base_quantities).lower()}\",\r\n            f\"SitePlacement={self.site_pl"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75fhjxn1jz5xbgd9ggj0nrtd80q1dz\",\n  \"slug\": \"rvt-to-ifc\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1771000484753\n}"},{"path":"instructions.md","content":"You are a BIM interoperability assistant. You help users convert Autodesk Revit (RVT) files to the open IFC standard for cross-platform BIM collaboration.\n\nWhen the user asks to convert Revit to IFC:\n1. Verify input RVT file path\n2. Select target IFC schema: IFC2x3 (most compatible), IFC4 (recommended), IFC4.3 (latest)\n3. Configure export settings (coordinate system, property mapping, geometry detail)\n4. Run conversion and validate the output IFC file\n5. Report: element count, file size, any conversion warnings\n\nWhen the user asks about IFC export settings:\n1. Explain schema differences (IFC2x3 vs IFC4 vs IFC4.3)\n2. Help map Revit parameters to IFC property sets\n3. Configure coordinate system (project, shared, survey point)\n4. Set geometry export level (triangulated, BREP, parametric)\n\n## Input Format\n- Revit file path (.rvt)\n- Target IFC schema version (default: IFC4)\n- Optional: export configuration (categories, coordinate base, LOD)\n\n## Output Format\n- IFC file at specified output path\n- Conversion report: elements exported, warnings, file size\n- Validation summary (optional IFC syntax check)\n\n## Constraints\n- Filesystem permission required for reading RVT and writing IFC\n- DDC RvtToIfc converter or Revit CLI used for conversion\n- subprocess.run() is used solely for invoking the conversion tool\n- No Revit GUI required — headless conversion"},{"path":"claw.json","content":"{\n  \"name\": \"rvt-to-ifc\",\n  \"version\": \"2.0.0\",\n  \"description\": \"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings.\",\n  \"author\": \"datadrivenconstruction\",\n  \"license\": \"MIT\",\n  \"permissions\": [\"filesystem\"],\n  \"entry\": \"instructions.md\",\n  \"tags\": [\"construction\", \"BIM\", \"Revit\", \"IFC\", \"openBIM\", \"data-conversion\", \"interoperability\"],\n  \"models\": [\"claude-*\", \"gpt-*\"],\n  \"minOpenClawVersion\": \"0.8.0\"\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings. Skill: Rvt To Ifc Owner: datadrivenconstruction Summary: Convert RVT files to IFC format. Support IFC2x3, IFC4, IFC4.3 with customizable export settings. Tags: latest:2.0.0 Version history: v2.0.0 | 2026-02-13T16:34:44.753Z | auto Major update with new export options, batch processing, and Python integration. - Added support for IFC2x3, IFC4, and IFC4.3 export versions with customizable settings. - No Autodesk licens","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1020,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:26:47.612Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:26:47.612Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:15:19.699Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}