{"nodes": [{"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "label": "levion-apply-manifest Skill", "file_type": "document", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_levion_migration_pipeline", "label": "Levion CMS Migration Pipeline (4 parts: extract, apply, export, consume)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null, "rationale": "v2 splits endpoint export out of apply-manifest so the contract is re-runnable without re-importing the manifest."}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_json", "label": "manifest.json (CMS extraction manifest)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_dispatch_checklist_7_5", "label": "Section 7.5 Block Dispatch Checklist (15 files)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null, "rationale": "Every listed file must be updated for a new block to be visible end-to-end."}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase0_plan_mapping", "label": "Phase 0 Planning Table (section to block decision)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase2_media_upload", "label": "Phase 2 Media Upload via Payload Local API", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_srctomediaid", "label": "srcToMediaId map", "file_type": "code", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase3_create_pages", "label": "Phase 3 Create Pages", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_drop_mobile_viewport_sections", "label": "Drop Mobile-viewport Sections", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_idempotency_rules", "label": "Apply-manifest Idempotency (slug, media filename, block folder)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_migration_notes_md", "label": "MIGRATION_NOTES.md (append-only decision log)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_compose_from_primitives", "label": "Compose from Primitives (section+text+image+button)", "file_type": "rationale", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null, "rationale": "One-off sections are page-specific content, not reusable types; refusing to scaffold them is a feature."}, {"id": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_schema_validation", "label": "Manifest Schema Validation (manifest.schema.json)", "file_type": "concept", "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null, "rationale": "Never proceed on a half-valid manifest; the schema is the contract."}], "edges": [{"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_levion_migration_pipeline", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_json", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_dispatch_checklist_7_5", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase0_plan_mapping", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase2_media_upload", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_srctomediaid", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase3_create_pages", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_drop_mobile_viewport_sections", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_idempotency_rules", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_migration_notes_md", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_compose_from_primitives", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_schema_validation", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_known_block_types", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_field_kind_translation", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_export_routes_skill", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase2_media_upload", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_srctomediaid", "relation": "shares_data_with", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase3_create_pages", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_srctomediaid", "relation": "shares_data_with", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase3_create_pages", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase0_plan_mapping", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase3_create_pages", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_drop_mobile_viewport_sections", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase0_plan_mapping", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_compose_from_primitives", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_dispatch_checklist_7_5", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_field_kind_translation", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_schema_validation", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_json", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase3_create_pages", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_field_kind_translation_buttonpair_flattening", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_phase0_plan_mapping", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_lib_known_block_types_match_compose_scaffold_rules", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "target": "ads_backend_skills_levion_cms_levion_export_routes_skill_cms_endpoints_json", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}, {"source": "ads_backend_skills_levion_cms_levion_add_post_type_skill_scaffold_validation", "target": "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_schema_validation", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.65, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md", "source_location": null, "weight": 1.0}], "hyperedges": [{"id": "levion_cms_four_step_migration_pipeline", "label": "Levion CMS four-step migration pipeline (extract, apply, export, consume)", "nodes": ["ads_backend_skills_levion_cms_levion_extract_content_lib_heuristics", "ads_backend_skills_levion_cms_levion_apply_manifest_skill", "ads_backend_skills_levion_cms_levion_export_routes_skill", "ads_backend_skills_levion_cms_levion_consume_cms_skill", "ads_backend_skills_levion_cms_levion_apply_manifest_skill_manifest_json", "ads_backend_skills_levion_cms_levion_export_routes_skill_cms_endpoints_json"], "relation": "participate_in", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "ads-backend/skills/levion-cms/levion-apply-manifest/SKILL.md"}]}