@litfamily/lithermes 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +299 -13
- package/README_Ko-KR.md +300 -14
- package/assets/lithermes-plugin/README.md +17 -6
- package/assets/lithermes-plugin/__init__.py +96 -21
- package/assets/lithermes-plugin/core.py +15 -6
- package/assets/lithermes-plugin/core_commands.py +140 -28
- package/assets/lithermes-plugin/core_contexts.py +88 -15
- package/assets/lithermes-plugin/core_contract.py +118 -9
- package/assets/lithermes-plugin/core_routing.py +197 -8
- package/assets/lithermes-plugin/deliverable_hedge_guard.py +378 -357
- package/assets/lithermes-plugin/diagnostics.py +53 -2
- package/assets/lithermes-plugin/humanizer_detector.py +348 -0
- package/assets/lithermes-plugin/humanizer_ko_metrics.py +108 -0
- package/assets/lithermes-plugin/humanizer_office.py +18 -0
- package/assets/lithermes-plugin/lit_mark.py +1 -1
- package/assets/lithermes-plugin/motion_receipts.py +80 -0
- package/assets/lithermes-plugin/payload-version.json +2240 -64
- package/assets/lithermes-plugin/plugin.yaml +1 -1
- package/assets/lithermes-plugin/rules/bundled-rules/lit-humanizer.md +14 -0
- package/assets/lithermes-plugin/skills/autoconference/assets/report_template.md +2 -1
- package/assets/lithermes-plugin/skills/autoconference/modes/ship/SKILL.md +11 -8
- package/assets/lithermes-plugin/skills/autoresearch/modes/ship/type-checklists.md +2 -2
- package/assets/lithermes-plugin/skills/browser-drive/ORIGIN.json +17 -0
- package/assets/lithermes-plugin/skills/browser-drive/SKILL.md +41 -16
- package/assets/lithermes-plugin/skills/browser-drive/scripts/capability_probe.py +122 -10
- package/assets/lithermes-plugin/skills/frontend-ui-ux/SKILL.md +45 -13
- package/assets/lithermes-plugin/skills/frontend-ui-ux/examples/phase-3-readme-ab/README.md +51 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/README.md +44 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/adaptive-layout.md +34 -62
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/brand-and-imagery.md +22 -70
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +18 -4
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/composition.md +27 -78
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/craft-floor.md +74 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/creative-directions.md +25 -69
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/evidence-review.md +18 -97
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/implementation-platforms.md +23 -83
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/inclusive-interface.md +22 -70
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/interaction-motion.md +34 -68
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/motion-guide.md +62 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/operating-lanes.md +14 -78
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/performance-delivery.md +22 -71
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/product-direction.md +17 -70
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/production.md +19 -7
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/redesign-playbook.md +23 -76
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/slop-register.md +69 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/system-foundations.md +22 -67
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-language.md +16 -72
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-reconstruction.md +16 -81
- package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/THIRD-PARTY-NOTICE.txt +15 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe-page.js +311 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe-rules.json +46 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe.mjs +231 -0
- package/assets/lithermes-plugin/skills/lit-comprehend/SKILL.md +36 -25
- package/assets/lithermes-plugin/skills/lit-comprehend/references/artifact-template.md +45 -87
- package/assets/lithermes-plugin/skills/lit-comprehend/scripts/verify-explainer.py +3 -27
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/NOTICE +33 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/SKILL.md +308 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/OFL.txt +94 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/PretendardVariable.woff2 +0 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/provenance.json +22 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/icons.html +231 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/index.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/devicon-MIT.txt +20 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/diagram-design-MIT.txt +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/log-z-MIT.txt +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/simple-icons-CC0.md +30 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/tabler-MIT.txt +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/01-service-architecture/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/01-service-architecture/brief.md +33 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/02-release-decision/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/02-release-decision/brief.md +18 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/03-data-retention/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/03-data-retention/brief.md +19 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/brief.md +17 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/05-review-lanes/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/05-review-lanes/brief.md +17 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/brief.md +17 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/brief.md +19 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/08-policy-traces/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/08-policy-traces/brief.md +20 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/accessibility.md +37 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/export.md +29 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-drawio.md +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-excalidraw.md +14 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-mermaid.md +18 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-schema.md +28 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/korean-typography.md +34 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/motion.md +29 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/office-pptx-docx.md +40 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/output-spec.md +48 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-annotation.md +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-icons.md +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-sketchy.md +11 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-terminal.md +11 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/profiles.md +24 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/semantic-patterns.md +27 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/style-guide.md +67 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-architecture.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bar.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-beeswarm.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bubble.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bump.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-catalog.json +1433 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-data-flow.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-datalake.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-db-schema.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dependency.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-deployment.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dp-integration.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dp-security-matrix.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-er.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-fishbone.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-flowchart.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-gantt.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-heatmap.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-high-level-vertical.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-high-level.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-drawio.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-excalidraw.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-mermaid.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-it-state.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-journey.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-kanban.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-layers.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-line.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-loop-terminal.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-loop.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-marimekko.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-medallion.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-nested.md +59 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-org-chart.md +58 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-paved-road-animated.md +72 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-polar.md +67 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-policy-trace-animated.md +69 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-process.md +58 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-pyramid.md +59 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-quadrant-consultant.md +60 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-quadrant.md +57 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-queue-animated.md +63 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-radar.md +57 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-ridgeline.md +63 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sankey.md +68 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-scatter.md +60 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sequence-oauth.md +66 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sequence.md +63 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-slopegraph.md +65 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-state-lifecycle.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-state.md +59 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-story-map.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-streamgraph.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-swimlane.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-timeline.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-tree-block-decomposition.md +57 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-tree.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-treemap.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-uml-class.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-venn.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-wardley.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-waterfall.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/verifier-guide.md +31 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/block-registry.mjs +43 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/browser-version.mjs +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/check-visible-text.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_brief.py +192 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_catalog.py +135 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_checks.py +123 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_cli.py +94 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_geometry.py +130 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_metrics.py +166 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_quality.py +293 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_quality_geometry.py +200 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_records.py +205 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_sequence.py +55 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/doctor.mjs +24 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/drawio_extract.py +209 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/drawio_source.py +188 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/excalidraw_extract.py +233 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/excalidraw_support.py +64 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/export.mjs +125 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/mermaid_extract.py +240 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/mermaid_source.py +39 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/office-safety.mjs +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-all.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-brief.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-diagram.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-motion.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-type.py +12 -0
- package/assets/lithermes-plugin/skills/lit-docx/NOTICE +1 -0
- package/assets/lithermes-plugin/skills/lit-docx/SKILL.md +97 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/frontmatter_schema.md +42 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/journal_style_spec.md +17 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/markdown_quality_checklist.md +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/slop_phrase_list.yaml +58 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/slop_rules.md +35 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/clean_markdown.py +95 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_md_to_docx.py +1041 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_md_to_pdf.py +281 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_pdf.py +130 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/edit_docx.py +297 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/embed_images.py +78 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/generate_docx_templates.py +491 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/slop_lint.py +536 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/visual_audit.py +41 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/acs.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/elsevier.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/ieee.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/korean-generic.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/nature.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/acs/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/acs/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/elsevier/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/elsevier/template.tex +38 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/ieee/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/ieee/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/korean-generic/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/korean-generic/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/nature/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/nature/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/registry.yaml +1366 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/NOTICE +170 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/SKILL.md +125 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/assets/report-skeleton.md +26 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/assets/slide-text-skeleton.md +30 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/accessibility-note/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/accessibility-note/before.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/api-reference/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/api-reference/before.md +15 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/changelog/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/changelog/before.md +12 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/code-comments/after.md +10 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/code-comments/before.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/commit/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/commit/before.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/data-release/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/data-release/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/ko-metrics-golden.json +49 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/pos-real.txt +26 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/rule-cases.json +306 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/english-essay/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/english-essay/before.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/incident-update/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/incident-update/before.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-essay/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-essay/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-report/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-report/before.md +13 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-slide/after.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-slide/before.md +21 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/meeting-brief/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/meeting-brief/before.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/policy-faq/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/policy-faq/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/pr/after.md +15 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/pr/before.md +17 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/project-update/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/project-update/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/readme/after.md +12 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/readme/before.md +14 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/report/after.md +13 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/report/before.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/research-abstract/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/research-abstract/before.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/slides/after.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/slides/before.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/troubleshooting/after.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/troubleshooting/before.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/README.md +16 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/always-on-rule.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/code-patterns.md +468 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/deliverable-channels.md +111 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-checklist.md +43 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-content.md +243 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-structure.md +375 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns.md +57 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-metrics.md +33 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns-a-d.md +659 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns-e-j.md +387 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns.md +31 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/rewrite-playbook.md +54 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/taxonomy.md +153 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/rules.json +884 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/scripts/detect.py +17 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/scripts/extract_office_text.py +114 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/scripts/ko_metrics.py +35 -0
- package/assets/lithermes-plugin/skills/lit-pptx/NOTICE +1 -0
- package/assets/lithermes-plugin/skills/lit-pptx/SKILL.md +109 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/analyst.md +49 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/antithesis.md +65 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/architect.md +44 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/critic.md +42 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/synthesizer.md +47 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/thesis.md +33 -0
- package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-lg.png +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-md.png +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-sm.png +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/bin/office.mjs +77 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/PRETENDARD-OFL.txt +94 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Black.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Bold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-ExtraBold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-ExtraLight.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Light.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Medium.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Regular.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-SemiBold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Thin.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/OFL.txt +94 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/SOURCE.md +29 -0
- package/assets/lithermes-plugin/skills/lit-pptx/pretendard-font/public/static/PretendardGOV-Bold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/pretendard-font/public/static/PretendardGOV-Regular.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/anti-slop-checklist.md +71 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/authoring-guide.md +139 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/consensus-protocol.md +125 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/data-display-cookbook.md +45 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/design-system-azure.md +58 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/package-lock.json +750 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/package.json +15 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/requirements.in +7 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/requirements.lock +391 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/compile-deck.js +447 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/craft_extras.py +215 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/embed_fonts.py +199 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/integrity.py +60 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/inventory.py +64 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/learn_template.py +433 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/derive-palette.js +176 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/directive-parser.js +244 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/font-map.js +79 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/gen-bg.js +85 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/gen-gradient-assets.js +36 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/layout-resolver.js +736 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/markdown-loader.js +136 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/render-adapter-html.js +357 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +1864 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/slide-ast.js +539 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/spec-validator.js +94 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/template-registry.js +355 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/qa_deck.py +791 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/validate_pptx.py +206 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/markdown-slide-spec-v1.md +251 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/markdown-slide-spec-v2.md +221 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/slide-ast-v1.schema.json +229 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/slide-ast-v2.schema.json +144 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/template-enrollment-contract.md +228 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/capabilities.yaml +146 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +384 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +37 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/capabilities.yaml +154 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +405 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +37 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/capabilities.yaml +179 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/layout-mapping.yaml +299 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/template.yaml +45 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/capabilities.yaml +181 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/layout-mapping.yaml +299 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/template.yaml +44 -0
- package/assets/lithermes-plugin/skills/lit-scientific-visualization/SKILL.md +2 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/SKILL.md +71 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/audio.py +45 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/motion.mjs +690 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/runtime.mjs +299 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/NOTICE +23 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/THIRD_PARTY_NOTICES +55 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/browser.mjs +169 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/completion.mjs +52 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/constants.mjs +162 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/director.mjs +33 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/encode.mjs +191 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/flash.mjs +163 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/frame.mjs +428 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/gate.mjs +483 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/look.mjs +223 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/page.js +622 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/presets.mjs +170 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/scenes.mjs +242 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/sound.mjs +382 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-gate.mjs +97 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-init.js +186 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-kit.js +389 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-qa.mjs +358 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-worker.mjs +33 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage.mjs +691 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stills.mjs +71 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stroke.mjs +231 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/timeline.mjs +177 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/treatment.mjs +244 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/type.mjs +183 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/util.mjs +152 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/craft-loop.md +175 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/engine-contract.md +166 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/runtime.md +122 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/stage.md +261 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/style-bibles.md +122 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/treatment.md +164 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/type-craft.md +92 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/fonts.json +154 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/licenses/CREDITS +20 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/licenses/EMS-OFL.txt +91 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/package-lock.json +88 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/package.json +12 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/requirements.in +1 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/requirements.lock +727 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/word-timing.json +9 -0
- package/assets/lithermes-plugin/skills/litresearch/SKILL.md +19 -18
- package/assets/lithermes-plugin/skills/litwork/SKILL.md +28 -0
- package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +3 -3
- package/package.json +1 -1
- package/readme-assets/ab-simple/s11-ui-baseline-desktop.webp +0 -0
- package/readme-assets/ab-simple/s11-ui-lithermes-desktop.webp +0 -0
- package/readme-assets/ab-simple/s3-ui-baseline-desktop.webp +0 -0
- package/readme-assets/ab-simple/s3-ui-lithermes-desktop.webp +0 -0
- package/readme-assets/ab-simple/s4-ui-baseline-desktop.webp +0 -0
- package/readme-assets/ab-simple/s4-ui-lithermes-desktop.webp +0 -0
- package/readme-assets/ab-simple/s5-office-baseline-slides.webp +0 -0
- package/readme-assets/ab-simple/s5-office-lithermes-slides.webp +0 -0
- package/readme-assets/ab-simple/s7-lithermes-diagram.webp +0 -0
- package/readme-assets/ab-simple/s8-office-baseline-slides.webp +0 -0
- package/readme-assets/ab-simple/s8-office-lithermes-slides.webp +0 -0
- package/readme-assets/ab-simple/s9-office-lithermes-pages.webp +0 -0
- package/readme-assets/badge-version.svg +1 -1
- package/readme-assets/cover-motion-still.webp +0 -0
- package/readme-assets/cover-motion.webp +0 -0
- package/readme-assets/skills/autoconference.webp +0 -0
- package/readme-assets/skills/autoresearch.webp +0 -0
- package/readme-assets/skills/browser-drive.webp +0 -0
- package/readme-assets/skills/comment-checker.webp +0 -0
- package/readme-assets/skills/debugging.webp +0 -0
- package/readme-assets/skills/deep-interview.webp +0 -0
- package/readme-assets/skills/frontend-ui-ux.webp +0 -0
- package/readme-assets/skills/lit-burnoff-file.webp +0 -0
- package/readme-assets/skills/lit-burnoff.webp +0 -0
- package/readme-assets/skills/lit-code.webp +0 -0
- package/readme-assets/skills/lit-commit.webp +0 -0
- package/readme-assets/skills/lit-comprehend.webp +0 -0
- package/readme-assets/skills/lit-crucible.webp +0 -0
- package/readme-assets/skills/lit-diagram-drawer.webp +0 -0
- package/readme-assets/skills/lit-docx.webp +0 -0
- package/readme-assets/skills/lit-handoff.webp +0 -0
- package/readme-assets/skills/lit-humanizer.webp +0 -0
- package/readme-assets/skills/lit-init.webp +0 -0
- package/readme-assets/skills/lit-plan.webp +0 -0
- package/readme-assets/skills/lit-pptx.webp +0 -0
- package/readme-assets/skills/lit-recap.webp +0 -0
- package/readme-assets/skills/lit-scientific-visualization.webp +0 -0
- package/readme-assets/skills/lit-typographic-motion.webp +0 -0
- package/readme-assets/skills/litgoal.webp +0 -0
- package/readme-assets/skills/litresearch.webp +0 -0
- package/readme-assets/skills/litwork.webp +0 -0
- package/readme-assets/skills/lsp-setup.webp +0 -0
- package/readme-assets/skills/lsp.webp +0 -0
- package/readme-assets/skills/readme-studio.webp +0 -0
- package/readme-assets/skills/refactor.webp +0 -0
- package/readme-assets/skills/review-work.webp +0 -0
- package/readme-assets/skills/rules.webp +0 -0
- package/readme-assets/skills/start-work.webp +0 -0
- package/readme-assets/skills/structural-search.webp +0 -0
- package/readme-assets/skills/visual-qa.webp +0 -0
- package/readme-assets/skills/wikify.webp +0 -0
- package/src/cli.js +40 -1
- package/src/lib/check.js +21 -0
- package/src/lib/install.js +262 -7
- package/src/lib/skillPayload.js +3 -3
- package/assets/lithermes-plugin/skills/lit-korean/SKILL.md +0 -237
- package/assets/lithermes-plugin/skills/lit-korean/references/quick-rules.md +0 -24
- package/assets/lithermes-plugin/skills/lit-korean/references/safety-checklist.md +0 -23
- package/readme-assets/cover.webp +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Water-quality pilot
|
|
2
|
+
|
|
3
|
+
## 1. Sampling period
|
|
4
|
+
The pilot ran from 1 June through 30 June 2026.
|
|
5
|
+
|
|
6
|
+
## 2. Three river sites
|
|
7
|
+
Staff collected samples at North Bridge, Market Bend, and South Weir.
|
|
8
|
+
|
|
9
|
+
## 3. Sample count
|
|
10
|
+
Each site contributed 24 samples; the total was 72.
|
|
11
|
+
|
|
12
|
+
## 4. Lab flags
|
|
13
|
+
The lab flagged 2 North Bridge samples and 3 South Weir samples for a second review. None from Market Bend were flagged.
|
|
14
|
+
|
|
15
|
+
## 5. Follow-up
|
|
16
|
+
The second review is scheduled for 8 July. The pilot has no assigned owner for the field follow-up.
|
|
17
|
+
|
|
18
|
+
## 6. Scope
|
|
19
|
+
The pilot records results at these three sites. It does not estimate river-wide conditions or establish a health effect.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Let's dive in to the water-quality pilot.
|
|
2
|
+
|
|
3
|
+
## Slide 1 — Sampling period
|
|
4
|
+
The pilot ran from 1 June through 30 June 2026.
|
|
5
|
+
|
|
6
|
+
## Slide 2 — Locations
|
|
7
|
+
Staff collected samples at three river sites: North Bridge, Market Bend, and South Weir.
|
|
8
|
+
|
|
9
|
+
## Slide 3 — Sample count
|
|
10
|
+
The team collected 24 samples at each site, for 72 samples total.
|
|
11
|
+
|
|
12
|
+
## Slide 4 — Lab flags
|
|
13
|
+
The lab flagged 2 samples from North Bridge and 3 from South Weir for a second review. No samples from Market Bend were flagged.
|
|
14
|
+
|
|
15
|
+
## Slide 5 — Follow-up
|
|
16
|
+
The lab scheduled the second review for 8 July. The pilot has not assigned an owner for the field follow-up.
|
|
17
|
+
|
|
18
|
+
## Slide 6 — Boundary
|
|
19
|
+
The pilot records sample results at the three sites. It does not estimate river-wide conditions or establish a health effect.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Upload requests return 429
|
|
2
|
+
|
|
3
|
+
The API allows 60 requests per minute per account. A 429 response includes a Retry-After header with the number of seconds to wait before sending another request.
|
|
4
|
+
|
|
5
|
+
Read that header and pause for the stated interval. For example, if the value is 30, wait 30 seconds before retrying:
|
|
6
|
+
|
|
7
|
+
~~~sh
|
|
8
|
+
curl -i -X POST https://api.example.test/uploads
|
|
9
|
+
~~~
|
|
10
|
+
|
|
11
|
+
The rate limit resets every minute. Check the account's request count in the dashboard if 429 responses continue after the wait. Contact support if repeated 429 responses persist.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Certainly! Here is a comprehensive guide to resolving upload errors.
|
|
2
|
+
|
|
3
|
+
If the API returns 429, it means that the request rate is too high. The service accepts up to 60 requests per minute for each account. The response includes a Retry-After header with the number of seconds before another request can be sent.
|
|
4
|
+
|
|
5
|
+
First, it is important to check whether your client reads this header. Then, you can implement a robust retry strategy. The following example uses a 30-second delay:
|
|
6
|
+
|
|
7
|
+
~~~sh
|
|
8
|
+
curl -i -X POST https://api.example.test/uploads
|
|
9
|
+
~~~
|
|
10
|
+
|
|
11
|
+
If errors continue, check your account's request count in the dashboard. The rate limit resets every minute. Contact support if your client receives repeated 429 responses after following these steps. Let me know if you'd like me to provide an example in another language.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# LitHumanizer references
|
|
2
|
+
|
|
3
|
+
Use the router in `SKILL.md` first. Load only the guide needed for the edit.
|
|
4
|
+
|
|
5
|
+
| Need | Read |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Process and meaning-preserving rewrite | [rewrite-playbook.md](rewrite-playbook.md) |
|
|
8
|
+
| Deliverable vs chat boundaries | [deliverable-channels.md](deliverable-channels.md), then [taxonomy.md](taxonomy.md) |
|
|
9
|
+
| English line, content, or structure | [en-patterns.md](en-patterns.md), [en-patterns-content.md](en-patterns-content.md), [en-patterns-structure.md](en-patterns-structure.md) |
|
|
10
|
+
| Full English pass | [en-patterns-checklist.md](en-patterns-checklist.md) |
|
|
11
|
+
| Korean pattern families | [ko-patterns.md](ko-patterns.md), [ko-patterns-a-d.md](ko-patterns-a-d.md), [ko-patterns-e-j.md](ko-patterns-e-j.md) |
|
|
12
|
+
| Korean metrics | [ko-metrics.md](ko-metrics.md); counts are advisory |
|
|
13
|
+
| Code, comments, README, changelog, commit, or PR prose | [code-patterns.md](code-patterns.md) |
|
|
14
|
+
| Bundled always-on reminder | [always-on-rule.md](always-on-rule.md) |
|
|
15
|
+
|
|
16
|
+
`rules.json` supplies the Python detector. `scripts/detect.py` accepts text, DOCX, PPTX, and PDF when the host provides `pdftotext`. `scripts/extract_office_text.py` exposes extraction alone. `scripts/ko_metrics.py` reports descriptive Korean signals. Examples are paired under `../examples/`; reusable report and slide text skeletons are under `../assets/`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Always-on rule: lit-humanizer
|
|
2
|
+
|
|
3
|
+
Apply to new text you write in chat or files. Check only new or changed model text; preserve existing file text and exact user quotations. Skip code fences, inline code, and internal records. Load the full skill for long deliverables, explicit rewrites, or Korean deep work.
|
|
4
|
+
|
|
5
|
+
Block only clear drafting residue: evidence/source label lines, stacked caveats, model disclaimers, and chatbot sign-offs. Warn on vocabulary, contrast, triads, and rhythm; revise only when voice and genre improve.
|
|
6
|
+
|
|
7
|
+
Use footnotes or reference lists for citations, never label-only lines. State material risk once, plainly, in chat, not in the deliverable body. Keep internal evidence, plans, ledgers, handoffs, status, and JSON detailed.
|
|
8
|
+
|
|
9
|
+
Review code comments, commit/PR/README text, and code shape. Remove narration or a one-use wrapper only if behavior and trust-boundary checks stay intact. Preserve facts, numbers, names, quotes, citations, and meaningful qualifiers. Run the detector on new text; fix blocks.
|
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
# Code and developer-writing patterns
|
|
2
|
+
|
|
3
|
+
Treat comments, docstrings, commit messages, pull requests, READMEs, and changelogs as prose. Treat executable structure as code review, not style cleanup. A shorter implementation is not automatically better.
|
|
4
|
+
|
|
5
|
+
## Safety boundary
|
|
6
|
+
|
|
7
|
+
Keep validation at untrusted input boundaries, checks that prevent corruption, error handling that preserves data, permission checks, accessibility behavior, cleanup on failure, and checks for real platform variation. Remove a branch only when the upstream type or contract guarantees the value. A detector warning is not static-analysis proof.
|
|
8
|
+
|
|
9
|
+
## CODE-01 | Comments that narrate the next line
|
|
10
|
+
|
|
11
|
+
- What / why: A comment repeats the operation without explaining why it exists.
|
|
12
|
+
- Detect: Compare the comment with the next statement. If the code fully answers it, remove the comment.
|
|
13
|
+
- False positives: Keep rationale, invariants, protocol notes, compatibility reasons, and surprising constraints.
|
|
14
|
+
- Evidence: weak as an authorship clue; useful as a maintenance check.
|
|
15
|
+
|
|
16
|
+
JavaScript / TypeScript:
|
|
17
|
+
|
|
18
|
+
~~~js
|
|
19
|
+
// Bad
|
|
20
|
+
// Increment the attempt counter.
|
|
21
|
+
attempt += 1;
|
|
22
|
+
|
|
23
|
+
// Better
|
|
24
|
+
attempt += 1;
|
|
25
|
+
~~~
|
|
26
|
+
|
|
27
|
+
~~~ts
|
|
28
|
+
// Bad
|
|
29
|
+
// Return the user name.
|
|
30
|
+
return user.name;
|
|
31
|
+
|
|
32
|
+
// Better
|
|
33
|
+
// Preserve the API's null result for deleted users.
|
|
34
|
+
return user.name ?? null;
|
|
35
|
+
~~~
|
|
36
|
+
|
|
37
|
+
Python:
|
|
38
|
+
|
|
39
|
+
~~~python
|
|
40
|
+
# Bad
|
|
41
|
+
# Add one to the retry count.
|
|
42
|
+
retries += 1
|
|
43
|
+
|
|
44
|
+
# Better
|
|
45
|
+
retries += 1
|
|
46
|
+
~~~
|
|
47
|
+
|
|
48
|
+
~~~python
|
|
49
|
+
# Bad
|
|
50
|
+
def load(path):
|
|
51
|
+
"""Load a file."""
|
|
52
|
+
return path.read_text()
|
|
53
|
+
|
|
54
|
+
# Better
|
|
55
|
+
def load(path):
|
|
56
|
+
"""Read UTF-8 config text; callers validate its schema."""
|
|
57
|
+
return path.read_text(encoding="utf-8")
|
|
58
|
+
~~~
|
|
59
|
+
|
|
60
|
+
Shell:
|
|
61
|
+
|
|
62
|
+
~~~sh
|
|
63
|
+
# Bad
|
|
64
|
+
# Create the output directory.
|
|
65
|
+
mkdir -p "$out_dir"
|
|
66
|
+
|
|
67
|
+
# Better
|
|
68
|
+
mkdir -p "$out_dir"
|
|
69
|
+
~~~
|
|
70
|
+
|
|
71
|
+
~~~sh
|
|
72
|
+
# Bad
|
|
73
|
+
# Run the migration.
|
|
74
|
+
./migrate.sh
|
|
75
|
+
|
|
76
|
+
# Better
|
|
77
|
+
# Keep the release lock until the migration exits.
|
|
78
|
+
./migrate.sh
|
|
79
|
+
~~~
|
|
80
|
+
|
|
81
|
+
## CODE-02 | Comments or docstrings that describe edit history
|
|
82
|
+
|
|
83
|
+
- What / why: A permanent comment explains what an earlier version did instead of the current behavior.
|
|
84
|
+
- Detect: Search for references to the edit itself or a previous implementation.
|
|
85
|
+
- False positives: Migration notes and changelogs are about change by design.
|
|
86
|
+
- Evidence: weak; location and purpose determine whether history belongs there.
|
|
87
|
+
|
|
88
|
+
~~~js
|
|
89
|
+
// Bad
|
|
90
|
+
// Replaced the old loop that scanned every record.
|
|
91
|
+
return recordsById.get(id);
|
|
92
|
+
|
|
93
|
+
// Better
|
|
94
|
+
// Map lookup stays constant-time as the record set grows.
|
|
95
|
+
return recordsById.get(id);
|
|
96
|
+
~~~
|
|
97
|
+
|
|
98
|
+
~~~python
|
|
99
|
+
# Bad
|
|
100
|
+
# This used to call the network twice before we changed it.
|
|
101
|
+
return cached_response
|
|
102
|
+
|
|
103
|
+
# Better
|
|
104
|
+
# Reuse the cached response so retries do not issue a second request.
|
|
105
|
+
return cached_response
|
|
106
|
+
~~~
|
|
107
|
+
|
|
108
|
+
## CODE-03 | Defensive checks that duplicate a proven contract
|
|
109
|
+
|
|
110
|
+
- What / why: A local branch repeats a type or invariant already guaranteed at that call site.
|
|
111
|
+
- Detect: Trace the value from input to this line. Check runtime boundaries, deserialization, plugin calls, and public APIs separately.
|
|
112
|
+
- False positives: Never remove input checks just because a type annotation exists if data can arrive from JSON, a user, disk, environment variables, a network, or another runtime.
|
|
113
|
+
- Evidence: weak; requires repository knowledge.
|
|
114
|
+
|
|
115
|
+
~~~ts
|
|
116
|
+
// Before: simplify only when the internal module contract guarantees a number.
|
|
117
|
+
function label(count: number): string {
|
|
118
|
+
if (typeof count !== "number") throw new TypeError("count must be numeric");
|
|
119
|
+
return String(count);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// After: valid only for an internal typed call site, not parsed or external input.
|
|
123
|
+
function label(count: number): string {
|
|
124
|
+
return String(count);
|
|
125
|
+
}
|
|
126
|
+
~~~
|
|
127
|
+
|
|
128
|
+
~~~python
|
|
129
|
+
# Before: redundant only if an internal caller already validated this value.
|
|
130
|
+
def format_count(count: int) -> str:
|
|
131
|
+
if not isinstance(count, int):
|
|
132
|
+
raise TypeError("count must be an integer")
|
|
133
|
+
return str(count)
|
|
134
|
+
|
|
135
|
+
# After: valid only inside that established boundary.
|
|
136
|
+
def format_count(count: int) -> str:
|
|
137
|
+
return str(count)
|
|
138
|
+
~~~
|
|
139
|
+
|
|
140
|
+
Shell inputs usually cross a trust boundary. Keep validation:
|
|
141
|
+
|
|
142
|
+
~~~sh
|
|
143
|
+
# Preserve this guard for an environment-supplied path.
|
|
144
|
+
case "$target_dir" in
|
|
145
|
+
""|"/"|"$HOME") printf '%s\n' "unsafe target" >&2; exit 2 ;;
|
|
146
|
+
esac
|
|
147
|
+
rm -rf -- "$target_dir"
|
|
148
|
+
~~~
|
|
149
|
+
|
|
150
|
+
A shell guard is not redundant merely because the caller usually supplies a safe value. Remove only a check proven unreachable by an explicit internal invariant.
|
|
151
|
+
|
|
152
|
+
## CODE-04 | One-use pass-through wrappers
|
|
153
|
+
|
|
154
|
+
- What / why: A one-call helper adds a name but no behavior, contract, test seam, or reuse.
|
|
155
|
+
- Detect: Search for other call sites and inspect whether the helper expresses an important domain concept.
|
|
156
|
+
- False positives: Keep wrappers that enforce policy, isolate an external dependency, or give a stable test seam.
|
|
157
|
+
- Evidence: weak; repository architecture decides.
|
|
158
|
+
|
|
159
|
+
JavaScript / TypeScript:
|
|
160
|
+
|
|
161
|
+
~~~js
|
|
162
|
+
// Before
|
|
163
|
+
function getUser(id) {
|
|
164
|
+
return database.getUser(id);
|
|
165
|
+
}
|
|
166
|
+
const user = getUser(id);
|
|
167
|
+
|
|
168
|
+
// After, when no policy or reuse exists
|
|
169
|
+
const user = database.getUser(id);
|
|
170
|
+
~~~
|
|
171
|
+
|
|
172
|
+
~~~ts
|
|
173
|
+
// Keep this wrapper: it enforces authorization before returning a profile.
|
|
174
|
+
async function getProfile(actor, id) {
|
|
175
|
+
await requireAccess(actor, id);
|
|
176
|
+
return profiles.get(id);
|
|
177
|
+
}
|
|
178
|
+
~~~
|
|
179
|
+
|
|
180
|
+
Python:
|
|
181
|
+
|
|
182
|
+
~~~python
|
|
183
|
+
# Before
|
|
184
|
+
def read_config(path):
|
|
185
|
+
return Path(path).read_text()
|
|
186
|
+
|
|
187
|
+
config = read_config(path)
|
|
188
|
+
|
|
189
|
+
# After, when no contract or reuse exists
|
|
190
|
+
config = Path(path).read_text()
|
|
191
|
+
~~~
|
|
192
|
+
|
|
193
|
+
~~~python
|
|
194
|
+
# Keep this wrapper: it pins encoding and maps a missing file to a domain error.
|
|
195
|
+
def read_policy(path):
|
|
196
|
+
try:
|
|
197
|
+
return Path(path).read_text(encoding="utf-8")
|
|
198
|
+
except FileNotFoundError as exc:
|
|
199
|
+
raise PolicyMissing(path) from exc
|
|
200
|
+
~~~
|
|
201
|
+
|
|
202
|
+
Shell:
|
|
203
|
+
|
|
204
|
+
~~~sh
|
|
205
|
+
# Before
|
|
206
|
+
run_tests() {
|
|
207
|
+
npm test
|
|
208
|
+
}
|
|
209
|
+
run_tests
|
|
210
|
+
|
|
211
|
+
# After, for one direct call with no options or contract
|
|
212
|
+
npm test
|
|
213
|
+
~~~
|
|
214
|
+
|
|
215
|
+
~~~sh
|
|
216
|
+
# Keep a helper that verifies the receipt before reporting success.
|
|
217
|
+
verify_receipt() {
|
|
218
|
+
node scripts/verify-receipt.mjs "$1"
|
|
219
|
+
}
|
|
220
|
+
~~~
|
|
221
|
+
|
|
222
|
+
## CODE-05 | Speculative configuration
|
|
223
|
+
|
|
224
|
+
- What / why: A new option is added without a user, supported consumer, or defined behavior.
|
|
225
|
+
- Detect: Require a concrete call site, default, validation rule, and documentation for each option.
|
|
226
|
+
- False positives: Keep settings that already exist in the host contract or that the task explicitly requests.
|
|
227
|
+
- Evidence: weak; this is a scope-control review.
|
|
228
|
+
|
|
229
|
+
~~~ts
|
|
230
|
+
// Bad: imaginary option with no consumer
|
|
231
|
+
const config = { retryMode: "smart", fallbackRegion: "auto" };
|
|
232
|
+
|
|
233
|
+
// Better: expose only the supported retry value
|
|
234
|
+
const config = { retries: 2 };
|
|
235
|
+
~~~
|
|
236
|
+
|
|
237
|
+
~~~python
|
|
238
|
+
# Bad: accepted but never changes behavior
|
|
239
|
+
def connect(endpoint, experimental_pooling=False):
|
|
240
|
+
return Client(endpoint)
|
|
241
|
+
|
|
242
|
+
# Better: remove the unused setting or implement its contract
|
|
243
|
+
def connect(endpoint):
|
|
244
|
+
return Client(endpoint)
|
|
245
|
+
~~~
|
|
246
|
+
|
|
247
|
+
~~~sh
|
|
248
|
+
# Bad: undocumented environment knob with no reader
|
|
249
|
+
export LIT_AUTO_REPAIR_MODE=smart
|
|
250
|
+
|
|
251
|
+
# Better: remove it until a supported caller defines its meaning
|
|
252
|
+
node scripts/check.mjs
|
|
253
|
+
~~~
|
|
254
|
+
|
|
255
|
+
## CODE-06 | Over-broad exception handling
|
|
256
|
+
|
|
257
|
+
- What / why: A catch-all hides errors the code does not know how to recover from.
|
|
258
|
+
- Detect: List expected exceptions and the recovery action for each. Keep cleanup in finally blocks.
|
|
259
|
+
- False positives: A process boundary may need a broad handler that logs and exits; preserve it when it prevents partial state or gives a clear failure.
|
|
260
|
+
- Evidence: weak; behavior and data-safety determine the review.
|
|
261
|
+
|
|
262
|
+
~~~js
|
|
263
|
+
// Bad
|
|
264
|
+
try {
|
|
265
|
+
await writeReceipt();
|
|
266
|
+
} catch {
|
|
267
|
+
return "ok";
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// Better: report write failure instead of inventing success
|
|
271
|
+
await writeReceipt();
|
|
272
|
+
return "ok";
|
|
273
|
+
~~~
|
|
274
|
+
|
|
275
|
+
~~~js
|
|
276
|
+
// Keep cleanup even when errors propagate.
|
|
277
|
+
try {
|
|
278
|
+
await acquireLock();
|
|
279
|
+
await updateIndex();
|
|
280
|
+
} finally {
|
|
281
|
+
await releaseLock();
|
|
282
|
+
}
|
|
283
|
+
~~~
|
|
284
|
+
|
|
285
|
+
~~~python
|
|
286
|
+
# Bad
|
|
287
|
+
try:
|
|
288
|
+
parse_manifest(path)
|
|
289
|
+
except Exception:
|
|
290
|
+
return {}
|
|
291
|
+
|
|
292
|
+
# Better: recover only from the expected missing optional file
|
|
293
|
+
try:
|
|
294
|
+
parse_manifest(path)
|
|
295
|
+
except FileNotFoundError:
|
|
296
|
+
return {}
|
|
297
|
+
~~~
|
|
298
|
+
|
|
299
|
+
~~~sh
|
|
300
|
+
# Bad: masks the original command failure
|
|
301
|
+
command || true
|
|
302
|
+
|
|
303
|
+
# Better: propagate failure with context
|
|
304
|
+
command || { printf '%s\n' "migration failed" >&2; exit 1; }
|
|
305
|
+
~~~
|
|
306
|
+
|
|
307
|
+
## CODE-07 | Log spam and duplicate state reporting
|
|
308
|
+
|
|
309
|
+
- What / why: Adjacent logs repeat one success or expose details that do not help diagnose a failure.
|
|
310
|
+
- Detect: For each log, ask what action the operator can take from it and whether it contains secrets.
|
|
311
|
+
- False positives: Keep long-job progress, failure context, structured audit events, and privacy-safe status needed for support.
|
|
312
|
+
- Evidence: weak; operational context decides.
|
|
313
|
+
|
|
314
|
+
~~~js
|
|
315
|
+
// Bad
|
|
316
|
+
console.log("starting");
|
|
317
|
+
console.log("started");
|
|
318
|
+
console.log("complete");
|
|
319
|
+
|
|
320
|
+
// Better
|
|
321
|
+
console.log("Index rebuild complete");
|
|
322
|
+
~~~
|
|
323
|
+
|
|
324
|
+
~~~python
|
|
325
|
+
# Bad: prints the same safe status on every loop iteration
|
|
326
|
+
for _ in range(100):
|
|
327
|
+
print("waiting")
|
|
328
|
+
|
|
329
|
+
# Better: report progress at a useful interval
|
|
330
|
+
for step in range(100):
|
|
331
|
+
if step % 10 == 0:
|
|
332
|
+
print(f"checked {step} items")
|
|
333
|
+
~~~
|
|
334
|
+
|
|
335
|
+
~~~sh
|
|
336
|
+
# Bad: dump an entire environment to debug one missing variable
|
|
337
|
+
env
|
|
338
|
+
|
|
339
|
+
# Better: report presence without exposing values
|
|
340
|
+
test -n "$API_ENDPOINT" || printf '%s\n' "API_ENDPOINT is unset" >&2
|
|
341
|
+
~~~
|
|
342
|
+
|
|
343
|
+
Never log credential values, private user data, or full configuration to reduce debugging effort.
|
|
344
|
+
|
|
345
|
+
## CODE-08 | Commit subjects and trailers
|
|
346
|
+
|
|
347
|
+
- What / why: A commit title should say what changed; generated-by trailers do not describe behavior and are forbidden by the family rule.
|
|
348
|
+
- Detect: Read the subject without the diff and confirm it names a concrete change.
|
|
349
|
+
- False positives: Keep conventional prefixes required by the repository; do not add model attribution.
|
|
350
|
+
- Evidence: block for generated attribution under the user's explicit writing policy; ordinary subject style is repository-specific.
|
|
351
|
+
|
|
352
|
+
~~~text
|
|
353
|
+
Bad: Update things and improve stability
|
|
354
|
+
Better: fix: preserve empty optional model fields
|
|
355
|
+
~~~
|
|
356
|
+
|
|
357
|
+
~~~text
|
|
358
|
+
Bad: Changes
|
|
359
|
+
Better: docs: explain the offline install path
|
|
360
|
+
~~~
|
|
361
|
+
|
|
362
|
+
~~~text
|
|
363
|
+
Bad trailer: Generated by an AI assistant
|
|
364
|
+
Better: No generated-by trailer; describe the change in the subject
|
|
365
|
+
~~~
|
|
366
|
+
|
|
367
|
+
## CODE-09 | Pull request descriptions that narrate effort
|
|
368
|
+
|
|
369
|
+
- What / why: A PR should explain behavior, reason, scope, and checks, not praise the author or repeat that work was done.
|
|
370
|
+
- Detect: Remove process claims and retain reproducible behavior plus actual evidence.
|
|
371
|
+
- False positives: Keep an explicit risk, migration step, or test limit.
|
|
372
|
+
- Evidence: weak for style; generated attribution remains prohibited.
|
|
373
|
+
|
|
374
|
+
~~~text
|
|
375
|
+
Bad: This exciting change thoughtfully improves the whole system.
|
|
376
|
+
Better: The installer now preserves an existing model route when updating the plugin.
|
|
377
|
+
~~~
|
|
378
|
+
|
|
379
|
+
~~~text
|
|
380
|
+
Bad: I carefully updated the files and checked everything.
|
|
381
|
+
Better: Changed the config parser and install probe. Tests: npm test. Manual probe: upgrading from schema 45 preserved the route.
|
|
382
|
+
~~~
|
|
383
|
+
|
|
384
|
+
Do not claim a check that did not run. If it failed, report the failure and its scope.
|
|
385
|
+
|
|
386
|
+
## CODE-10 | README instructions that hide prerequisites or limits
|
|
387
|
+
|
|
388
|
+
- What / why: Promotional lead-in delays the command or omits a real constraint.
|
|
389
|
+
- Detect: Check that a reader can identify prerequisites, command, expected result, and recovery path.
|
|
390
|
+
- False positives: Keep necessary security warnings and compatibility notes.
|
|
391
|
+
- Evidence: weak; a usability check, not a detector.
|
|
392
|
+
|
|
393
|
+
~~~md
|
|
394
|
+
Bad: This powerful tool makes setup seamless and easy for everyone.
|
|
395
|
+
Better: Install Node 20 or later, then run npm install.
|
|
396
|
+
~~~
|
|
397
|
+
|
|
398
|
+
~~~md
|
|
399
|
+
Bad: Start the server and use the package.
|
|
400
|
+
Better: Set LIT_ENDPOINT, run npm start, then open the local URL printed by the command. The server stores its cache in .litfamily/cache.
|
|
401
|
+
~~~
|
|
402
|
+
|
|
403
|
+
## CODE-11 | Changelog inflation or missing version facts
|
|
404
|
+
|
|
405
|
+
- What / why: A changelog announces significance instead of naming behavior, or leaves version and compatibility boundaries unclear.
|
|
406
|
+
- Detect: Verify release number, changed behavior, migration impact, and links against the actual release.
|
|
407
|
+
- False positives: Preserve the project's established format and user-facing rationale.
|
|
408
|
+
- Evidence: weak; facts and release convention matter.
|
|
409
|
+
|
|
410
|
+
~~~md
|
|
411
|
+
Bad: A groundbreaking update that transforms the experience.
|
|
412
|
+
Better: 1.4.0 — Keep the existing endpoint when applying an in-place update.
|
|
413
|
+
~~~
|
|
414
|
+
|
|
415
|
+
~~~md
|
|
416
|
+
Bad: Several fixes and improvements.
|
|
417
|
+
Better: 1.4.1 — Fix export when a filename contains a space.
|
|
418
|
+
~~~
|
|
419
|
+
|
|
420
|
+
## CODE-12 | Preserve API contracts when simplifying
|
|
421
|
+
|
|
422
|
+
- What / why: A rewrite can remove a guard or error path callers rely on even when the result looks shorter.
|
|
423
|
+
- Detect: Trace inputs, outputs, exceptions, file writes, and host compatibility before editing.
|
|
424
|
+
- False positives: Defer a style cleanup if the contract is unclear.
|
|
425
|
+
- Evidence: safety invariant rather than a writing-pattern score.
|
|
426
|
+
|
|
427
|
+
~~~ts
|
|
428
|
+
// Bad: a type assertion accepts untrusted JSON without checking its shape.
|
|
429
|
+
const data = JSON.parse(rawText) as Manifest;
|
|
430
|
+
~~~
|
|
431
|
+
|
|
432
|
+
~~~ts
|
|
433
|
+
// Better: validate the parsed value at the trust boundary.
|
|
434
|
+
const data = validateManifest(JSON.parse(rawText));
|
|
435
|
+
~~~
|
|
436
|
+
|
|
437
|
+
~~~python
|
|
438
|
+
# Bad: malformed data is treated like a missing optional file.
|
|
439
|
+
try:
|
|
440
|
+
return parse_config(path)
|
|
441
|
+
except (FileNotFoundError, ValueError):
|
|
442
|
+
return default_config
|
|
443
|
+
~~~
|
|
444
|
+
|
|
445
|
+
~~~python
|
|
446
|
+
# Better: default only when absent; let a corrupt file raise its parse error.
|
|
447
|
+
try:
|
|
448
|
+
return parse_config(path)
|
|
449
|
+
except FileNotFoundError:
|
|
450
|
+
return default_config
|
|
451
|
+
~~~
|
|
452
|
+
|
|
453
|
+
~~~sh
|
|
454
|
+
# Better: keep path validation before a destructive operation.
|
|
455
|
+
validate_target "$target_dir"
|
|
456
|
+
rm -rf -- "$target_dir"
|
|
457
|
+
~~~
|
|
458
|
+
|
|
459
|
+
## Quick review list
|
|
460
|
+
|
|
461
|
+
- Comments state why, what invariant, or which compatibility rule; they do not narrate the next obvious line.
|
|
462
|
+
- Docstrings describe public behavior, accepted inputs, errors, and side effects.
|
|
463
|
+
- Commit subjects identify one change. No generated-by trailers.
|
|
464
|
+
- PRs state behavior, scope, actual checks, and unresolved risks.
|
|
465
|
+
- READMEs put prerequisites and working commands before generic claims.
|
|
466
|
+
- Changelogs name the version and user-visible change.
|
|
467
|
+
- Code simplification preserves trust boundaries, data safety, errors, and platform checks.
|
|
468
|
+
- For JS/TS, Python, and shell, check that static types and runtime input guarantees agree before removing a guard.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Deliverable channels
|
|
2
|
+
|
|
3
|
+
Choose the channel before rewriting. The same fact may be useful in an internal log and distracting in a reader-facing report. Keep complete provenance in internal records; put only the context that helps the intended reader in the deliverable or reply.
|
|
4
|
+
|
|
5
|
+
## Requested artifact
|
|
6
|
+
|
|
7
|
+
Write for the artifact’s audience, format, and voice. Keep every supported fact, name, number, date, quote, citation, and functional qualifier. If a summary omits detail, preserve the source’s direction and limits.
|
|
8
|
+
|
|
9
|
+
Use footnotes, endnotes, or the reference list requested by the user. A source line directly beneath a table or figure is an accepted layout convention when it is plain and attached to the visual. Keep it within one blank line of the visual. Do not turn that allowance into a paragraph-wide exemption. A source line that also contains a limitation remains visible to the detector so the caveat does not disappear.
|
|
10
|
+
|
|
11
|
+
Put a limitation next to the claim it changes and state it once. Prefer a complete sentence naming the scope, measurement, or action. Preserve an actual legal, medical, scientific, financial, or safety boundary when the user requested it or the reader needs it to use the artifact. Never upgrade a proposal or estimate into a result; never delete a negative finding to make the prose sound confident.
|
|
12
|
+
|
|
13
|
+
### Patterns from real deliverables and reader-safe rewrites
|
|
14
|
+
|
|
15
|
+
These pairs are short channel examples. Their after lines retain the source condition and its consequence.
|
|
16
|
+
|
|
17
|
+
> Bad: A 30% gain will follow completion.
|
|
18
|
+
> Better: The report lists a 30% gain as an expected outcome after completion; it is not a realized result.
|
|
19
|
+
>
|
|
20
|
+
> Bad: [C003] says the 30% gain is not realized.
|
|
21
|
+
> Better: The source reports a 30% gain as expected, not realized. Keep the claim-to-source key in the internal record.
|
|
22
|
+
>
|
|
23
|
+
> Bad: Source: annual report, table 4.
|
|
24
|
+
> Better: The annual report records the value in table 4.¹
|
|
25
|
+
>
|
|
26
|
+
> Bad: Source: annual report, table 4. Not a realized outcome.
|
|
27
|
+
> Better: The annual report lists the value as an expected outcome, not a realized one.¹
|
|
28
|
+
>
|
|
29
|
+
> Bad: **Evidence boundary:** the site deployment was not verified.
|
|
30
|
+
> Better: The public product pages do not establish deployment at a specific site.
|
|
31
|
+
>
|
|
32
|
+
> Bad: Evidence: no independent reproduction.
|
|
33
|
+
> Better: We did not independently reproduce the result.
|
|
34
|
+
>
|
|
35
|
+
> Bad: Confidence: High source-backed within the packet.
|
|
36
|
+
> Better: The claim is supported within the supplied packet; it was not independently checked.
|
|
37
|
+
>
|
|
38
|
+
> Bad: [미검증] [증거 기반]
|
|
39
|
+
> Better: 표 3의 추정치는 아직 검증하지 않았습니다. 근거는 보고서 각주 2에 있습니다.
|
|
40
|
+
>
|
|
41
|
+
> Bad: 미확인 · 미실행 · 투자 조언 아님 · 허가 판단 결과 아님
|
|
42
|
+
> Better: 원격 검증은 실행하지 않았습니다. 이 자료는 투자 조언이 아니며 허가 판단을 내리지 않습니다.
|
|
43
|
+
>
|
|
44
|
+
> Bad: demo synthesis and assumptions
|
|
45
|
+
> Better: The architecture is proposed for the demonstration; its leading indicators and baselines are assumptions.
|
|
46
|
+
>
|
|
47
|
+
> Bad: This happened in this lane, using the claim ledger.
|
|
48
|
+
> Better: The internal record links the result to its source. The reader-facing claim names the measured result.
|
|
49
|
+
>
|
|
50
|
+
> Bad: The image receipt confirms the single-frame figure.
|
|
51
|
+
> Better: Figure 6 uses one verified local frame at 2.885 µs.
|
|
52
|
+
>
|
|
53
|
+
> Bad: I've updated the file and saved it.
|
|
54
|
+
> Better: The report now includes the revised measurements.
|
|
55
|
+
>
|
|
56
|
+
> Bad: Let me know if you’d like another version.
|
|
57
|
+
> Better: End after the requested artifact, unless a decision or action remains.
|
|
58
|
+
|
|
59
|
+
A short source attribution under a table, image or figure is an exception for layout, not a new section style. The detector tests Markdown tables, Markdown images, HTML figures, figure captions, one blank line, caveat-bearing sources, and labels left in prose.
|
|
60
|
+
|
|
61
|
+
## Chat reply
|
|
62
|
+
|
|
63
|
+
Return the requested work without an audit preamble. Summarize the change only when useful. State one material risk plainly when it affects a decision. Mention a limitation only when the user needs it to understand what was delivered or what action remains.
|
|
64
|
+
|
|
65
|
+
The reply can include a direct answer or requested explanation. Remove generic service closers and narration about editing. Do not claim a check happened unless it did.
|
|
66
|
+
|
|
67
|
+
## Internal records
|
|
68
|
+
|
|
69
|
+
Plans, evidence files, ledgers, handoffs, status and doctor output, and machine-readable reports may need exact paths, commands, counts, hashes, provenance, uncertainty, and failures. Keep those records detailed and structurally intact. Do not rewrite an internal fact into a smoother but less exact statement.
|
|
70
|
+
|
|
71
|
+
An internal record can retain compact keys, status fields, lane names, and repeated uncertainty when its schema requires them. Do not pass those fields to a reader-facing deliverable unchanged. The product adapter should identify the intended channel before scanning.
|
|
72
|
+
|
|
73
|
+
## Keep useful caveats without stacking them
|
|
74
|
+
|
|
75
|
+
- One result may need one scope sentence. Keep all conditions that change its meaning.
|
|
76
|
+
- If several cautions describe separate risks, give each the location or list required by the artifact; do not compress away a safety condition.
|
|
77
|
+
- If a disclaimer is legally or clinically required, preserve it. Put it where the user or format asked for it.
|
|
78
|
+
- If the source says that a test did not run, say which test and scope. Do not imply it passed.
|
|
79
|
+
- If a source does not support a stronger claim, retain that limit. Do not fabricate a named source to replace vague attribution.
|
|
80
|
+
- If a verification limitation is accurate and changes the claim, state it once in the relevant sentence. Keep the scope exact.
|
|
81
|
+
|
|
82
|
+
## Internal vocabulary to reader prose
|
|
83
|
+
|
|
84
|
+
Keep internal process names inside the corresponding evidence record unless the reader needs the name to reproduce or audit a result. Replace a process label with the content it points to: the specific file, source, measurement, person, date, or action. Do not replace an unknown with a plausible detail.
|
|
85
|
+
|
|
86
|
+
The exact factual relation determines the rewrite. A compact label may become:
|
|
87
|
+
- an attributed observation;
|
|
88
|
+
- a sentence naming a proposal or assumption;
|
|
89
|
+
- a source note attached to a visual;
|
|
90
|
+
- a statement that an action was not run;
|
|
91
|
+
- a scoped legal or safety condition;
|
|
92
|
+
- or an internal record reference.
|
|
93
|
+
|
|
94
|
+
## Category-1 mapping
|
|
95
|
+
|
|
96
|
+
The 26 real lines and synthesis shapes are indexed in references/taxonomy.md. That file gives an individual rewrite for each line. This file defines how to place the rewritten fact:
|
|
97
|
+
|
|
98
|
+
| Shape | Artifact channel |
|
|
99
|
+
|---|---|
|
|
100
|
+
| Source plus forecast, demo status, or assumptions | State the source and status in one factual sentence; keep the citation beside the claim. |
|
|
101
|
+
| Internal keys and routing | Keep tracking details in the evidence record; cite the reader-facing source in the deliverable. |
|
|
102
|
+
| Label, bracket tag, confidence or evidence boundary | Replace the heading with a sentence whose subject is the claim or measurement. |
|
|
103
|
+
| Non-observation or unperformed work | Name what was not observed or run; keep the result’s scope. |
|
|
104
|
+
| Disclaimer chain | Preserve each relevant condition in concise sentences; omit only irrelevant boilerplate. |
|
|
105
|
+
| Source line under a visual | Keep a plain source attribution if directly attached; move the caveat into the claim sentence. |
|
|
106
|
+
| Demo/self-description | Say what is proposed, assumed, simulated, measured, or unverified. Do not use a self-label as evidence. |
|
|
107
|
+
| Standalone “limitations” sentence | Name the actual limitation or leave a real uncertainty explicit. Do not add a generic challenge to create balance. |
|
|
108
|
+
|
|
109
|
+
## Detector boundary for ports
|
|
110
|
+
|
|
111
|
+
Phase A scans the text it receives. Product ports must pass only newly generated or changed model text. Existing file text, exact user quotations, source quotations, internal records, fenced code, and inline code need the host’s explicit boundaries. A standalone script cannot infer which text was changed. When a host has no supported pre-write surface, describe the detector as advisory rather than inventing an integration hook.
|