Not in the top 1,000 by GitHub stars
thePlannerIvan/planners-ppt-hell
A PPT Skill for Planners.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1d5bb51f510d
No earlier version was observed for comparison.
Heat
3.1- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
planners-ppt-hell
When your agent uses it
制作与持续修改 SVG 页面工作台,从逐页内容稿或 video-idea-system 的 visual-plan.json 与素材出发,输出可编辑 PPT 或视频 SVG 文件。用于直接材料或生产包的页面制作、返修、视觉参考复用及需人工确认的模板提炼入库。
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
1,643 tokensWhen the skill is activated
Reference documents
179,578 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. 接收
- 2. 定方向
- 3. 工作台
- 4. 输出
- 按需读取
- 运行后迭代
Scripts executed separately
GOTCHAS.mdagents/openai.yamlassets/review/workbench-tools.jsreferences/domain/svg_to_ppt_rules.mdreferences/maintenance-history.mdreferences/workflow/03_video_route.mdscripts/canvas_frame.pyscripts/copy_audit.pyscripts/generate_review_html.pyscripts/generate_template_review_html.pyscripts/image_diagnostics.pyscripts/import_bypage.pyscripts/init_svg_project.pyscripts/lib/office.pyscripts/lib/planners_modules.pyscripts/lib/planners_modules_install.pyscripts/lib/planners_modules_install_test.pyscripts/lib/svg_style_inline.pyscripts/native_svg_to_ppt.pyscripts/orchestrate/ppt_pipeline.pyscripts/prepare_source_material.pyscripts/project_state.pyscripts/render_svg_png.pyscripts/requirements.txtscripts/review_feedback.pyscripts/review_surface.pyscripts/template/apply_fidelity_template.pyscripts/template/build_fidelity_template.pyscripts/template/extract_template_assets.pyscripts/template/extract_template_pack.pyscripts/template/layout_canvas.pyscripts/template/prepare_visual_references.pyscripts/template/seal_template_review.pyscripts/template/template_library.pyscripts/template/template_visual_gate.pyscripts/template_feedback.pyscripts/test/test_canvas_browser.pyscripts/test/test_converter_geometry.pyscripts/test/test_design_ownership.pyscripts/test/test_human_edit_guard.pyscripts/test/test_import_bypage.pyscripts/test/test_production_diagnostics.pyscripts/test/test_review_browser.pyscripts/test/test_review_reported_bugs.pyscripts/test/test_review_surface.pyscripts/test/test_route_rules.pyscripts/test/test_slides_upgrade.pyscripts/test/test_source_assets.pyscripts/test/test_template_integrity.pyscripts/test/test_template_library_integrity.pyscripts/test/test_template_review_browser.pyscripts/test/test_template_surface.pyscripts/test/test_v5.pyscripts/test/test_video_route_init.pyscripts/test/test_video_route_pipeline.pyscripts/test/test_workbench_pipeline.pyscripts/test/test_workbench_store.pyscripts/test/test_workbench_tools.pyscripts/test/test_workbench_ui.pyscripts/validate_svg_layout.pyscripts/workbench_store.py
Files
.gitignoreasset119 bytesCHANGELOG.mddoc70,080 bytesCOMMERCIAL.mddoc1,115 bytesGOTCHAS.mdruns62,241 bytesLICENSEasset34,523 bytesNOTICEasset775 bytesREADME.mddoc10,263 bytesSECURITY.mddoc1,656 bytesSKILL.mdcore6,613 bytesTRADEMARK.mddoc1,355 bytesagents/openai.yamlruns404 bytesassets/review/review.htmlasset160,387 bytesassets/review/workbench-tools.jsruns12,706 bytesassets/template_library/agency-social-proposal/SPEC.mddoc3,702 bytesassets/template_library/agency-social-proposal/anchors/mizuno_ops_svg_p11_architecture_6pillars.pngasset179,995 bytesassets/template_library/agency-social-proposal/anchors/mizuno_v2_pdf_p02_3in1_system.pngasset179,656 bytesassets/template_library/agency-social-proposal/anchors/mizuno_v2_pdf_p13_architecture_house.pngasset183,472 bytesassets/template_library/agency-social-proposal/anchors/mizuno_v2_pdf_p32_table_calendar.pngasset262,812 bytesassets/template_library/agency-social-proposal/anchors/mizuno_v2_pdf_p43_evidence_xhs_demo.pngasset1,150,387 bytesassets/template_library/agency-social-proposal/manifest.jsonasset4,338 bytesassets/template_library/agency-social-proposal/previews/full_deck_contact_sheet.pngasset536,480 bytesassets/template_library/agency-social-proposal/previews/pages/p00_skyline_shell.pngasset113,007 bytesassets/template_library/agency-social-proposal/previews/pages/p01_cover.pngasset195,341 bytesassets/template_library/agency-social-proposal/previews/pages/p02_asymmetric_insight.pngasset307,003 bytesassets/template_library/agency-social-proposal/previews/pages/p03_swiss_editorial_grid.pngasset312,430 bytesassets/template_library/agency-social-proposal/previews/pages/p04_strategy_house.pngasset269,756 bytesassets/template_library/agency-social-proposal/previews/pages/p05_xhs_evidence_split.pngasset316,450 bytesassets/template_library/agency-social-proposal/previews/pages/p06_zebra_battle_table.pngasset281,830 bytesassets/template_library/agency-social-proposal/previews/png_manifest.jsonasset1,288 bytesassets/template_library/agency-social-proposal/primitives/p01_cover.svgasset7,395 bytesassets/template_library/agency-social-proposal/primitives/p02_asymmetric_insight.svgasset9,847 bytesassets/template_library/agency-social-proposal/primitives/p03_swiss_editorial_grid.svgasset13,171 bytesassets/template_library/agency-social-proposal/primitives/p04_strategy_house.svgasset13,598 bytesassets/template_library/agency-social-proposal/primitives/p05_xhs_evidence_split.svgasset10,526 bytesassets/template_library/agency-social-proposal/primitives/p06_zebra_battle_table.svgasset12,976 bytesassets/template_library/agency-social-proposal/skyline_shell.svgasset4,238 bytesassets/template_library/agency-social-proposal/tokens.cssasset1,198 bytesassets/template_library/consulting-product-strategy/SPEC.mddoc3,716 bytesassets/template_library/consulting-product-strategy/anchors/mizuno_ops_svg_p05_evidence_competitor.pngasset141,305 bytesassets/template_library/consulting-product-strategy/anchors/viomi_v4_pdf_p03_comparison_offense_defense.pngasset104,813 bytesassets/template_library/consulting-product-strategy/anchors/viomi_v4_pdf_p04_data_table_evidence.pngasset558,167 bytesassets/template_library/consulting-product-strategy/anchors/viomi_v4_pdf_p12_competitor_teardown.pngasset850,056 bytesassets/template_library/consulting-product-strategy/anchors/viomi_v4_pdf_p23_quadrant_2x2.pngasset156,287 bytesassets/template_library/consulting-product-strategy/manifest.jsonasset4,392 bytesassets/template_library/consulting-product-strategy/previews/full_deck_contact_sheet.pngasset502,016 bytesassets/template_library/consulting-product-strategy/previews/pages/p00_skyline_shell.pngasset130,604 bytesassets/template_library/consulting-product-strategy/previews/pages/p01_cover.pngasset152,272 bytesassets/template_library/consulting-product-strategy/previews/pages/p02_kpi_closed_loop.pngasset346,894 bytesassets/template_library/consulting-product-strategy/previews/pages/p03_quadrant_2x2.pngasset344,668 bytesassets/template_library/consulting-product-strategy/previews/pages/p04_mechanism_pipeline.pngasset236,946 bytesassets/template_library/consulting-product-strategy/previews/pages/p05_asymmetric_comparison.pngasset236,877 bytesassets/template_library/consulting-product-strategy/previews/pages/p06_chart_and_takeaway.pngasset263,407 bytesassets/template_library/consulting-product-strategy/previews/png_manifest.jsonasset1,280 bytesassets/template_library/consulting-product-strategy/primitives/p01_cover.svgasset5,737 bytesassets/template_library/consulting-product-strategy/primitives/p02_kpi_closed_loop.svgasset12,591 bytesassets/template_library/consulting-product-strategy/primitives/p03_quadrant_2x2.svgasset11,492 bytesassets/template_library/consulting-product-strategy/primitives/p04_mechanism_pipeline.svgasset13,951 bytesassets/template_library/consulting-product-strategy/primitives/p05_asymmetric_comparison.svgasset10,386 bytesassets/template_library/consulting-product-strategy/primitives/p06_chart_and_takeaway.svgasset11,998 bytesassets/template_library/consulting-product-strategy/skyline_shell.svgasset4,168 bytesassets/template_library/consulting-product-strategy/tokens.cssasset1,016 bytesassets/template_library/dark-titanium-cockpit/SPEC.mddoc7,128 bytesassets/template_library/dark-titanium-cockpit/anchors/page_01.pngasset100,531 bytesassets/template_library/dark-titanium-cockpit/anchors/page_02.pngasset90,229 bytesassets/template_library/dark-titanium-cockpit/anchors/page_03.pngasset117,477 bytesassets/template_library/dark-titanium-cockpit/anchors/page_04.pngasset82,512 bytesassets/template_library/dark-titanium-cockpit/anchors/page_05.pngasset254,354 bytesassets/template_library/dark-titanium-cockpit/anchors/page_06.pngasset191,052 bytesassets/template_library/dark-titanium-cockpit/anchors/page_07.pngasset142,509 bytesassets/template_library/dark-titanium-cockpit/anchors/page_08.pngasset80,566 bytesassets/template_library/dark-titanium-cockpit/anchors/page_09.pngasset143,633 bytesassets/template_library/dark-titanium-cockpit/anchors/page_10.pngasset153,837 bytesassets/template_library/dark-titanium-cockpit/anchors/page_11.pngasset107,055 bytesassets/template_library/dark-titanium-cockpit/anchors/page_12.pngasset178,715 bytesassets/template_library/dark-titanium-cockpit/anchors/page_13.pngasset149,509 bytesassets/template_library/dark-titanium-cockpit/anchors/page_14.pngasset86,007 bytesassets/template_library/dark-titanium-cockpit/anchors/page_15.pngasset128,836 bytesassets/template_library/dark-titanium-cockpit/anchors/page_16.pngasset78,073 bytesassets/template_library/dark-titanium-cockpit/anchors/page_17.pngasset123,016 bytesassets/template_library/dark-titanium-cockpit/anchors/page_18.pngasset157,241 bytesassets/template_library/dark-titanium-cockpit/anchors/page_19.pngasset111,618 bytesassets/template_library/dark-titanium-cockpit/anchors/page_20.pngasset122,772 bytesassets/template_library/dark-titanium-cockpit/anchors/page_21.pngasset137,630 bytesassets/template_library/dark-titanium-cockpit/anchors/page_22.pngasset121,776 bytesassets/template_library/dark-titanium-cockpit/anchors/page_23.pngasset100,328 bytesassets/template_library/dark-titanium-cockpit/anchors/page_24.pngasset103,728 bytesassets/template_library/dark-titanium-cockpit/anchors/page_25.pngasset92,317 bytesassets/template_library/dark-titanium-cockpit/anchors/page_26.pngasset124,762 bytesassets/template_library/dark-titanium-cockpit/anchors/page_27.pngasset133,243 bytesassets/template_library/dark-titanium-cockpit/anchors/page_28.pngasset93,403 bytesassets/template_library/dark-titanium-cockpit/anchors/page_29.pngasset123,584 bytesassets/template_library/dark-titanium-cockpit/anchors/page_30.pngasset103,113 bytesassets/template_library/dark-titanium-cockpit/anchors/page_31.pngasset113,666 bytesassets/template_library/dark-titanium-cockpit/anchors/page_32.pngasset133,300 bytesassets/template_library/dark-titanium-cockpit/anchors/page_33.pngasset109,689 bytesassets/template_library/dark-titanium-cockpit/anchors/page_34.pngasset151,337 bytesassets/template_library/dark-titanium-cockpit/anchors/page_35.pngasset124,470 bytesassets/template_library/dark-titanium-cockpit/anchors/page_36.pngasset106,909 bytesassets/template_library/dark-titanium-cockpit/anchors/page_37.pngasset105,191 bytesassets/template_library/dark-titanium-cockpit/anchors/page_38.pngasset137,644 bytesassets/template_library/dark-titanium-cockpit/anchors/page_39.pngasset124,264 bytesassets/template_library/dark-titanium-cockpit/anchors/page_40.pngasset151,152 bytesassets/template_library/dark-titanium-cockpit/anchors/page_41.pngasset113,589 bytesassets/template_library/dark-titanium-cockpit/anchors/page_42.pngasset173,117 bytesassets/template_library/dark-titanium-cockpit/anchors/page_43.pngasset100,128 bytesassets/template_library/dark-titanium-cockpit/anchors/page_44.pngasset92,934 bytesassets/template_library/dark-titanium-cockpit/anchors/page_45.pngasset196,138 bytesassets/template_library/dark-titanium-cockpit/assets/abstract_placeholder.jpgasset545,658 bytesassets/template_library/dark-titanium-cockpit/manifest.jsonasset23,397 bytesassets/template_library/dark-titanium-cockpit/previews/full_deck_contact_sheet.pngasset956,044 bytesassets/template_library/dark-titanium-cockpit/previews/p01_master_brutalist_cover.pngasset100,719 bytesassets/template_library/dark-titanium-cockpit/previews/p02_monumental_16_9_cover.pngasset85,934 bytesassets/template_library/dark-titanium-cockpit/previews/p03_brutalist_parenthetical_manifesto.pngasset143,738 bytesassets/template_library/dark-titanium-cockpit/previews/p04_broken_syllable_manifesto.pngasset113,761 bytesassets/template_library/dark-titanium-cockpit/previews/p05_radial_sunburst_manifesto.pngasset111,516 bytesassets/template_library/dark-titanium-cockpit/previews/p06_angled_tape_label_manifesto.pngasset122,054 bytesassets/template_library/dark-titanium-cockpit/previews/p07_bidirectional_vector_arrow_manifesto.pngasset99,981 bytesassets/template_library/dark-titanium-cockpit/previews/p08_right_aligned_index_ledger.pngasset129,124 bytesassets/template_library/dark-titanium-cockpit/previews/p09_creative_agenda_pillar.pngasset191,178 bytesassets/template_library/dark-titanium-cockpit/previews/p10_brutalist_web_cockpit_navbar.pngasset133,243 bytesassets/template_library/dark-titanium-cockpit/previews/p11_alternating_horizontal_timeline.pngasset92,755 bytesassets/template_library/dark-titanium-cockpit/previews/p12_monumental_4column_slender.pngasset82,449 bytesassets/template_library/dark-titanium-cockpit/previews/p13_threepillar_mechanism_void.pngasset107,344 bytesassets/template_library/dark-titanium-cockpit/previews/p14_escalating_stat_grid_pillars.pngasset77,862 bytesassets/template_library/dark-titanium-cockpit/previews/p15_circular_step_columns.pngasset133,314 bytesassets/template_library/dark-titanium-cockpit/previews/p16_interlocking_horizontal_blocks.pngasset92,336 bytesassets/template_library/dark-titanium-cockpit/previews/p17_editorial_quote_2x2_wireframe.pngasset122,948 bytesassets/template_library/dark-titanium-cockpit/previews/p18_dual_tier_mega_numeral.pngasset93,179 bytesassets/template_library/dark-titanium-cockpit/previews/p19_airy_floating_ledger.pngasset154,042 bytesassets/template_library/dark-titanium-cockpit/previews/p20_high_density_financial_ledger.pngasset157,211 bytesassets/template_library/dark-titanium-cockpit/previews/p21_digits_data_grid.pngasset142,539 bytesassets/template_library/dark-titanium-cockpit/previews/p22_asymmetric_bipolar_metric_cockpit.pngasset136,837 bytesassets/template_library/dark-titanium-cockpit/previews/p23_diptych_polar_split.pngasset100,328 bytesassets/template_library/dark-titanium-cockpit/previews/p24_glyph_ticker_milestone_ribbon.pngasset123,455 bytesassets/template_library/dark-titanium-cockpit/previews/p25_precision_metric_gauge_spectrum.pngasset109,912 bytesassets/template_library/dark-titanium-cockpit/previews/p26_barcode_pill_metric_array.pngasset124,566 bytesassets/template_library/dark-titanium-cockpit/previews/p27_horizontal_gradient_fade_ledger.pngasset151,252 bytesassets/template_library/dark-titanium-cockpit/previews/p28_horizon_rounded_ascending_bars.pngasset124,132 bytesassets/template_library/dark-titanium-cockpit/previews/p29_stepped_progress_bricks.pngasset173,391 bytesassets/template_library/dark-titanium-cockpit/previews/p30_segmented_arc_milestone_gauge.pngasset151,365 bytesassets/template_library/dark-titanium-cockpit/previews/p31_organic_spline_wave_matrix.pngasset113,608 bytesassets/template_library/dark-titanium-cockpit/previews/p32_human_pictogram_penetration_matrix.pngasset106,978 bytesassets/template_library/dark-titanium-cockpit/previews/p33_geometric_dot_matrix_grid.pngasset137,499 bytesassets/template_library/dark-titanium-cockpit/previews/p34_industrial_specimen_matrix_8grid.pngasset274,372 bytesassets/template_library/dark-titanium-cockpit/previews/p35_editorial_multigrid_moodboard.pngasset196,160 bytesassets/template_library/dark-titanium-cockpit/previews/p36_editorial_asymmetric_moodboard_8grid.pngasset838,935 bytesassets/template_library/dark-titanium-cockpit/previews/p37_asymmetric_dual_detail_hero_collage.pngasset1,045,132 bytesassets/template_library/dark-titanium-cockpit/previews/p38_horizontal_triptych_gallery_strip.pngasset417,282 bytesassets/template_library/dark-titanium-cockpit/previews/p39_monolith_pedestal_showcase_strip.pngasset350,328 bytesassets/template_library/dark-titanium-cockpit/previews/p40_monolithic_numeral_accordion_photo.pngasset434,469 bytesassets/template_library/dark-titanium-cockpit/previews/p41_cybernetic_portrait_split_cockpit.pngasset795,118 bytesassets/template_library/dark-titanium-cockpit/previews/p42_monolithic_facade_telemetry_plaques.pngasset710,187 bytesassets/template_library/dark-titanium-cockpit/previews/p43_horizon_panoramic_strip_sunken_ledger.pngasset667,853 bytesassets/template_library/dark-titanium-cockpit/previews/p44_edge_infiltrated_hardware_hero.pngasset835,093 bytesassets/template_library/dark-titanium-cockpit/previews/p45_center_monumental_portrait_stamp_seal.pngasset726,979 bytesassets/template_library/dark-titanium-cockpit/previews/p46_documentary_anchor_center_triptych.pngasset714,840 bytesassets/template_library/dark-titanium-cockpit/previews/p47_fluorescent_grid_neon_photo_window.pngasset600,951 bytesassets/template_library/dark-titanium-cockpit/previews/p48_scope_big_arrow_break.pngasset149,509 bytesassets/template_library/dark-titanium-cockpit/previews/p49_fluorescent_lime_blast_screen.pngasset105,234 bytesassets/template_library/dark-titanium-cockpit/previews/p50_scientific_tomography_punchcard_plaque.pngasset690,882 bytesassets/template_library/dark-titanium-cockpit/previews/p51_vertical_pillar_grid.pngasset117,154 bytesassets/template_library/dark-titanium-cockpit/previews/p52_aura_horizon_milestone.pngasset254,455 bytesassets/template_library/dark-titanium-cockpit/primitives/p01_master_brutalist_cover.svgasset3,369 bytesassets/template_library/dark-titanium-cockpit/primitives/p02_monumental_16_9_cover.svgasset2,822 bytesassets/template_library/dark-titanium-cockpit/primitives/p03_brutalist_parenthetical_manifesto.svgasset4,314 bytesassets/template_library/dark-titanium-cockpit/primitives/p04_broken_syllable_manifesto.svgasset3,423 bytesassets/template_library/dark-titanium-cockpit/primitives/p05_radial_sunburst_manifesto.svgasset3,065 bytesassets/template_library/dark-titanium-cockpit/primitives/p06_angled_tape_label_manifesto.svgasset3,551 bytesassets/template_library/dark-titanium-cockpit/primitives/p07_bidirectional_vector_arrow_manifesto.svgasset4,406 bytesassets/template_library/dark-titanium-cockpit/primitives/p08_right_aligned_index_ledger.svgasset5,698 bytesassets/template_library/dark-titanium-cockpit/primitives/p09_creative_agenda_pillar.svgasset8,041 bytesassets/template_library/dark-titanium-cockpit/primitives/p10_brutalist_web_cockpit_navbar.svgasset5,635 bytesassets/template_library/dark-titanium-cockpit/primitives/p11_alternating_horizontal_timeline.svgasset7,306 bytesassets/template_library/dark-titanium-cockpit/primitives/p12_monumental_4column_slender.svgasset4,653 bytesassets/template_library/dark-titanium-cockpit/primitives/p13_threepillar_mechanism_void.svgasset3,957 bytesassets/template_library/dark-titanium-cockpit/primitives/p14_escalating_stat_grid_pillars.svgasset5,077 bytesassets/template_library/dark-titanium-cockpit/primitives/p15_circular_step_columns.svgasset6,996 bytesassets/template_library/dark-titanium-cockpit/primitives/p16_interlocking_horizontal_blocks.svgasset3,139 bytesassets/template_library/dark-titanium-cockpit/primitives/p17_editorial_quote_2x2_wireframe.svgasset4,944 bytesassets/template_library/dark-titanium-cockpit/primitives/p18_dual_tier_mega_numeral.svgasset3,128 bytesassets/template_library/dark-titanium-cockpit/primitives/p19_airy_floating_ledger.svgasset6,111 bytesassets/template_library/dark-titanium-cockpit/primitives/p20_high_density_financial_ledger.svgasset6,714 bytesassets/template_library/dark-titanium-cockpit/primitives/p21_digits_data_grid.svgasset6,664 bytesassets/template_library/dark-titanium-cockpit/primitives/p22_asymmetric_bipolar_metric_cockpit.svgasset5,938 bytesassets/template_library/dark-titanium-cockpit/primitives/p23_diptych_polar_split.svgasset3,598 bytesassets/template_library/dark-titanium-cockpit/primitives/p24_glyph_ticker_milestone_ribbon.svgasset5,007 bytesassets/template_library/dark-titanium-cockpit/primitives/p25_precision_metric_gauge_spectrum.svgasset4,526 bytesassets/template_library/dark-titanium-cockpit/primitives/p26_barcode_pill_metric_array.svgasset10,492 bytesassets/template_library/dark-titanium-cockpit/primitives/p27_horizontal_gradient_fade_ledger.svgasset6,319 bytesassets/template_library/dark-titanium-cockpit/primitives/p28_horizon_rounded_ascending_bars.svgasset5,622 bytesassets/template_library/dark-titanium-cockpit/primitives/p29_stepped_progress_bricks.svgasset7,409 bytesassets/template_library/dark-titanium-cockpit/primitives/p30_segmented_arc_milestone_gauge.svgasset6,890 bytesassets/template_library/dark-titanium-cockpit/primitives/p31_organic_spline_wave_matrix.svgasset6,664 bytesassets/template_library/dark-titanium-cockpit/primitives/p32_human_pictogram_penetration_matrix.svgasset15,738 bytesassets/template_library/dark-titanium-cockpit/primitives/p33_geometric_dot_matrix_grid.svgasset5,269 bytesassets/template_library/dark-titanium-cockpit/primitives/p34_industrial_specimen_matrix_8grid.svgasset7,907 bytesassets/template_library/dark-titanium-cockpit/primitives/p35_editorial_multigrid_moodboard.svgasset11,076 bytesassets/template_library/dark-titanium-cockpit/primitives/p36_editorial_asymmetric_moodboard_8grid.svgasset7,113 bytesassets/template_library/dark-titanium-cockpit/primitives/p37_asymmetric_dual_detail_hero_collage.svgasset3,908 bytesassets/template_library/dark-titanium-cockpit/primitives/p38_horizontal_triptych_gallery_strip.svgasset5,409 bytesassets/template_library/dark-titanium-cockpit/primitives/p39_monolith_pedestal_showcase_strip.svgasset6,722 bytesassets/template_library/dark-titanium-cockpit/primitives/p40_monolithic_numeral_accordion_photo.svgasset6,046 bytesassets/template_library/dark-titanium-cockpit/primitives/p41_cybernetic_portrait_split_cockpit.svgasset5,141 bytesassets/template_library/dark-titanium-cockpit/primitives/p42_monolithic_facade_telemetry_plaques.svgasset5,159 bytesassets/template_library/dark-titanium-cockpit/primitives/p43_horizon_panoramic_strip_sunken_ledger.svgasset5,870 bytesassets/template_library/dark-titanium-cockpit/primitives/p44_edge_infiltrated_hardware_hero.svgasset5,153 bytesassets/template_library/dark-titanium-cockpit/primitives/p45_center_monumental_portrait_stamp_seal.svgasset5,446 bytesassets/template_library/dark-titanium-cockpit/primitives/p46_documentary_anchor_center_triptych.svgasset5,403 bytesassets/template_library/dark-titanium-cockpit/primitives/p47_fluorescent_grid_neon_photo_window.svgasset4,395 bytesassets/template_library/dark-titanium-cockpit/primitives/p48_scope_big_arrow_break.svgasset6,903 bytesassets/template_library/dark-titanium-cockpit/primitives/p49_fluorescent_lime_blast_screen.svgasset6,199 bytesassets/template_library/dark-titanium-cockpit/primitives/p50_scientific_tomography_punchcard_plaque.svgasset4,411 bytesassets/template_library/dark-titanium-cockpit/primitives/p51_vertical_pillar_grid.svgasset4,110 bytesassets/template_library/dark-titanium-cockpit/primitives/p52_aura_horizon_milestone.svgasset7,791 bytesassets/template_library/dark-titanium-cockpit/skyline_shell.svgasset1,843 bytesassets/template_library/dark-titanium-cockpit/tokens.cssasset4,230 bytesassets/template_library/pinterest-neo-swiss-video/SPEC.mddoc9,304 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p01_tangle_to_grid.pngasset118,450 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p02_geometric_quadrant.pngasset69,430 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p03_isometric_strata.pngasset50,511 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p04_radial_ray_fan.pngasset117,395 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p05_retro_dialog_cascade.pngasset25,246 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p06_grid_quote_deletion.pngasset49,122 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p07_triptych_cosmos.pngasset55,576 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p08_circular_gauge_meters.pngasset52,501 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p09_petal_spectrum_dial.pngasset55,422 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p10_constellation_network.pngasset38,662 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p11_exploded_axonometric.pngasset67,406 bytesassets/template_library/pinterest-neo-swiss-video/anchors/p12_crt_terminal_menu.pngasset24,103 bytesassets/template_library/pinterest-neo-swiss-video/anchors/skyline_shell.pngasset176,033 bytesassets/template_library/pinterest-neo-swiss-video/manifest.jsonasset5,315 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p01_tangle_to_grid.svgasset7,369 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p02_geometric_quadrant.svgasset5,242 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p03_isometric_strata.svgasset4,420 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p04_radial_ray_fan.svgasset5,889 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p05_retro_dialog_cascade.svgasset4,030 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p06_grid_quote_deletion.svgasset3,817 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p07_triptych_cosmos.svgasset4,881 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p08_circular_gauge_meters.svgasset4,094 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p09_petal_spectrum_dial.svgasset4,419 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p10_constellation_network.svgasset11,223 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p11_exploded_axonometric.svgasset6,319 bytesassets/template_library/pinterest-neo-swiss-video/primitives/p12_crt_terminal_menu.svgasset4,291 bytesassets/template_library/pinterest-neo-swiss-video/skyline_shell.svgasset4,678 bytesassets/template_library/pinterest-neo-swiss-video/tokens.cssasset4,150 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/full_deck_contact_sheet.pngasset7,782 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/pages/closing_dark.pngasset8,654 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/pages/content_base.pngasset8,700 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/pages/contents_light.pngasset8,700 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/pages/cover_dark.pngasset8,654 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/pages/section_dark.pngasset8,654 bytesassets/template_library/planner-simple-default/fidelity_template/canvas_previews/png_manifest.jsonasset1,029 bytesassets/template_library/planner-simple-default/fidelity_template/components.svgasset787 bytesassets/template_library/planner-simple-default/fidelity_template/layout_canvases/closing_dark.svgasset659 bytesassets/template_library/planner-simple-default/fidelity_template/layout_canvases/content_base.svgasset823 bytesassets/template_library/planner-simple-default/fidelity_template/layout_canvases/contents_light.svgasset825 bytesassets/template_library/planner-simple-default/fidelity_template/layout_canvases/cover_dark.svgasset657 bytesassets/template_library/planner-simple-default/fidelity_template/layout_canvases/section_dark.svgasset659 bytesassets/template_library/planner-simple-default/fidelity_template/template_registry.jsonasset4,580 bytesassets/template_library/planner-simple-default/manifest.jsonasset2,577 bytesassets/template_library/planner-simple-default/template_asset_registry.jsonasset115 bytesassets/template_library/planner-simple-default/template_profile.jsonasset1,194 bytesassets/template_library/planner-simple-default/template_worker_result.jsonasset359 bytesassets/video_style_references/editorial-archive/domain-1-slot-expand-pin26-f03.jpgasset5,184 bytesassets/video_style_references/editorial-archive/domain-1-text-focus-pin05.pngasset599,049 bytesassets/video_style_references/editorial-archive/domain-1-text-focus-solo-pin19.jpgasset149,428 bytesassets/video_style_references/editorial-archive/domain-2-model-build-pin03.webpasset48,594 bytesassets/video_style_references/editorial-archive/domain-2-model-tree-pin16.pngasset63,568 bytesassets/video_style_references/editorial-archive/domain-3-editorial-mix-pin12.pngasset689,947 bytesassets/video_style_references/editorial-archive/domain-3-editorial-mix-pin32-f02.jpgasset77,698 bytesassets/video_style_references/editorial-archive/domain-4-image-archive-pin15-s01.jpgasset221,869 bytesassets/video_style_references/editorial-archive/domain-4-image-archive-solo-pin30.jpgasset156,635 bytesassets/video_style_references/editorial-archive/domain-4-z-stack-drop-pin28-f03.jpgasset59,566 bytesassets/video_style_references/editorial-archive/prototype_7_beats_contact_sheet.pngasset323,784 bytesdocs/ARCHITECTURE.mddoc2,004 bytesdocs/README.mddoc477 bytesdocs/UPGRADE-v5.mddoc1,744 bytesdocs/history/2026-07-18-main-release/CHANGE_AND_VALIDATION_LOG.mddoc3,375 bytesdocs/history/Template-Runtime-Simplification-Handoff.mddoc21,466 bytesdocs/history/architecture-upgrade-20260717/00_BASELINE_AND_ROLLBACK.mddoc3,582 bytesdocs/history/architecture-upgrade-20260717/01_CURRENT_ARCHITECTURE.mddoc14,010 bytesdocs/history/architecture-upgrade-20260717/02_FILE_AUDIT.mddoc11,929 bytesdocs/history/architecture-upgrade-20260717/03_UPGRADE_EXECUTION_AND_ACCEPTANCE.mddoc9,280 bytesdocs/history/architecture-upgrade-20260717/04_WORK_LOG.mddoc7,916 bytesdocs/history/architecture-upgrade-20260717/05_SUBAGENT_SCRIPT_AUDIT.mddoc3,526 bytesdocs/history/architecture-upgrade-20260717/06_SUBAGENT_TEMPLATE_AUDIT.mddoc3,220 bytesdocs/history/architecture-upgrade-20260717/07_FINAL_VERIFICATION_AND_DIFF.mddoc5,844 bytesdocs/history/architecture-upgrade-20260717/08_TEMPLATE_FEEDBACK_ROUND1.jsonasset5,889 bytesdocs/history/architecture-upgrade-20260717/09_WORKFLOW_PROMPT_HANDOFF_AUDIT.mddoc6,525 bytesdocs/history/architecture-upgrade-20260717/10_V2PPTTEST3_POST_RUN_AUDIT_CHECKLIST.mddoc1,449 bytesdocs/history/legacy-planning/acceptance-remediation-tasks.mddoc13,029 bytesdocs/history/legacy-planning/architecture-overview.svgasset42,949 bytesdocs/history/legacy-planning/architecture-simplification-report.mddoc10,528 bytesdocs/history/legacy-planning/architecture-simplification-workflow.mddoc17,194 bytesdocs/history/legacy-planning/failure-mode-scan-v2.mddoc3,950 bytesdocs/history/legacy-planning/mece-acceptance-review-v2.mddoc4,275 bytesdocs/history/legacy-planning/mece-acceptance-review.mddoc7,011 bytesdocs/history/legacy-planning/mece-action-candidates-v2.mddoc5,469 bytesdocs/history/legacy-planning/mece-action-candidates.mddoc8,680 bytesdocs/history/legacy-planning/mece-duplicate-rule-index-v2.jsonasset6,000 bytesdocs/history/legacy-planning/mece-duplicate-rule-index.jsonasset25,074 bytesdocs/history/legacy-planning/mece-responsibility-matrix-v2.csvasset8,430 bytesdocs/history/legacy-planning/mece-responsibility-matrix.csvasset5,960 bytesdocs/history/legacy-planning/mece-scan-results.jsonasset157,143 bytesdocs/history/legacy-planning/mece-simplification-report-v2.mddoc9,731 bytesdocs/history/legacy-planning/mece-simplification-report.mddoc11,387 bytesdocs/history/legacy-planning/mece-simplification-test-workflow.mddoc18,777 bytesdocs/history/legacy-planning/redundancy-critique.mddoc14,214 bytesdocs/history/legacy-planning/structure-analysis.mddoc19,685 bytesdocs/history/legacy-planning/template-asset-extraction-upgrade-plan-v2.mddoc22,138 bytesdocs/history/legacy-planning/template-asset-extraction-upgrade-plan.mddoc21,605 bytesdocs/history/legacy-planning/template-asset-extraction-v2-task-breakdown.mddoc21,130 bytesdocs/history/legacy-planning/upgrade-implementation-log.mddoc26,499 bytesdocs/history/legacy-planning/upgrade-plan-v2.mddoc28,563 bytesdocs/history/one-shot-upgrade-vnext-20260717/00_PACKAGE_INDEX.mddoc2,985 bytesdocs/history/one-shot-upgrade-vnext-20260717/01_TARGET_ARCHITECTURE.mddoc6,761 bytesdocs/history/one-shot-upgrade-vnext-20260717/02_PROBLEM_TO_CHANGE_MAP.mddoc4,049 bytesdocs/history/one-shot-upgrade-vnext-20260717/03_IMPLEMENTATION_PLAN.mddoc7,459 bytesdocs/history/one-shot-upgrade-vnext-20260717/04_ACCEPTANCE_PLAN.mddoc4,881 bytesdocs/history/one-shot-upgrade-vnext-20260717/05_RELEASE_AND_ROLLBACK.mddoc2,223 bytesdocs/history/one-shot-upgrade-vnext-20260717/06_EXECUTION_PROMPT.mddoc2,707 bytesdocs/history/one-shot-upgrade-vnext-20260717/07_PREPARATION_LOG.mddoc2,432 bytesdocs/history/one-shot-upgrade-vnext-20260717/PACKAGE_MANIFEST.jsonasset1,287 bytesdocs/history/one-shot-upgrade-vnext-20260717/WORKFLOW_MAP.mddoc3,574 bytesdocs/history/one-shot-upgrade-vnext-20260717/evals/evals.jsonasset3,260 bytesdocs/history/r2-upgrade-logs/01_THREAD_019F6F84_AUDIT.mddoc3,139 bytesdocs/history/r2-upgrade-logs/02_R2_CHANGE_AND_TEST_LOG.mddoc2,497 bytesdocs/history/run-analysis/LOG_INDEX.mddoc2,116 bytesdocs/history/run-analysis/RUN_LOG.mddoc12,635 bytesdocs/history/run-analysis/SKILL_EVOLUTION_CAUSAL_AUDIT.mddoc24,909 bytesdocs/history/run-analysis/SKILL_RUN_ANALYSIS_AND_OPTIMIZATION_REPORT.mddoc18,998 bytesdocs/history/run-analysis/WORK_LOG_DETAILED.mddoc7,889 bytesevals/evals.jsonasset5,036 bytesexamples/minimal_deck/expected/notes.mddoc169 bytesexamples/minimal_deck/expected/page_content.jsonasset265 bytesexamples/minimal_deck/source.mddoc880 bytesreferences/architecture.mddoc4,391 bytesreferences/contracts/project_contract.mddoc5,347 bytesreferences/contracts/template_package.mddoc4,580 bytesreferences/domain/flagship_layout_examples.mddoc16,756 bytesreferences/domain/flagship_theme_guidance.mddoc9,204 bytesreferences/domain/layout_taxonomy.mddoc6,254 bytesreferences/domain/style_system.mddoc1,160 bytesreferences/domain/svg_rules.mddoc5,468 bytesreferences/domain/svg_to_ppt_rules.mdruns6,093 bytesreferences/domain/video_style_editorial_archive.mddoc10,161 bytesreferences/maintenance-history.mdruns81,854 bytesreferences/workflow/00_pipeline_controller.mddoc2,261 bytesreferences/workflow/01_template_intake.mddoc2,752 bytesreferences/workflow/02_content_stage.mddoc4,773 bytesreferences/workflow/03_video_route.mdruns5,070 bytesreferences/workflow/04_svg_stage.mddoc7,977 bytesreferences/workflow/07_visual_review.mddoc3,778 bytesreferences/workflow/08_video_style_extraction_sop.mddoc2,051 bytesscripts/canvas_frame.pyruns2,935 bytesscripts/copy_audit.pyruns3,833 bytesscripts/generate_review_html.pyruns11,500 bytesscripts/generate_template_review_html.pyruns10,445 bytesscripts/image_diagnostics.pyruns4,643 bytesscripts/import_bypage.pyruns9,943 bytesscripts/init_svg_project.pyruns21,886 bytesscripts/lib/office.pyruns1,657 bytesscripts/lib/planners_modules.pyruns6,028 bytesscripts/lib/planners_modules_install.pyruns19,842 bytesscripts/lib/planners_modules_install_test.pyruns16,544 bytesscripts/lib/svg_style_inline.pyruns8,611 bytesscripts/native_svg_to_ppt.pyruns71,973 bytesscripts/orchestrate/ppt_pipeline.pyruns49,179 bytesscripts/prepare_source_material.pyruns14,265 bytesscripts/project_state.pyruns30,778 bytesscripts/render_svg_png.pyruns7,568 bytesscripts/requirements.txtruns66 bytesscripts/review_feedback.pyruns36,186 bytesscripts/review_surface.pyruns12,040 bytesscripts/template/apply_fidelity_template.pyruns2,727 bytesscripts/template/build_fidelity_template.pyruns9,567 bytesscripts/template/extract_template_assets.pyruns45,489 bytesscripts/template/extract_template_pack.pyruns34,578 bytesscripts/template/layout_canvas.pyruns7,723 bytesscripts/template/prepare_visual_references.pyruns8,237 bytesscripts/template/seal_template_review.pyruns1,094 bytesscripts/template/template_library.pyruns28,695 bytesscripts/template/template_visual_gate.pyruns5,462 bytesscripts/template_feedback.pyruns13,036 bytesscripts/test/test_canvas_browser.pyruns1,665 bytesscripts/test/test_converter_geometry.pyruns6,585 bytesscripts/test/test_design_ownership.pyruns7,268 bytesscripts/test/test_human_edit_guard.pyruns5,626 bytesscripts/test/test_import_bypage.pyruns11,476 bytesscripts/test/test_production_diagnostics.pyruns13,613 bytesscripts/test/test_review_browser.pyruns39,549 bytesscripts/test/test_review_reported_bugs.pyruns21,371 bytesscripts/test/test_review_surface.pyruns21,816 bytesscripts/test/test_route_rules.pyruns27,295 bytesscripts/test/test_slides_upgrade.pyruns14,669 bytesscripts/test/test_source_assets.pyruns6,809 bytesscripts/test/test_template_integrity.pyruns8,765 bytesscripts/test/test_template_library_integrity.pyruns2,358 bytesscripts/test/test_template_review_browser.pyruns20,263 bytesscripts/test/test_template_surface.pyruns20,693 bytesscripts/test/test_v5.pyruns38,601 bytesscripts/test/test_video_route_init.pyruns39,802 bytesscripts/test/test_video_route_pipeline.pyruns15,954 bytesscripts/test/test_workbench_pipeline.pyruns25,255 bytesscripts/test/test_workbench_store.pyruns22,806 bytesscripts/test/test_workbench_tools.pyruns24,946 bytesscripts/test/test_workbench_ui.pyruns30,263 bytesscripts/validate_svg_layout.pyruns59,006 bytesscripts/workbench_store.pyruns53,302 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- planners-ppt-hell
Repository facts
- License
- AGPL-3.0
- Created
- Jun 26, 2026
- Last pushed
- Oct 23, 2026
- Forks
- 24
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
- No broad tool permissions
- 2 dangerous shell commandsin 1 file: docs/history/legacy-planning/template-asset-extraction-v2-task-breakdown.md:508
- 358 network referencesin 136 files: scripts/test/test_workbench_ui.py:30 README.md:3 scripts/template/extract_template_assets.py:108 and 133 more
- 2 obfuscation signalsin 2 files: scripts/image_diagnostics.py:61 scripts/test/test_review_surface.py:352
- No instruction overrides
- 61 executable scriptsin 61 files: GOTCHAS.md:1 agents/openai.yaml:1 assets/review/workbench-tools.js:1 and 58 more
- 21 references to secretsin 12 files: scripts/import_bypage.py:42 scripts/test/test_workbench_ui.py:115 scripts/lib/planners_modules_install.py:82 and 9 more
- No requests to vote in Hot
Show all 444 signals by file
.gitignore
- Access to secretsline 15
[Credential-related source omitted]
CHANGELOG.md
- Network accessline 248
- **新增 `_internal/05_review/review-surface.json`**(`review-surface/2.0.0`):`id: planners-ppt-hell/visual`、入口 `02_visual_review.html`、反馈文件、`wake: {mode: queue, text: "{unit} 已定;只重出这一页,其余页不要动。"}`、`capabilities: ["asset-upload"]`。**`dir` 取项目根* - Network accessline 249
- **页面换成语桥说话。** 入口只留一个**独立成行**的 `{{REVIEW_BRIDGE}}` 注入点(宿主把它换成整段注入 —— URL 或内联源码,由宿主定;**别塞进 `src="…"`**,见 G-18),**不放桥的副本**(插件模式下页面地址是路由,相对引用的副本会 404)。所有资产走 `await review.asset(rel, {v})`(`v` 沿用上一轮的版本语义:页版本 / 素材 sha256 前 12 位),反馈走 `await revi - Network accessline 287
- **`--assets` 的报错改成说清口径。** 「你给的是素材库,交付包是 `<包>/assets/`」+ **明令禁止为过闸删除源素材**;全等检查本身保留(它防的是静默丢图)。三个路径参数的报错都说清它是相对哪个目录解析出来的。初始化按路线打印交付物:视频路线上不打印 `final_deck.pptx`。 - **新增 `scripts/style/theme_tokens.py`**(视频路线的风格库读法):`list` 报 id/name/nameZh/pre - Network accessline 288
- **新增 `scripts/style/theme_tokens.py`**(视频路线的风格库读法):`list` 报 id/name/nameZh/preview;`show <id>` 把 `tokens.css` 的 `:root` 解析成键值对、**把 `var()` 展开成实际值**,并把**解析不掉的 token 连同缺的那几个名字一起报出来**。目录不写死:`--themes-dir` > `PPT_HELL_THEMES_DIR` > Skill 根的相对 - Network accessline 289
- **审阅服务的死活判断只认 HTTP,不认端口探测。** 服务进程写 pidfile,stdout/stderr 走日志文件;`review` 再调用时**真的 GET 一次页面**,并对照 `/health` 报的 `project_dir` 与 `session_id`——对不上就当没有服务;死了就重启并返回新 URL。保留原有两条:起来先自证、端口被占直接报错退出,绝不端出上一个项目的旧页面。**这条保证的是「本 Skill 不被端口探测骗」**:进程被外部清掉之后
COMMERCIAL.md
GOTCHAS.md
- Executable scriptline 1
Executable file - Network accessline 104
- **module**:`scripts/orchestrate/ppt_pipeline.py` 的 `server_alive`/`start_server`(模板审阅那条线)+ `scripts/review_surface.py` 的 `host_alive`(页面审阅,2026-09-26 换宿主后重落一次) - **现象**:`review` 用 `subprocess.Popen(..., start_new_session=True)` 起审阅服务,服务在那 - Network accessline 105
- **现象**:`review` 用 `subprocess.Popen(..., start_new_session=True)` 起审阅服务,服务在那次工具调用结束后**又死了**;而 `nc -z <port>` 仍报 **OPEN**(那个端口上的 socket 还接受 TCP),`curl`/`urllib` 拿到的才是真的(空响应/`RemoteDisconnected`)。作者回到对话准备写意见时,页面已经在空转。
LICENSE
- Network accessline 4
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> - Network accessline 645
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. - Network accessline 646
along with this program. If not, see <https://www.gnu.org/licenses/>. - Network accessline 659
if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <https://www.gnu.org/licenses/>. - Network accessline 661
<https://www.gnu.org/licenses/>.
NOTICE
README.md
- Network accessline 3
[](LICENSE) - Network accessline 4
[](SKILL.md) - Network accessline 11
> 作者:阿祖不看 TVC(小红书同名) · [demyth.info](https://demyth.info) · [Lawyif@163.com](mailto:Lawyif@163.com) - Network accessline 32
- 只需要一份逐页内容稿(用 [Planners Bypage](https://github.com/thePlannerIvan/planners-bypage)); - Network accessline 41
npx skills add https://github.com/thePlannerIvan/planners-ppt-hell --skill planners-ppt-hell - Network accessline 48
- [`planners-review-core`](https://github.com/thePlannerIvan/planners-review-core) —— 审阅面契约、桥与本地宿主 - Network accessline 49
- [`planners-source-index`](https://github.com/thePlannerIvan/planners-source-index) —— 来源索引契约与唯一校验器 - Network accessline 50
- [`planners-fact-check`](https://github.com/thePlannerIvan/planners-fact-check) —— 事实核查契约与校验器 - Network accessline 51
- [`planners-report-kit`](https://github.com/thePlannerIvan/planners-report-kit) —— 报告装配与校验(仅带报告出口的 Skill 需要) - Network accessline 89
npx skills add https://github.com/thePlannerIvan/<Skill 名> --skill <Skill 名> - Network accessline 95
git clone --depth 1 https://github.com/thePlannerIvan/<模组名>.git \ - Network accessline 110
git clone https://github.com/thePlannerIvan/planners-ppt-hell.git ~/.codex/skills/planners-ppt-hell - Network accessline 112
git clone https://github.com/thePlannerIvan/planners-ppt-hell.git ~/.claude/skills/planners-ppt-hell - Network accessline 180
由阿祖不看 TVC 创建与维护 · https://demyth.info · Lawyif@163.com。
SECURITY.md
SKILL.md
- Network accessline 8
由阿祖不看 TVC 创建与维护。https://demyth.info · Lawyif@163.com。
TRADEMARK.md
agents/openai.yaml
- Executable scriptline 1
Executable file
assets/review/review.html
- Network accessline 1005
const parsed=new DOMParser().parseFromString(markup,'image/svg+xml'); const source=parsed.documentElement; const xlink='http://www.w3.org/1999/xlink'; - Network accessline 1006
const source=parsed.documentElement; const xlink='http://www.w3.org/1999/xlink'; // Remove direct image URLs while detached: insertion must not race authenticated asset loading. - Network accessline 1007
const xlink='http://www.w3.org/1999/xlink'; - Network accessline 1029
if(url){ imgEl.setAttribute('href',url); imgEl.setAttributeNS('http://www.w3.org/1999/xlink','xlink:href',url); - Network accessline 1030
imgEl.setAttribute('href',url); imgEl.setAttributeNS('http://www.w3.org/1999/xlink','xlink:href',url); } - Network accessline 1031
imgEl.setAttributeNS('http://www.w3.org/1999/xlink','xlink:href',url); - Network accessline 2595
const folder=svgPath.slice(rootPath.length).split('/').slice(0,-1); for(const el of svg.querySelectorAll('image')){ const href=el.getAttribute('href')||el.getAttributeNS('http://www.w3.org/1999/xlink','href')||''; - Network accessline 2596
for(const el of svg.querySelectorAll('image')){ const href=el.getAttribute('href')||el.getAttributeNS('http://www.w3.org/1999/xlink','href')||''; if(!href||/^(data:|https?:|#)/.test(href))continue; - Network accessline 2597
const href=el.getAttribute('href')||el.getAttributeNS('http://www.w3.org/1999/xlink','href')||'';
assets/review/workbench-tools.js
- Executable scriptline 1
Executable file - Network accessline 23
})()); const href=await thumbnailAssets.get(assetKey); image.setAttribute('href',href);image.removeAttributeNS('http://www.w3.org/1999/xlink','href'); - Network accessline 24
const href=await thumbnailAssets.get(assetKey); image.setAttribute('href',href);image.removeAttributeNS('http://www.w3.org/1999/xlink','href'); } - Network accessline 25
image.setAttribute('href',href);image.removeAttributeNS('http://www.w3.org/1999/xlink','href');
assets/template_library/agency-social-proposal/primitives/p01_cover.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/agency-social-proposal/primitives/p02_asymmetric_insight.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/agency-social-proposal/primitives/p03_swiss_editorial_grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/agency-social-proposal/primitives/p04_strategy_house.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/agency-social-proposal/primitives/p05_xhs_evidence_split.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/agency-social-proposal/primitives/p06_zebra_battle_table.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/agency-social-proposal/skyline_shell.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/primitives/p01_cover.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/primitives/p02_kpi_closed_loop.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/primitives/p03_quadrant_2x2.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/primitives/p04_mechanism_pipeline.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/primitives/p05_asymmetric_comparison.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/primitives/p06_chart_and_takeaway.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/consulting-product-strategy/skyline_shell.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080" font-family="var(--font-sans)">
assets/template_library/dark-titanium-cockpit/primitives/p01_master_brutalist_cover.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p02_monumental_16_9_cover.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p03_brutalist_parenthetical_manifesto.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p04_broken_syllable_manifesto.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p05_radial_sunburst_manifesto.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p06_angled_tape_label_manifesto.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p07_bidirectional_vector_arrow_manifesto.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p08_right_aligned_index_ledger.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p09_creative_agenda_pillar.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p10_brutalist_web_cockpit_navbar.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p11_alternating_horizontal_timeline.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p12_monumental_4column_slender.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p13_threepillar_mechanism_void.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p14_escalating_stat_grid_pillars.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p15_circular_step_columns.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p16_interlocking_horizontal_blocks.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p17_editorial_quote_2x2_wireframe.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p18_dual_tier_mega_numeral.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p19_airy_floating_ledger.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p20_high_density_financial_ledger.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p21_digits_data_grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p22_asymmetric_bipolar_metric_cockpit.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p23_diptych_polar_split.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p24_glyph_ticker_milestone_ribbon.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p25_precision_metric_gauge_spectrum.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p26_barcode_pill_metric_array.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p27_horizontal_gradient_fade_ledger.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p28_horizon_rounded_ascending_bars.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p29_stepped_progress_bricks.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p30_segmented_arc_milestone_gauge.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p31_organic_spline_wave_matrix.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p32_human_pictogram_penetration_matrix.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p33_geometric_dot_matrix_grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p34_industrial_specimen_matrix_8grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p35_editorial_multigrid_moodboard.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p36_editorial_asymmetric_moodboard_8grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p37_asymmetric_dual_detail_hero_collage.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p38_horizontal_triptych_gallery_strip.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p39_monolith_pedestal_showcase_strip.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p40_monolithic_numeral_accordion_photo.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p41_cybernetic_portrait_split_cockpit.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p42_monolithic_facade_telemetry_plaques.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p43_horizon_panoramic_strip_sunken_ledger.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p44_edge_infiltrated_hardware_hero.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p45_center_monumental_portrait_stamp_seal.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p46_documentary_anchor_center_triptych.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p47_fluorescent_grid_neon_photo_window.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p48_scope_big_arrow_break.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p49_fluorescent_lime_blast_screen.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p50_scientific_tomography_punchcard_plaque.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p51_vertical_pillar_grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/primitives/p52_aura_horizon_milestone.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/dark-titanium-cockpit/skyline_shell.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p01_tangle_to_grid.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p02_geometric_quadrant.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p03_isometric_strata.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p04_radial_ray_fan.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p05_retro_dialog_cascade.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p06_grid_quote_deletion.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p07_triptych_cosmos.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p08_circular_gauge_meters.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p09_petal_spectrum_dial.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p10_constellation_network.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p11_exploded_axonometric.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/primitives/p12_crt_terminal_menu.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
assets/template_library/pinterest-neo-swiss-video/skyline_shell.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080"
assets/template_library/planner-simple-default/fidelity_template/components.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg"><g id="bg_dark"><rect data-template-component="bg_dark" data-template-origin="built_in" x="0" y="0" width="1920" height="1080" fill="#17212B" stroke="none" stroke-width="0.00"/></g><g id="bg_light"><r
assets/template_library/planner-simple-default/fidelity_template/layout_canvases/closing_dark.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080" data-layout-id="closing_dark" data-template-canvas-version="1"><g data-template-lock="background"><rect width="1920" height="1080" fill="#F7F8FA"/><r
assets/template_library/planner-simple-default/fidelity_template/layout_canvases/content_base.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080" data-layout-id="content_base" data-template-canvas-version="1"><g data-template-lock="background"><rect width="1920" height="1080" fill="#F7F8FA"/><r
assets/template_library/planner-simple-default/fidelity_template/layout_canvases/contents_light.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080" data-layout-id="contents_light" data-template-canvas-version="1"><g data-template-lock="background"><rect width="1920" height="1080" fill="#F7F8FA"/>
assets/template_library/planner-simple-default/fidelity_template/layout_canvases/cover_dark.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080" data-layout-id="cover_dark" data-template-canvas-version="1"><g data-template-lock="background"><rect width="1920" height="1080" fill="#F7F8FA"/><rec
assets/template_library/planner-simple-default/fidelity_template/layout_canvases/section_dark.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080" data-layout-id="section_dark" data-template-canvas-version="1"><g data-template-lock="background"><rect width="1920" height="1080" fill="#F7F8FA"/><r
docs/history/architecture-upgrade-20260717/04_WORK_LOG.md
- Network accessline 70
- 已在 staging 修复:适配器强制读取当前页 wireframe,校验 layout id,拒绝空 wireframe/缺失 title-body 区域;smoke 和 forward 直接断言 SVG 文字坐标。 - 修复后真实 forward:只传 `content_base.svg`;title `(140,100)`、body `(140,270)` 与 wireframe 一致;validator 0 error;PNG 成功。 - 重建外部人工审阅项目:` - Network accessline 71
- 修复后真实 forward:只传 `content_base.svg`;title `(140,100)`、body `(140,270)` 与 wireframe 一致;validator 0 error;PNG 成功。 - 重建外部人工审阅项目:`Test-023ffae3-human-review`;Server `http://127.0.0.1:8772/template` 健康。源图 2–6 和 canvas 依赖媒体均返回 HTTP 200。 - 真实内置浏 - Network accessline 72
- 重建外部人工审阅项目:`Test-023ffae3-human-review`;Server `http://127.0.0.1:8772/template` 健康。源图 2–6 和 canvas 依赖媒体均返回 HTTP 200。
docs/history/architecture-upgrade-20260717/07_FINAL_VERIFICATION_AND_DIFF.md
- Network accessline 15
- 真实 `content_base` forward:PASS;SVG task 只带 `content_base.svg`;title `(140,100)`、body `(140,270)` 与 Layout Plan wireframe 一致;validator errors 0;PNG 生成。 - 默认模板应用:PASS;内置包为 5 个真实 canvas,包含 `content_base`,不再包含伪别名 `two_column_light` / `data_li - Network accessline 16
- 默认模板应用:PASS;内置包为 5 个真实 canvas,包含 `content_base`,不再包含伪别名 `two_column_light` / `data_light`;smoke 直接验证应用、最小 task、wireframe 坐标、locked/required validator。 - Server:`http://127.0.0.1:8772/health` 返回 running;`/template` 可用。 - 图片资源:源页 2–6 均为 HTT - Network accessline 17
- Server:`http://127.0.0.1:8772/health` 返回 running;`/template` 可用。 - Network accessline 93
1. 在 `http://127.0.0.1:8772/template` 审阅返修后的 5 个 Layout;每个选 Yes/No,可填单独反馈,并保留模板命名与整体反馈。
docs/history/legacy-planning/acceptance-remediation-tasks.md
- Network accessline 326
"port": 8765, "session_id": "...", "layout_url": "http://127.0.0.1:8765/", - Network accessline 327
"session_id": "...", "layout_url": "http://127.0.0.1:8765/", "visual_review_url": "http://127.0.0.1:8765/review", - Network accessline 328
"layout_url": "http://127.0.0.1:8765/", - Network accessline 329
"visual_review_url": "http://127.0.0.1:8765/review", - Network accessline 330
"health_url": "http://127.0.0.1:8765/health", - Network accessline 350
test -f examples/minimal_deck_work/_internal/00_project/review_server.json python -c "import json,urllib.request; d=json.load(open('examples/minimal_deck_work/_internal/00_project/review_server.json')); print(urllib.request.urlopen(d['healt - Network accessline 351
python -c "import json,urllib.request; d=json.load(open('examples/minimal_deck_work/_internal/00_project/review_server.json')); print(urllib.request.urlopen(d['health_url'], timeout=3).read().decode())"
docs/history/legacy-planning/architecture-overview.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1850" width="1600" height="1850">
docs/history/legacy-planning/mece-scan-results.json
- Network accessline 2071
"file": "SKILL.md", "line": 8, "text": "> 来源识别:Planner's PPT Hell 由阿祖不看 TVC 创建与维护。小红书同名账号,个人网站 https://demyth.info,联系邮箱 Lawyif@163.com。该信息用于确认 Skill 来源、开源归属与项目支" - Network accessline 2072
"line": 8, "text": "> 来源识别:Planner's PPT Hell 由阿祖不看 TVC 创建与维护。小红书同名账号,个人网站 https://demyth.info,联系邮箱 Lawyif@163.com。该信息用于确认 Skill 来源、开源归属与项目支" }, - Network accessline 2073
"text": "> 来源识别:Planner's PPT Hell 由阿祖不看 TVC 创建与维护。小红书同名账号,个人网站 https://demyth.info,联系邮箱 Lawyif@163.com。该信息用于确认 Skill 来源、开源归属与项目支"
docs/history/legacy-planning/template-asset-extraction-v2-task-breakdown.md
docs/history/run-analysis/RUN_LOG.md
- Network accessline 56
- Final template feedback saved successfully: all 5 layouts Yes, template name `Test`, overall feedback recorded; Parent advanced to Layout. - Layout Worker completed 6-page plan; all pages use `content_base` because no specialized model ma - Network accessline 57
- Layout Worker completed 6-page plan; all pages use `content_base` because no specialized model matched precisely. Layout contract and capacity validation passed. - Fresh Layout Review Server is healthy at `http://127.0.0.1:8768/` and awai - Network accessline 58
- Fresh Layout Review Server is healthy at `http://127.0.0.1:8768/` and awaits human approval of layout and final on-slide copy. - Network accessline 79
- All six SVGs passed validator with `0 errors`; visual renders and self-reviews completed. PNG previews are 1920×1080 and valid for all six pages. - Initial visual-review generation was blocked by page_06 SVG warnings: footer invasion, sli - Network accessline 80
- Initial visual-review generation was blocked by page_06 SVG warnings: footer invasion, slight title overlap, and excessive font tiers. Original batch_02 Worker made a minimal page_06 visual correction without changing approved content or - Network accessline 81
- Final visual review HTML generated at `02_visual_review.html`; Visual Review Server is ready at `http://127.0.0.1:8768/review`. Full-deck human visual approval remains pending.
docs/history/run-analysis/SKILL_RUN_ANALYSIS_AND_OPTIMIZATION_REPORT.md
- Network accessline 65
- review server 曾出现“记录显示复用、实际 curl 为 000”的陈旧进程状态。
docs/history/run-analysis/WORK_LOG_DETAILED.md
- Network accessline 12
- PNG previews: 6 files, all `1920x1080`, valid size - Visual review HTML: `02_visual_review.html` - Review URL: `http://127.0.0.1:8768/review` - Network accessline 13
- Visual review HTML: `02_visual_review.html` - Review URL: `http://127.0.0.1:8768/review` - Human visual approval: pending; not auto-submitted or auto-approved - Network accessline 14
- Review URL: `http://127.0.0.1:8768/review` - Network accessline 121
Open `http://127.0.0.1:8768/review`, inspect the full deck, and submit the final visual decision. The project must not advance past Visual Review without that human decision.
references/domain/svg_to_ppt_rules.md
- Executable scriptline 1
Executable file
references/maintenance-history.md
- Executable scriptline 1
Executable file
references/workflow/03_video_route.md
- Executable scriptline 1
Executable file
scripts/canvas_frame.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/copy_audit.py
- Executable scriptline 1
Executable file
scripts/generate_review_html.py
- Executable scriptline 1
Executable file - Network accessline 27
SNAPSHOT_REL = f'{REVIEW}/snapshot.json' VERSIONS_REL = f'{REVIEW}/versions' XLINK_HREF = '{http://www.w3.org/1999/xlink}href' - Network accessline 28
VERSIONS_REL = f'{REVIEW}/versions' XLINK_HREF = '{http://www.w3.org/1999/xlink}href' SVG_NS = 'http://www.w3.org/2000/svg' - Network accessline 29
XLINK_HREF = '{http://www.w3.org/1999/xlink}href' - Network accessline 30
SVG_NS = 'http://www.w3.org/2000/svg' - Network accessline 32
ET.register_namespace('xlink', 'http://www.w3.org/1999/xlink')
scripts/generate_template_review_html.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 21
ET.register_namespace('', 'http://www.w3.org/2000/svg') - Network accessline 22
ET.register_namespace('xlink', 'http://www.w3.org/1999/xlink') - Network accessline 65
scoped_tokens = tokens.replace(':root', 'svg') style = ET.Element('{http://www.w3.org/2000/svg}style') - Network accessline 66
style = ET.Element('{http://www.w3.org/2000/svg}style') - Network accessline 70
if node.tag.split('}')[-1] != 'image': continue attr = 'href' if 'href' in node.attrib else '{http://www.w3.org/1999/xlink}href' - Network accessline 71
continue attr = 'href' if 'href' in node.attrib else '{http://www.w3.org/1999/xlink}href' href = node.get(attr, '') - Network accessline 72
attr = 'href' if 'href' in node.attrib else '{http://www.w3.org/1999/xlink}href'
scripts/image_diagnostics.py
- Executable scriptline 1
Executable file - Network accessline 50
hidden = hidden or node.tag.split('}')[-1] in {'defs', 'clipPath', 'mask', 'pattern', 'symbol'} if node.tag.split('}')[-1] == 'image' and not hidden: href = node.get('href', node.get('{http://www.w3.org/1999/xlink}href', - Network accessline 51
if node.tag.split('}')[-1] == 'image' and not hidden: href = node.get('href', node.get('{http://www.w3.org/1999/xlink}href', '')) slot = {key: number(node.get(key, '0' if key in {'x', 'y'} else '')) for key in ('x', - Network accessline 52
href = node.get('href', node.get('{http://www.w3.org/1999/xlink}href', '')) - Possible obfuscationline 61
data = base64.b64decode(payload, validate=True) if ';base64' in header else unquote_to_bytes(payload)
scripts/import_bypage.py
scripts/init_svg_project.py
- Executable scriptline 1
Executable file
scripts/lib/office.py
- Executable scriptline 1
Executable file
scripts/lib/planners_modules.py
scripts/lib/planners_modules_install.py
- Executable scriptline 1
Executable file - Network accessline 73
def repo_url(name): return 'https://github.com/' + REPO_OWNER + '/' + name + '.git' - Network accessline 74
return 'https://github.com/' + REPO_OWNER + '/' + name + '.git' - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 160
[Credential-related source omitted] - Access to secretsline 279
[Credential-related source omitted]
scripts/lib/planners_modules_install_test.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 200
self.assertIn('自动安装', message) self.assertIn('unable to access repository', message) self.assertIn('git clone --depth 1 https://github.com/thePlannerIvan/', message) - Network accessline 201
self.assertIn('unable to access repository', message) self.assertIn('git clone --depth 1 https://github.com/thePlannerIvan/', message) self.assertIn('npx skills add ', message) - Network accessline 202
self.assertIn('git clone --depth 1 https://github.com/thePlannerIvan/', message) - Network accessline 221
for candidate in candidates: self.assertIn(str(candidate), message) self.assertIn('npx skills add https://github.com/thePlannerIvan/planners-source-index', message) - Network accessline 222
self.assertIn(str(candidate), message) self.assertIn('npx skills add https://github.com/thePlannerIvan/planners-source-index', message) self.assertIn('git clone --depth 1 ', message) - Network accessline 223
self.assertIn('npx skills add https://github.com/thePlannerIvan/planners-source-index', message) - Network accessline 342
self.assertEqual( commands['npx'], 'npx skills add https://github.com/thePlannerIvan/planners-source-index --skill planners-source-index') - Network accessline 343
commands['npx'], 'npx skills add https://github.com/thePlannerIvan/planners-source-index --skill planners-source-index') self.assertEqual( - Network accessline 344
'npx skills add https://github.com/thePlannerIvan/planners-source-index --skill planners-source-index') - Network accessline 345
self.assertEqual( commands['git'], 'git clone --depth 1 https://github.com/thePlannerIvan/planners-source-index.git ' - Network accessline 346
commands['git'], 'git clone --depth 1 https://github.com/thePlannerIvan/planners-source-index.git ' '"/tmp/pm-home/.planners-modules/planners-source-index"') - Network accessline 347
'git clone --depth 1 https://github.com/thePlannerIvan/planners-source-index.git '
scripts/lib/svg_style_inline.py
- Executable scriptline 1
Executable file
scripts/native_svg_to_ppt.py
scripts/orchestrate/ppt_pipeline.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/prepare_source_material.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 19
W_NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" - Network accessline 20
A_NS = "http://schemas.openxmlformats.org/drawingml/2006/main" - Network accessline 21
R_NS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" - Network accessline 22
PR_NS = "http://schemas.openxmlformats.org/package/2006/relationships" - Network accessline 23
WP_NS = "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
scripts/project_state.py
- Executable scriptline 1
Executable file - Network accessline 269
for i,node in enumerate(ET.parse(svg).getroot().iter()): if node.tag.split('}')[-1] != 'image': continue href = node.get('href',node.get('{http://www.w3.org/1999/xlink}href','')) - Network accessline 270
if node.tag.split('}')[-1] != 'image': continue href = node.get('href',node.get('{http://www.w3.org/1999/xlink}href','')) if not href or href.startswith(('data:','http:','https:','#')): raise ValueError('Use local project im - Network accessline 271
href = node.get('href',node.get('{http://www.w3.org/1999/xlink}href',''))
scripts/render_svg_png.py
- Executable scriptline 1
Executable file
scripts/requirements.txt
- Executable scriptline 1
Executable file
scripts/review_feedback.py
- Executable scriptline 1
Executable file - Network accessline 29
INTAKE_LOG = 'wake-log.jsonl' TREE_PATH_RE = re.compile(r'^0(?:\.\d+)*$') SVG_NS = 'http://www.w3.org/2000/svg' - Network accessline 30
TREE_PATH_RE = re.compile(r'^0(?:\.\d+)*$') SVG_NS = 'http://www.w3.org/2000/svg' ET.register_namespace('', SVG_NS) - Network accessline 31
SVG_NS = 'http://www.w3.org/2000/svg' - Network accessline 33
ET.register_namespace('xlink', 'http://www.w3.org/1999/xlink')
scripts/review_surface.py
- Executable scriptline 1
Executable file
scripts/template/apply_fidelity_template.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 10
SVG_NS = "http://www.w3.org/2000/svg" - Network accessline 36
destination.parent.mkdir(parents=True, exist_ok=True) for image in list(svg_root.iter(f"{{{SVG_NS}}}image")) + list(svg_root.iter("image")): for attribute in ("href", "{http://www.w3.org/1999/xlink}href"): - Network accessline 37
for image in list(svg_root.iter(f"{{{SVG_NS}}}image")) + list(svg_root.iter("image")): for attribute in ("href", "{http://www.w3.org/1999/xlink}href"): value = str(image.get(attribute, "")).strip() - Network accessline 38
for attribute in ("href", "{http://www.w3.org/1999/xlink}href"):
scripts/template/build_fidelity_template.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 182
symbols.append(f'<g id="{component["component_id"]}">{markup}</g>') (output / "components.svg").write_text( '<svg xmlns="http://www.w3.org/2000/svg">' + "".join(symbols) + '</svg>\n', encoding="utf-8") - Network accessline 183
(output / "components.svg").write_text( '<svg xmlns="http://www.w3.org/2000/svg">' + "".join(symbols) + '</svg>\n', encoding="utf-8") print(output) - Network accessline 184
'<svg xmlns="http://www.w3.org/2000/svg">' + "".join(symbols) + '</svg>\n', encoding="utf-8")
scripts/template/extract_template_assets.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 108
ns = "http://schemas.openxmlformats.org/drawingml/2006/main" - Network accessline 142
ns = "http://schemas.openxmlformats.org/drawingml/2006/main" - Network accessline 700
ns = {"svg": "http://www.w3.org/2000/svg"} - Network accessline 702
for text_el in root.iter("{http://www.w3.org/2000/svg}text"): - Network accessline 832
_DECORATION_SHAPE_TYPES = { "{http://www.w3.org/2000/svg}rect", - Network accessline 833
"{http://www.w3.org/2000/svg}rect", - Network accessline 834
"{http://www.w3.org/2000/svg}line", - Network accessline 835
"{http://www.w3.org/2000/svg}circle", - Network accessline 836
"{http://www.w3.org/2000/svg}ellipse", - Network accessline 863
ns = "http://www.w3.org/2000/svg" - Network accessline 885
if tag == "{http://www.w3.org/2000/svg}rect": - Network accessline 888
w = float(el.get("width", canvas_w)) h = float(el.get("height", canvas_h)) elif tag == "{http://www.w3.org/2000/svg}line": - Network accessline 889
h = float(el.get("height", canvas_h)) elif tag == "{http://www.w3.org/2000/svg}line": x = min(float(el.get("x1", 0)), float(el.get("x2", 0))) - Network accessline 890
elif tag == "{http://www.w3.org/2000/svg}line":
scripts/template/extract_template_pack.py
scripts/template/layout_canvas.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 58
backgrounds = [item for item in components if item.get("placement") == "background"] foregrounds = [item for item in components if item.get("placement") != "background"] return (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAM - Network accessline 59
foregrounds = [item for item in components if item.get("placement") != "background"] return (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}" ' f'data-layout-id - Network accessline 60
return (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}" '
scripts/template/prepare_visual_references.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/template/seal_template_review.py
- Executable scriptline 1
Executable file
scripts/template/template_library.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/template/template_visual_gate.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/template_feedback.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/test/test_canvas_browser.py
- Executable scriptline 1
Executable file
scripts/test/test_converter_geometry.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/test/test_design_ownership.py
- Executable scriptline 1
Executable file - Network accessline 41
checkout = store.commit(root, {'op': 'checkout', 'operation_id': 'checkout1', 'page_key': 'p1'}) candidate = Path(checkout['candidate']) candidate.write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height=" - Network accessline 42
candidate = Path(checkout['candidate']) candidate.write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">' f'<rect id="p1-bg" width="{width} - Network accessline 43
candidate.write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">' - Access to secretsline 92
[Credential-related source omitted] - Network accessline 119
(pack / 'SPEC.md').write_text('Cover only; verified for short titles.') (pack / 'tokens.css').write_text(':root { --ink: #111111; }') svg = '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 192 - Network accessline 120
(pack / 'tokens.css').write_text(':root { --ink: #111111; }') svg = '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080"><rect width="1920" height="1080" fill="#fff"/></svg>' (pack / 's - Network accessline 121
svg = '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080"><rect width="1920" height="1080" fill="#fff"/></svg>'
scripts/test/test_human_edit_guard.py
- Executable scriptline 1
Executable file
scripts/test/test_import_bypage.py
- Executable scriptline 1
Executable file
scripts/test/test_production_diagnostics.py
- Executable scriptline 1
Executable file - Network accessline 96
def tearDown(self): self.tmp.cleanup() def write_svg(self,body): self.svg.write_text('<svg xmlns="http://www.w3.org/2000/svg">'+body+'</svg>') - Network accessline 97
def write_svg(self,body): self.svg.write_text('<svg xmlns="http://www.w3.org/2000/svg">'+body+'</svg>') def test_crop_and_fill_share_same_measurement(self): - Network accessline 98
self.svg.write_text('<svg xmlns="http://www.w3.org/2000/svg">'+body+'</svg>') - Network accessline 115
self.assertTrue(all(r['status']=='unmeasured' and r['issues'] for r in image_frames(self.svg))) def test_nested_svg_dimensions(self): (self.root/'vector.svg').write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 - Network accessline 116
def test_nested_svg_dimensions(self): (self.root/'vector.svg').write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200"/>') self.write_svg('<image href="vector.svg" width="400" height="200"/>') - Network accessline 117
(self.root/'vector.svg').write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200"/>')
scripts/test/test_review_browser.py
scripts/test/test_review_reported_bugs.py
scripts/test/test_review_surface.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 50
data = raw if raw is not None else (json.dumps(body).encode('utf-8') if body is not None else None) headers = {'content-type': 'application/json'} if data is not None else {} request = urllib.request.Request(url, data=data, headers= - Network accessline 51
headers = {'content-type': 'application/json'} if data is not None else {} request = urllib.request.Request(url, data=data, headers=headers, method=method) with urllib.request.urlopen(request, timeout=10) as response: - Network accessline 52
request = urllib.request.Request(url, data=data, headers=headers, method=method) - Network accessline 53
with urllib.request.urlopen(request, timeout=10) as response: - Network accessline 327
def test_a_busy_port_fails_loudly_instead_of_serving_someone_elses_page(self): import socket blocker = socket.socket(); blocker.bind(('127.0.0.1', 0)); blocker.listen(1) - Network accessline 328
import socket blocker = socket.socket(); blocker.bind(('127.0.0.1', 0)); blocker.listen(1) taken = blocker.getsockname()[1] - Network accessline 329
blocker = socket.socket(); blocker.bind(('127.0.0.1', 0)); blocker.listen(1) - Possible obfuscationline 352
body = b'<!doctype html><html><body>\xe5\x88\xab\xe4\xba\xba\xe7\x9a\x84\xe9\xa1\xb5\xe9\x9d\xa2</body></html>' - Network accessline 358
threading.Thread(target=foreign.serve_forever, daemon=True).start() try: stolen = {**state, 'url': f'http://127.0.0.1:{foreign.server_port}/02_visual_review.html'} - Network accessline 359
try: stolen = {**state, 'url': f'http://127.0.0.1:{foreign.server_port}/02_visual_review.html'} self.assertIsNone(review_host.host_alive(self.root / review_surface.SURFACE_REL, stolen), '端的是别人的页面就不认') - Network accessline 360
stolen = {**state, 'url': f'http://127.0.0.1:{foreign.server_port}/02_visual_review.html'} - Access to secretsline 367
[Credential-related source omitted]
scripts/test/test_route_rules.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 19
SCRIPTS = Path(__file__).resolve().parents[1] HEAD = (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" ' - Network accessline 20
HEAD = (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" '
scripts/test/test_slides_upgrade.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 43
TORTURE_SVG = """<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080"> - Network accessline 44
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080"> - Access to secretsline 91
[Credential-related source omitted] - Network accessline 168
p = Path(tmp) / "bad.svg" p.write_text( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">' - Network accessline 169
p.write_text( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">' '<rect x="0" y="0" width="1920" height="1080" fill="#FFFFFF"/>' - Network accessline 170
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">' - Network accessline 234
root = fixture.root.resolve() (root / ps.SVG / "alpha.svg").write_text( '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080">' - Network accessline 235
(root / ps.SVG / "alpha.svg").write_text( '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080">' '<rect width="1920" height="1080" fill="#FFFFFF"/>' - Network accessline 236
'<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080">'
scripts/test/test_source_assets.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 87
root.mkdir() source = Path(raw) / "brief.docx" document = """<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" - Network accessline 88
source = Path(raw) / "brief.docx" document = """<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" - Network accessline 89
document = """<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" - Network accessline 90
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" - Network accessline 91
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" - Network accessline 92
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"> - Network accessline 95
<a:blip r:embed="rId5"/></a:graphicData></a:graphic></wp:inline></w:drawing></w:r></w:p></w:body> </w:document>""" rels = """<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> - Network accessline 96
</w:document>""" rels = """<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId5" Target="media/image1.png" Type="image"/></Relationships>""" - Network accessline 97
rels = """<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
scripts/test/test_template_integrity.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 39
with self.assertRaisesRegex(ValueError, "no data-template-lock layer"): locked_sha256('<svg xmlns="http://www.w3.org/2000/svg"><rect width="10" height="10"/></svg>') - Network accessline 40
locked_sha256('<svg xmlns="http://www.w3.org/2000/svg"><rect width="10" height="10"/></svg>') - Network accessline 154
def test_components_svg_matches_the_registry(self): reg = registry() expected = ("<svg xmlns=\"http://www.w3.org/2000/svg\">" - Network accessline 155
reg = registry() expected = ("<svg xmlns=\"http://www.w3.org/2000/svg\">" + "".join(f'<g id="{item["component_id"]}">' - Network accessline 156
expected = ("<svg xmlns=\"http://www.w3.org/2000/svg\">"
scripts/test/test_template_library_integrity.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/test/test_template_review_browser.py
- Executable scriptline 1
Executable file - Access to secretsline 47
[Credential-related source omitted] - Network accessline 79
calls.push({method,payload}); if(method==='asset'){ const response=await fetch('/'+payload.rel); - Network accessline 80
if(method==='asset'){ const response=await fetch('/'+payload.rel); if(!response.ok)throw new Error('asset '+response.status); - Network accessline 81
const response=await fetch('/'+payload.rel); - Network accessline 85
} if(method==='read'){ const response=await fetch('/'+payload.rel); - Network accessline 86
if(method==='read'){ const response=await fetch('/'+payload.rel); if(!response.ok)throw new Error('read '+response.status); - Network accessline 87
const response=await fetch('/'+payload.rel); - Access to secretsline 103
[Credential-related source omitted] - Network accessline 289
served = True try: urllib.request.urlopen(state['url'], timeout=2).read() - Network accessline 290
try: urllib.request.urlopen(state['url'], timeout=2).read() except (urllib.error.URLError, OSError): - Network accessline 291
urllib.request.urlopen(state['url'], timeout=2).read()
scripts/test/test_template_surface.py
- Executable scriptline 1
Executable file - Network accessline 33
CANVAS = ('<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" data-template-canvas-version="v?">' - Network accessline 115
self.assertEqual(page.count('localStorage'), 0, '不透明源里顶层读存储会直接抛') self.assertNotIn('window.port', page) self.assertNotIn('fetch(\'/template-feedback\'', page, '旧的服务器路由不许再出现(那条服务器已退役)') - Network accessline 117
self.assertNotIn('fetch(\'/template-feedback\'', page, '旧的服务器路由不许再出现(那条服务器已退役)') - Network accessline 131
try: state = review_surface.open_review(self.root, open_browser=False, name='template') with urllib.request.urlopen(state['url'], timeout=5) as response: - Network accessline 132
state = review_surface.open_review(self.root, open_browser=False, name='template') with urllib.request.urlopen(state['url'], timeout=5) as response: body = response.read().decode('utf-8') - Network accessline 133
with urllib.request.urlopen(state['url'], timeout=5) as response: - Network accessline 144
served = True try: urllib.request.urlopen(state['url'], timeout=2).read() - Network accessline 145
try: urllib.request.urlopen(state['url'], timeout=2).read() except (urllib.error.URLError, OSError): - Network accessline 146
urllib.request.urlopen(state['url'], timeout=2).read() - Network accessline 174
canvas = fidelity / 'layout_canvases' / f'{layout}.svg' canvas.write_text( f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" ' - Network accessline 175
canvas.write_text( f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" ' f'data-template-canvas-version="{TEMPLATE_CANVAS_VERSION}">' - Network accessline 176
f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" '
scripts/test/test_v5.py
- Executable scriptline 1
Executable file - Network accessline 32
def tearDown(self):self.tmp.cleanup() def svg(self,k,text='Evidence'): (self.root/SVG/(k+'.svg')).write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}"><rect - Network accessline 33
def svg(self,k,text='Evidence'): (self.root/SVG/(k+'.svg')).write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}"><rect width="{FRAME_W_INT}" height="{FRAME_H_INT - Network accessline 34
(self.root/SVG/(k+'.svg')).write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}"><rect width="{FRAME_W_INT}" height="{FRAME_H_INT}" fill="#FFFFFF"/><text x="120" y="180" - Network accessline 318
self.assertEqual(review_snapshot(self.root)['template_sha256'],template_fingerprint()) def test_missing_image_and_stretch_rejected(self): svg=self.root/SVG/'alpha.svg';svg.write_text('<svg xmlns="http://www.w3.org/2000/svg"><ima - Network accessline 319
def test_missing_image_and_stretch_rejected(self): svg=self.root/SVG/'alpha.svg';svg.write_text('<svg xmlns="http://www.w3.org/2000/svg"><image href="missing.png"/></svg>') with self.assertRaisesRegex(ValueError,'Missing ima - Network accessline 320
svg=self.root/SVG/'alpha.svg';svg.write_text('<svg xmlns="http://www.w3.org/2000/svg"><image href="missing.png"/></svg>') - Network accessline 337
head=(f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" ' - Network accessline 492
picture=self.root/SVG/'photo.png';Image.new('RGB',(40,20),'green').save(picture) (self.root/SVG/'alpha.svg').write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}" - Network accessline 493
(self.root/SVG/'alpha.svg').write_text(f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" viewBox="{FRAME_VIEWBOX}"><rect width="{FRAME_W_INT}" height="{FRAME_H_INT}" fill="#FFFFFF"/><image href="photo.pn
scripts/test/test_video_route_init.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 299
Path(checked['candidate']).parent.mkdir(parents=True,exist_ok=True) Path(checked['candidate']).write_text( '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080">' - Network accessline 300
Path(checked['candidate']).write_text( '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080">' '<rect width="1920" height="1080" fill="#FFFFFF"/>' - Network accessline 301
'<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080">'
scripts/test/test_video_route_pipeline.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 26
def svg_markup(text="Evidence"): return (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" ' - Network accessline 27
return (f'<svg xmlns="http://www.w3.org/2000/svg" width="{FRAME_W_INT}" height="{FRAME_H_INT}" '
scripts/test/test_workbench_pipeline.py
- Executable scriptline 1
Executable file - Network accessline 27
def svg(text='Original'): return ('<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" ' - Network accessline 28
return ('<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" ' - Access to secretsline 289
[Credential-related source omitted]
scripts/test/test_workbench_store.py
- Executable scriptline 1
Executable file - Network accessline 21
self.write('_internal/00_project/page_manifest.json', json.dumps({'version': '5.0', 'route': 'slides'})) for key in ('p1', 'p2'): self.write(f'{store.VIEW}/{key}.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" - Network accessline 22
for key in ('p1', 'p2'): self.write(f'{store.VIEW}/{key}.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">' '<text id="title" x="10" y="20">Original</text><rect id="box" width="10" h - Network accessline 23
self.write(f'{store.VIEW}/{key}.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">' - Network accessline 53
def add_page(self, key='p2', before=None): candidate = self.write('new-page.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><text id="new-title" x="10" y="20">New page</text></svg>') - Network accessline 54
candidate = self.write('new-page.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><text id="new-title" x="10" y="20">New page</text></svg>') - Network accessline 84
result = self.add_page('new') self.assertTrue(result['ok']) candidate = self.write('new2.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><text id="new-title" x="10" y="20">New page</text></svg>') - Network accessline 85
self.assertTrue(result['ok']) candidate = self.write('new2.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><text id="new-title" x="10" y="20">New page</text></svg>') result = store.commit(self.root, { - Network accessline 86
candidate = self.write('new2.svg', '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><text id="new-title" x="10" y="20">New page</text></svg>') - Network accessline 367
def test_nested_svg_asset_dependencies_are_pinned(self): self.write('nested/pic.png', 'first nested image') self.write('nested/icon.svg', '<svg xmlns="http://www.w3.org/2000/svg"><image href="pic.png"/></svg>') - Network accessline 368
self.write('nested/pic.png', 'first nested image') self.write('nested/icon.svg', '<svg xmlns="http://www.w3.org/2000/svg"><image href="pic.png"/></svg>') current = store.get_page(self.root, 'p1') - Network accessline 369
self.write('nested/icon.svg', '<svg xmlns="http://www.w3.org/2000/svg"><image href="pic.png"/></svg>') - Network accessline 381
def test_nested_svg_image_cycles_are_rejected(self): self.write('loop.svg', '<svg xmlns="http://www.w3.org/2000/svg"><image href="loop.svg"/></svg>') - Network accessline 382
self.write('loop.svg', '<svg xmlns="http://www.w3.org/2000/svg"><image href="loop.svg"/></svg>')
scripts/test/test_workbench_tools.py
- Executable scriptline 1
Executable file
scripts/test/test_workbench_ui.py
- Executable scriptline 1
Executable file - Network accessline 30
for key in ('alpha', 'omega'): (self.root / SVG / (key + '.svg')).write_text( '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080">' - Network accessline 31
(self.root / SVG / (key + '.svg')).write_text( '<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080">' '<defs><clipPath id="clip"><rect width="300" height="100"/></clipPa - Network accessline 32
'<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="1080" viewBox="0 0 1920 1080">' - Network accessline 76
stored = get_page(self.root, 'alpha') tree = ET.fromstring(stored['svg']) ET.SubElement(tree, '{http://www.w3.org/2000/svg}style').text = '#heading {fill:red}' - Network accessline 77
tree = ET.fromstring(stored['svg']) ET.SubElement(tree, '{http://www.w3.org/2000/svg}style').text = '#heading {fill:red}' stored['svg'] = ET.tostring(tree, encoding='unicode') - Network accessline 78
ET.SubElement(tree, '{http://www.w3.org/2000/svg}style').text = '#heading {fill:red}' - Network accessline 86
stored = get_page(self.root, 'alpha') tree = ET.fromstring(stored['svg']) ET.SubElement(tree, '{http://www.w3.org/2000/svg}text').set('fill', 'var(--nope)') - Network accessline 87
tree = ET.fromstring(stored['svg']) ET.SubElement(tree, '{http://www.w3.org/2000/svg}text').set('fill', 'var(--nope)') stored['svg'] = ET.tostring(tree, encoding='unicode') - Network accessline 88
ET.SubElement(tree, '{http://www.w3.org/2000/svg}text').set('fill', 'var(--nope)') - Access to secretsline 115
[Credential-related source omitted] - Network accessline 137
transport:window.__transport||'postMessage', capabilities:window.__capabilities||['command','draft','asset-upload'], command:body=>window.__storeCommand(body), asset:async rel=>'data:image/svg+xml,'+encodeURIComponen - Network accessline 138
command:body=>window.__storeCommand(body), asset:async rel=>'data:image/svg+xml,'+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="192" height="108"><rect width="192" height="108" fill="white"/></svg>'), - Network accessline 139
asset:async rel=>'data:image/svg+xml,'+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="192" height="108"><rect width="192" height="108" fill="white"/></svg>'), - Network accessline 203
def test_model_add_delete_updates_open_workbench(self): candidate=self.root / 'new.svg' candidate.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080"><text id="new" x="100" y="100">New page</text></sv - Network accessline 204
candidate=self.root / 'new.svg' candidate.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080"><text id="new" x="100" y="100">New page</text></svg>') result=commit(self.root, {'op':'add_page','operatio - Network accessline 205
candidate.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080"><text id="new" x="100" y="100">New page</text></svg>') - Access to secretsline 409
[Credential-related source omitted] - Access to secretsline 436
[Credential-related source omitted] - Access to secretsline 437
[Credential-related source omitted]
scripts/validate_svg_layout.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 603
image_nodes = [ n for n in (list(root.findall(".//{http://www.w3.org/2000/svg}image")) or list(root.findall(".//image"))) - Network accessline 604
n for n in (list(root.findall(".//{http://www.w3.org/2000/svg}image")) or list(root.findall(".//image"))) - Network accessline 606
] for idx, node in enumerate(image_nodes, 1): href = (node.get("href") or node.get("{http://www.w3.org/1999/xlink}href") or "").strip() - Network accessline 607
for idx, node in enumerate(image_nodes, 1): href = (node.get("href") or node.get("{http://www.w3.org/1999/xlink}href") or "").strip() if not href or href.startswith(("data:", "http://", "https://", "#")): - Network accessline 608
href = (node.get("href") or node.get("{http://www.w3.org/1999/xlink}href") or "").strip() - Network accessline 649
text_nodes = [ n for n in (list(root.findall(".//{http://www.w3.org/2000/svg}text")) or list(root.findall(".//text"))) - Network accessline 650
n for n in (list(root.findall(".//{http://www.w3.org/2000/svg}text")) or list(root.findall(".//text"))) - Network accessline 725
visible_rect_nodes = [ n for n in (root.findall(".//{http://www.w3.org/2000/svg}rect") or root.findall(".//rect")) - Network accessline 726
n for n in (root.findall(".//{http://www.w3.org/2000/svg}rect") or root.findall(".//rect")) - Network accessline 728
] visible_line_nodes = [ n for n in (root.findall(".//{http://www.w3.org/2000/svg}line") or root.findall(".//line")) - Network accessline 729
visible_line_nodes = [ n for n in (root.findall(".//{http://www.w3.org/2000/svg}line") or root.findall(".//line")) if not is_in_non_rendering_container(n, parent_map) - Network accessline 730
n for n in (root.findall(".//{http://www.w3.org/2000/svg}line") or root.findall(".//line"))
scripts/workbench_store.py
- Executable scriptline 1
Executable file - Network accessline 21
PNG = '_internal/03_png_preview/pages' ID_ATTR = 'data-workbench-id' XLINK = '{http://www.w3.org/1999/xlink}href' - Network accessline 22
ID_ATTR = 'data-workbench-id' XLINK = '{http://www.w3.org/1999/xlink}href' KEY = re.compile(r'[A-Za-z][A-Za-z0-9_-]{0,63}') - Network accessline 23
XLINK = '{http://www.w3.org/1999/xlink}href' - Network accessline 24
KEY = re.compile(r'[A-Za-z][A-Za-z0-9_-]{0,63}') ET.register_namespace('', 'http://www.w3.org/2000/svg') ET.register_namespace('xlink', 'http://www.w3.org/1999/xlink') - Network accessline 25
ET.register_namespace('', 'http://www.w3.org/2000/svg') - Network accessline 26
ET.register_namespace('xlink', 'http://www.w3.org/1999/xlink')
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 16 facts
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionassets/review/workbench-tools.js:25High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate_review_html.py:29High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate_template_review_html.py:21High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/image_diagnostics.py:52High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/native_svg_to_ppt.py:1295High confidence
- Contacts schemas.openxmlformats.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/prepare_source_material.py:19High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/project_state.py:271High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/review_feedback.py:31High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/template/apply_fidelity_template.py:10High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/template/build_fidelity_template.py:184High confidence
- Contacts schemas.openxmlformats.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/template/extract_template_assets.py:108High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/template/extract_template_assets.py:700High confidence
- Contacts schemas.openxmlformats.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/template/extract_template_pack.py:70High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/template/layout_canvas.py:60High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/validate_svg_layout.py:604High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/workbench_store.py:23High confidence
Signal confidence: 337 facts
- Network access in prose of documentationCHANGELOG.md:248Low confidence
- Network access in prose of documentationCHANGELOG.md:249Low confidence
- Network access in prose of documentationCHANGELOG.md:287Low confidence
- Network access in prose of documentationCHANGELOG.md:288Low confidence
- Network access in prose of documentationCHANGELOG.md:289Low confidence
- Network access in prose of documentationCOMMERCIAL.md:30Low confidence
- Network access in prose of documentationCOMMERCIAL.md:32Low confidence
- Executable script in prose of a file that runsGOTCHAS.md:1Low confidence
- Network access in prose of a file that runsGOTCHAS.md:104Low confidence
- Network access in prose of a file that runsGOTCHAS.md:105Low confidence
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:4Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:32Low confidence
- Network access in code of documentationREADME.md:41Low confidence
- Network access in prose of documentationREADME.md:48Low confidence
- Network access in prose of documentationREADME.md:49Low confidence
- Network access in prose of documentationREADME.md:50Low confidence
- Network access in prose of documentationREADME.md:51Low confidence
- Network access in code of documentationREADME.md:89Low confidence
- Network access in code of documentationREADME.md:95Low confidence
- Network access in code of documentationREADME.md:110Low confidence
- Network access in code of documentationREADME.md:112Low confidence
- Network access in prose of documentationREADME.md:180Low confidence
- Network access in prose of documentationSECURITY.md:33Low confidence
- Network access in prose of documentationSECURITY.md:34Low confidence
- Network access in prose of the SKILL.mdSKILL.md:8Low confidence
- Network access in prose of documentationTRADEMARK.md:34Low confidence
- Network access in prose of documentationTRADEMARK.md:35Low confidence
- Executable script in code of a file that runsagents/openai.yaml:1High confidence
- Executable script in a comment of a file that runsassets/review/workbench-tools.js:1Low confidence
- Network access in code of a file that runsassets/review/workbench-tools.js:23High confidence
- Network access in code of a file that runsassets/review/workbench-tools.js:24High confidence
- Network access in code of a file that runsassets/review/workbench-tools.js:25High confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/04_WORK_LOG.md:70Low confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/04_WORK_LOG.md:71Low confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/04_WORK_LOG.md:72Low confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/07_FINAL_VERIFICATION_AND_DIFF.md:15Low confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/07_FINAL_VERIFICATION_AND_DIFF.md:16Low confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/07_FINAL_VERIFICATION_AND_DIFF.md:17Low confidence
- Network access in prose of documentationdocs/history/architecture-upgrade-20260717/07_FINAL_VERIFICATION_AND_DIFF.md:93Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:326Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:327Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:328Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:329Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:330Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:350Low confidence
- Network access in code of documentationdocs/history/legacy-planning/acceptance-remediation-tasks.md:351Low confidence
- Dangerous shell operation in code of documentationdocs/history/legacy-planning/template-asset-extraction-v2-task-breakdown.md:508Low confidence
- Dangerous shell operation in code of documentationdocs/history/legacy-planning/template-asset-extraction-v2-task-breakdown.md:549Low confidence
and 287 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.