@litfamily/litmuse 0.0.0-stage → 0.1.0
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/CHANGELOG.md +21 -0
- package/LICENSE +21 -0
- package/README.md +127 -2
- package/README_ko-KR.md +128 -0
- package/bin/litmuse.mjs +131 -0
- package/docs/assets/cover-motion-still.webp +0 -0
- package/docs/assets/cover-motion.webp +0 -0
- package/docs/hud-preset.md +34 -0
- package/lib/approvals.mjs +31 -0
- package/lib/bundle.mjs +128 -0
- package/lib/doctor.mjs +156 -0
- package/lib/guard.mjs +11 -0
- package/lib/install.mjs +168 -0
- package/lib/models.mjs +57 -0
- package/lib/muse.mjs +37 -0
- package/lib/paths.mjs +22 -0
- package/lib/runtime.mjs +73 -0
- package/lib/safe-write.mjs +72 -0
- package/lib/stage-card.mjs +102 -0
- package/lib/style.mjs +41 -0
- package/lib/uninstall.mjs +42 -0
- package/lib/update-check.mjs +30 -0
- package/package.json +57 -4
- package/plugin/.muse-plugin/plugin.json +347 -0
- package/plugin/agents/korean-prose-editor.md +68 -0
- package/plugin/agents/korean-style-analyzer.md +64 -0
- package/plugin/agents/librarian-researcher.md +66 -0
- package/plugin/agents/lit-executor.md +67 -0
- package/plugin/agents/lit-planner.md +80 -0
- package/plugin/agents/lit-verifier.md +64 -0
- package/plugin/agents/meaning-preservation-auditor.md +64 -0
- package/plugin/agents/native-flow-reviewer.md +63 -0
- package/plugin/agents/polish-orchestrator.md +66 -0
- package/plugin/agents/qa-runner.md +65 -0
- package/plugin/agents/quality-reviewer.md +67 -0
- package/plugin/commands/lit-hud.md +12 -0
- package/plugin/commands/lit-korean.md +10 -0
- package/plugin/commands/lit-status.md +15 -0
- package/plugin/commands/lit.md +12 -0
- package/plugin/context/child.md +5 -0
- package/plugin/context/session.md +21 -0
- package/plugin/context/style-asd-ste100.md +45 -0
- package/plugin/context/style-eli5.md +23 -0
- package/plugin/hooks/lib/added-comments.mjs +124 -0
- package/plugin/hooks/lib/common.mjs +176 -0
- package/plugin/hooks/lib/continuation.mjs +157 -0
- package/plugin/hooks/lib/digest.mjs +39 -0
- package/plugin/hooks/lib/handoff-snapshot.mjs +161 -0
- package/plugin/hooks/lib/hedge.mjs +64 -0
- package/plugin/hooks/lib/motion.mjs +156 -0
- package/plugin/hooks/lib/policy.mjs +103 -0
- package/plugin/hooks/lib/redact.mjs +38 -0
- package/plugin/hooks/lib/reentry.mjs +38 -0
- package/plugin/hooks/lib/routes.mjs +160 -0
- package/plugin/hooks/lib/stage.mjs +154 -0
- package/plugin/hooks/post-tool-use-failure.mjs +13 -0
- package/plugin/hooks/post-tool-use.mjs +112 -0
- package/plugin/hooks/pre-compact.mjs +9 -0
- package/plugin/hooks/pre-tool-use.mjs +164 -0
- package/plugin/hooks/session-end.mjs +10 -0
- package/plugin/hooks/session-start.mjs +75 -0
- package/plugin/hooks/stop.mjs +31 -0
- package/plugin/hooks/subagent-start.mjs +9 -0
- package/plugin/hooks/subagent-stop.mjs +9 -0
- package/plugin/hooks/user-prompt-submit.mjs +94 -0
- package/plugin/lib/host-process.mjs +184 -0
- package/plugin/lib/office-runtime-lock/package-lock.json +793 -0
- package/plugin/lib/office-runtime-lock/package.json +12 -0
- package/plugin/lib/office-runtime-lock/requirements.lock +15 -0
- package/plugin/lib/office-runtime.mjs +274 -0
- package/plugin/lib/office_data.py +493 -0
- package/plugin/lib/office_runtime_bootstrap.py +76 -0
- package/plugin/lib/ooxml_integrity.py +199 -0
- package/plugin/lib/pdf_fonts.py +91 -0
- package/plugin/lib/render_pages.py +105 -0
- package/plugin/lib/secret-shapes.mjs +59 -0
- package/plugin/lib/strict-json.mjs +143 -0
- package/plugin/skills/autoconference/LICENSE +21 -0
- package/plugin/skills/autoconference/PROVENANCE.md +19 -0
- package/plugin/skills/autoconference/SKILL.md +235 -0
- package/plugin/skills/autoconference/assets/conference_template.md +76 -0
- package/plugin/skills/autoconference/assets/report_template.md +53 -0
- package/plugin/skills/autoconference/assets/synthesis_template.md +39 -0
- package/plugin/skills/autoconference/modes/analyze.md +248 -0
- package/plugin/skills/autoconference/modes/core.md +339 -0
- package/plugin/skills/autoconference/modes/debate.md +361 -0
- package/plugin/skills/autoconference/modes/plan.md +285 -0
- package/plugin/skills/autoconference/modes/resume.md +284 -0
- package/plugin/skills/autoconference/modes/ship.md +383 -0
- package/plugin/skills/autoconference/modes/survey.md +353 -0
- package/plugin/skills/autoconference/references/agent-prompts.md +577 -0
- package/plugin/skills/autoconference/references/conference-protocol.md +593 -0
- package/plugin/skills/autoconference/references/convergence-guide.md +160 -0
- package/plugin/skills/autoconference/references/core-principles.md +76 -0
- package/plugin/skills/autoconference/references/crash-recovery.md +204 -0
- package/plugin/skills/autoconference/references/results-logging.md +163 -0
- package/plugin/skills/autoconference/references/visualization-guide.md +97 -0
- package/plugin/skills/autoconference/scripts/check_conference.sh +197 -0
- package/plugin/skills/autoconference/scripts/init_conference.py +473 -0
- package/plugin/skills/autoconference/scripts/style_presets.py +104 -0
- package/plugin/skills/autoconference/templates/code-performance.md +59 -0
- package/plugin/skills/autoconference/templates/debate-mode.md +50 -0
- package/plugin/skills/autoconference/templates/prompt-optimization.md +58 -0
- package/plugin/skills/autoconference/templates/quick-conference.md +48 -0
- package/plugin/skills/autoconference/templates/research-synthesis.md +56 -0
- package/plugin/skills/autoconference/templates/survey-mode.md +63 -0
- package/plugin/skills/autoresearch/LICENSE +21 -0
- package/plugin/skills/autoresearch/PROVENANCE.md +17 -0
- package/plugin/skills/autoresearch/SKILL.md +215 -0
- package/plugin/skills/autoresearch/assets/report_template.md +50 -0
- package/plugin/skills/autoresearch/assets/research_template.md +38 -0
- package/plugin/skills/autoresearch/assets/results_template.tsv +1 -0
- package/plugin/skills/autoresearch/modes/core.md +209 -0
- package/plugin/skills/autoresearch/modes/debug.md +228 -0
- package/plugin/skills/autoresearch/modes/fix.md +166 -0
- package/plugin/skills/autoresearch/modes/learn.md +86 -0
- package/plugin/skills/autoresearch/modes/plan.md +287 -0
- package/plugin/skills/autoresearch/modes/predict.md +259 -0
- package/plugin/skills/autoresearch/modes/reason.md +163 -0
- package/plugin/skills/autoresearch/modes/scenario.md +157 -0
- package/plugin/skills/autoresearch/modes/security.md +275 -0
- package/plugin/skills/autoresearch/modes/ship.md +49 -0
- package/plugin/skills/autoresearch/references/core-principles.md +80 -0
- package/plugin/skills/autoresearch/references/evaluator-contract.md +126 -0
- package/plugin/skills/autoresearch/references/investigation-techniques.md +205 -0
- package/plugin/skills/autoresearch/references/owasp-checklist.md +161 -0
- package/plugin/skills/autoresearch/references/persona-templates.md +232 -0
- package/plugin/skills/autoresearch/references/results-logging.md +96 -0
- package/plugin/skills/autoresearch/references/scenario-dimensions.md +178 -0
- package/plugin/skills/autoresearch/references/stride-model.md +196 -0
- package/plugin/skills/autoresearch/references/stuck-detection.md +107 -0
- package/plugin/skills/autoresearch/references/type-checklists.md +163 -0
- package/plugin/skills/autoresearch/references/upstream-family-contract.md +122 -0
- package/plugin/skills/autoresearch/references/visualization-guide.md +95 -0
- package/plugin/skills/autoresearch/scripts/check_progress.sh +272 -0
- package/plugin/skills/autoresearch/scripts/init_research.py +330 -0
- package/plugin/skills/autoresearch/scripts/run_with_deadline.py +164 -0
- package/plugin/skills/autoresearch/scripts/style_presets.py +104 -0
- package/plugin/skills/browser-drive/SKILL.md +140 -0
- package/plugin/skills/browser-drive/references/snapshot-act-loop.md +47 -0
- package/plugin/skills/browser-drive/scripts/capability-probe.mjs +481 -0
- package/plugin/skills/comment-checker/SKILL.md +139 -0
- package/plugin/skills/comment-checker/references/comment-policy.md +72 -0
- package/plugin/skills/debugging/SKILL.md +186 -0
- package/plugin/skills/debugging/references/methodology/00-setup.md +108 -0
- package/plugin/skills/debugging/references/methodology/02-investigate.md +123 -0
- package/plugin/skills/debugging/references/methodology/04-oracle-triple.md +129 -0
- package/plugin/skills/debugging/references/methodology/05-escalate.md +70 -0
- package/plugin/skills/debugging/references/methodology/06-fix.md +116 -0
- package/plugin/skills/debugging/references/methodology/08-qa.md +94 -0
- package/plugin/skills/debugging/references/methodology/09-cleanup.md +164 -0
- package/plugin/skills/debugging/references/methodology/partial-runtime-evidence.md +223 -0
- package/plugin/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
- package/plugin/skills/debugging/references/runtimes/go.md +252 -0
- package/plugin/skills/debugging/references/runtimes/native-binary.md +484 -0
- package/plugin/skills/debugging/references/runtimes/node.md +260 -0
- package/plugin/skills/debugging/references/runtimes/python.md +248 -0
- package/plugin/skills/debugging/references/runtimes/rust.md +234 -0
- package/plugin/skills/debugging/references/tools/ghidra.md +212 -0
- package/plugin/skills/debugging/references/tools/playwright-cli.md +194 -0
- package/plugin/skills/debugging/references/tools/pwndbg.md +263 -0
- package/plugin/skills/debugging/references/tools/pwntools.md +265 -0
- package/plugin/skills/deep-interview/SKILL.md +280 -0
- package/plugin/skills/deep-interview/scripts/render_progress.py +198 -0
- package/plugin/skills/deep-interview/templates/context.md +38 -0
- package/plugin/skills/deep-interview/templates/spec.md +68 -0
- package/plugin/skills/deep-interview/templates/state.json +34 -0
- package/plugin/skills/frontend-ui-ux/ATTRIBUTION.md +23 -0
- package/plugin/skills/frontend-ui-ux/LICENSE +21 -0
- package/plugin/skills/frontend-ui-ux/PROVENANCE.json +38 -0
- package/plugin/skills/frontend-ui-ux/SKILL.md +232 -0
- package/plugin/skills/frontend-ui-ux/SOURCE-MANIFEST.json +1060 -0
- package/plugin/skills/frontend-ui-ux/THIRD-PARTY-NOTICE.txt +14 -0
- package/plugin/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
- package/plugin/skills/frontend-ui-ux/examples/design-contract.example.json +186 -0
- package/plugin/skills/frontend-ui-ux/examples/phase-3-readme-ab/README.md +9 -0
- package/plugin/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-ATTRIBUTION.md +217 -0
- package/plugin/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-LICENSE-Apache-2.0.txt +201 -0
- package/plugin/skills/frontend-ui-ux/references/_canonical-corpus/legal/root-LICENSE +21 -0
- package/plugin/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +873 -0
- package/plugin/skills/frontend-ui-ux/references/adaptive-layout.md +92 -0
- package/plugin/skills/frontend-ui-ux/references/brand-and-imagery.md +93 -0
- package/plugin/skills/frontend-ui-ux/references/complete-contract.md +578 -0
- package/plugin/skills/frontend-ui-ux/references/composition.md +85 -0
- package/plugin/skills/frontend-ui-ux/references/craft-floor.md +259 -0
- package/plugin/skills/frontend-ui-ux/references/creative-directions.md +80 -0
- package/plugin/skills/frontend-ui-ux/references/default-editorial-pixel.json +27 -0
- package/plugin/skills/frontend-ui-ux/references/design/README.md +248 -0
- package/plugin/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
- package/plugin/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
- package/plugin/skills/frontend-ui-ux/references/design/airtable.md +92 -0
- package/plugin/skills/frontend-ui-ux/references/design/apple.md +250 -0
- package/plugin/skills/frontend-ui-ux/references/design/aside.md +209 -0
- package/plugin/skills/frontend-ui-ux/references/design/binance.md +348 -0
- package/plugin/skills/frontend-ui-ux/references/design/bmw.md +183 -0
- package/plugin/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
- package/plugin/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
- package/plugin/skills/frontend-ui-ux/references/design/cal.md +262 -0
- package/plugin/skills/frontend-ui-ux/references/design/claude.md +315 -0
- package/plugin/skills/frontend-ui-ux/references/design/clay.md +307 -0
- package/plugin/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
- package/plugin/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
- package/plugin/skills/frontend-ui-ux/references/design/cohere.md +269 -0
- package/plugin/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
- package/plugin/skills/frontend-ui-ux/references/design/composio.md +310 -0
- package/plugin/skills/frontend-ui-ux/references/design/cursor.md +312 -0
- package/plugin/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
- package/plugin/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
- package/plugin/skills/frontend-ui-ux/references/design/expo.md +284 -0
- package/plugin/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
- package/plugin/skills/frontend-ui-ux/references/design/figma.md +223 -0
- package/plugin/skills/frontend-ui-ux/references/design/framer.md +249 -0
- package/plugin/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
- package/plugin/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
- package/plugin/skills/frontend-ui-ux/references/design/ibm.md +335 -0
- package/plugin/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
- package/plugin/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
- package/plugin/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
- package/plugin/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
- package/plugin/skills/frontend-ui-ux/references/design/intercom.md +149 -0
- package/plugin/skills/frontend-ui-ux/references/design/kraken.md +128 -0
- package/plugin/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
- package/plugin/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
- package/plugin/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
- package/plugin/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
- package/plugin/skills/frontend-ui-ux/references/design/lovable.md +301 -0
- package/plugin/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
- package/plugin/skills/frontend-ui-ux/references/design/meta.md +369 -0
- package/plugin/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
- package/plugin/skills/frontend-ui-ux/references/design/minimax.md +260 -0
- package/plugin/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
- package/plugin/skills/frontend-ui-ux/references/design/miro.md +111 -0
- package/plugin/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
- package/plugin/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
- package/plugin/skills/frontend-ui-ux/references/design/nike.md +366 -0
- package/plugin/skills/frontend-ui-ux/references/design/notion.md +312 -0
- package/plugin/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
- package/plugin/skills/frontend-ui-ux/references/design/ollama.md +270 -0
- package/plugin/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
- package/plugin/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
- package/plugin/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
- package/plugin/skills/frontend-ui-ux/references/design/playstation.md +367 -0
- package/plugin/skills/frontend-ui-ux/references/design/posthog.md +259 -0
- package/plugin/skills/frontend-ui-ux/references/design/raycast.md +271 -0
- package/plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
- package/plugin/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
- package/plugin/skills/frontend-ui-ux/references/design/renault.md +314 -0
- package/plugin/skills/frontend-ui-ux/references/design/replicate.md +264 -0
- package/plugin/skills/frontend-ui-ux/references/design/resend.md +306 -0
- package/plugin/skills/frontend-ui-ux/references/design/revolut.md +188 -0
- package/plugin/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
- package/plugin/skills/frontend-ui-ux/references/design/sanity.md +360 -0
- package/plugin/skills/frontend-ui-ux/references/design/sentry.md +265 -0
- package/plugin/skills/frontend-ui-ux/references/design/shopify.md +353 -0
- package/plugin/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
- package/plugin/skills/frontend-ui-ux/references/design/spacex.md +197 -0
- package/plugin/skills/frontend-ui-ux/references/design/spotify.md +249 -0
- package/plugin/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
- package/plugin/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
- package/plugin/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
- package/plugin/skills/frontend-ui-ux/references/design/stripe.md +325 -0
- package/plugin/skills/frontend-ui-ux/references/design/supabase.md +258 -0
- package/plugin/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
- package/plugin/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
- package/plugin/skills/frontend-ui-ux/references/design/tesla.md +289 -0
- package/plugin/skills/frontend-ui-ux/references/design/theverge.md +342 -0
- package/plugin/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
- package/plugin/skills/frontend-ui-ux/references/design/uber.md +298 -0
- package/plugin/skills/frontend-ui-ux/references/design/vercel.md +313 -0
- package/plugin/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
- package/plugin/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
- package/plugin/skills/frontend-ui-ux/references/design/warp.md +256 -0
- package/plugin/skills/frontend-ui-ux/references/design/webflow.md +95 -0
- package/plugin/skills/frontend-ui-ux/references/design/wired.md +281 -0
- package/plugin/skills/frontend-ui-ux/references/design/wise.md +176 -0
- package/plugin/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
- package/plugin/skills/frontend-ui-ux/references/design/zapier.md +331 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
- package/plugin/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
- package/plugin/skills/frontend-ui-ux/references/evidence-review.md +126 -0
- package/plugin/skills/frontend-ui-ux/references/implementation-platforms.md +109 -0
- package/plugin/skills/frontend-ui-ux/references/inclusive-interface.md +92 -0
- package/plugin/skills/frontend-ui-ux/references/interaction-motion.md +47 -0
- package/plugin/skills/frontend-ui-ux/references/motion-guide.md +130 -0
- package/plugin/skills/frontend-ui-ux/references/operating-lanes.md +92 -0
- package/plugin/skills/frontend-ui-ux/references/perfection/README.md +160 -0
- package/plugin/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
- package/plugin/skills/frontend-ui-ux/references/performance-delivery.md +93 -0
- package/plugin/skills/frontend-ui-ux/references/product-direction.md +84 -0
- package/plugin/skills/frontend-ui-ux/references/production-interview.md +17 -0
- package/plugin/skills/frontend-ui-ux/references/redesign-playbook.md +97 -0
- package/plugin/skills/frontend-ui-ux/references/slop-register.md +150 -0
- package/plugin/skills/frontend-ui-ux/references/system-foundations.md +84 -0
- package/plugin/skills/frontend-ui-ux/references/taste-direction.md +86 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
- package/plugin/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
- package/plugin/skills/frontend-ui-ux/references/visual-language.md +84 -0
- package/plugin/skills/frontend-ui-ux/references/visual-reconstruction.md +51 -0
- package/plugin/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.schema.json +306 -0
- package/plugin/skills/frontend-ui-ux/schemas/design-contract-v1beta1.schema.json +291 -0
- package/plugin/skills/frontend-ui-ux/schemas/design-contract-v1beta2.schema.json +311 -0
- package/plugin/skills/frontend-ui-ux/scripts/chrome-driver.mjs +201 -0
- package/plugin/skills/frontend-ui-ux/scripts/design-contract-format.mjs +286 -0
- package/plugin/skills/frontend-ui-ux/scripts/design-contract-inventory-rules.mjs +354 -0
- package/plugin/skills/frontend-ui-ux/scripts/design-contract-rules.mjs +361 -0
- package/plugin/skills/frontend-ui-ux/scripts/design-contract-surface-rules.mjs +313 -0
- package/plugin/skills/frontend-ui-ux/scripts/design-data.mjs +68 -0
- package/plugin/skills/frontend-ui-ux/scripts/errors.mjs +12 -0
- package/plugin/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +124 -0
- package/plugin/skills/frontend-ui-ux/scripts/interface-probe-page.mjs +1534 -0
- package/plugin/skills/frontend-ui-ux/scripts/interface-probe-rules.mjs +141 -0
- package/plugin/skills/frontend-ui-ux/scripts/interface-probe-server.mjs +57 -0
- package/plugin/skills/frontend-ui-ux/scripts/interface-probe-static.mjs +129 -0
- package/plugin/skills/frontend-ui-ux/scripts/interface-probe.mjs +289 -0
- package/plugin/skills/frontend-ui-ux/scripts/json-boundary.mjs +63 -0
- package/plugin/skills/frontend-ui-ux/scripts/query-design-intelligence.mjs +106 -0
- package/plugin/skills/frontend-ui-ux/scripts/search.mjs +43 -0
- package/plugin/skills/frontend-ui-ux/scripts/source-replay.mjs +153 -0
- package/plugin/skills/frontend-ui-ux/scripts/validate-design-contract.mjs +52 -0
- package/plugin/skills/frontend-ui-ux/scripts/verify-corpus.mjs +90 -0
- package/plugin/skills/lit-brainstorm/SKILL.md +210 -0
- package/plugin/skills/lit-brainstorm/references/convergence-matrices.md +41 -0
- package/plugin/skills/lit-brainstorm/references/lane-prompts.md +34 -0
- package/plugin/skills/lit-brainstorm/references/scoring-rubric.md +31 -0
- package/plugin/skills/lit-brainstorm/references/technique-catalog.md +41 -0
- package/plugin/skills/lit-brainstorm/references/techniques-generate.md +49 -0
- package/plugin/skills/lit-brainstorm/references/techniques-reframe.md +29 -0
- package/plugin/skills/lit-brainstorm/references/techniques-structure.md +35 -0
- package/plugin/skills/lit-brainstorm/templates/handoff-packet.md +23 -0
- package/plugin/skills/lit-brainstorm/templates/session-board.md +42 -0
- package/plugin/skills/lit-brainstorm/templates/shortlist.md +30 -0
- package/plugin/skills/lit-burnoff/SKILL.md +351 -0
- package/plugin/skills/lit-burnoff/references/behavior-preserving-cleanup.md +94 -0
- package/plugin/skills/lit-burnoff-file/SKILL.md +266 -0
- package/plugin/skills/lit-code/SKILL.md +628 -0
- package/plugin/skills/lit-code/references/engineering-risk-signals.md +123 -0
- package/plugin/skills/lit-code/references/go/README.md +90 -0
- package/plugin/skills/lit-code/references/go/backend-stack.md +641 -0
- package/plugin/skills/lit-code/references/go/bootstrap.md +328 -0
- package/plugin/skills/lit-code/references/go/bubbletea-v2.md +360 -0
- package/plugin/skills/lit-code/references/go/cobra-stack.md +468 -0
- package/plugin/skills/lit-code/references/go/concurrency.md +362 -0
- package/plugin/skills/lit-code/references/go/data-modeling.md +329 -0
- package/plugin/skills/lit-code/references/go/error-handling.md +359 -0
- package/plugin/skills/lit-code/references/go/golangci-strict.md +236 -0
- package/plugin/skills/lit-code/references/go/grpc-connect.md +375 -0
- package/plugin/skills/lit-code/references/go/libraries.md +337 -0
- package/plugin/skills/lit-code/references/go/one-liners.md +202 -0
- package/plugin/skills/lit-code/references/go/sqlc-pgx.md +471 -0
- package/plugin/skills/lit-code/references/go/testing.md +467 -0
- package/plugin/skills/lit-code/references/go/type-patterns.md +298 -0
- package/plugin/skills/lit-code/references/observability-contracts.md +124 -0
- package/plugin/skills/lit-code/references/python/README.md +314 -0
- package/plugin/skills/lit-code/references/python/async-anyio.md +442 -0
- package/plugin/skills/lit-code/references/python/data-modeling.md +233 -0
- package/plugin/skills/lit-code/references/python/data-processing.md +133 -0
- package/plugin/skills/lit-code/references/python/error-handling.md +218 -0
- package/plugin/skills/lit-code/references/python/fastapi-stack.md +316 -0
- package/plugin/skills/lit-code/references/python/httpx2-optimization.md +360 -0
- package/plugin/skills/lit-code/references/python/libraries.md +307 -0
- package/plugin/skills/lit-code/references/python/one-liners.md +268 -0
- package/plugin/skills/lit-code/references/python/orjson-stack.md +378 -0
- package/plugin/skills/lit-code/references/python/pydantic-ai.md +285 -0
- package/plugin/skills/lit-code/references/python/pyproject-strict.md +232 -0
- package/plugin/skills/lit-code/references/python/textual-tui.md +201 -0
- package/plugin/skills/lit-code/references/python/type-patterns.md +176 -0
- package/plugin/skills/lit-code/references/rust/README.md +317 -0
- package/plugin/skills/lit-code/references/rust/async-tokio.md +299 -0
- package/plugin/skills/lit-code/references/rust/axum-stack.md +467 -0
- package/plugin/skills/lit-code/references/rust/cargo-strict.md +317 -0
- package/plugin/skills/lit-code/references/rust/clap-stack.md +409 -0
- package/plugin/skills/lit-code/references/rust/concurrency.md +375 -0
- package/plugin/skills/lit-code/references/rust/libraries.md +439 -0
- package/plugin/skills/lit-code/references/rust/one-liners.md +291 -0
- package/plugin/skills/lit-code/references/rust/proptest-insta.md +429 -0
- package/plugin/skills/lit-code/references/rust/type-state.md +354 -0
- package/plugin/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
- package/plugin/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
- package/plugin/skills/lit-code/references/rust-ub/README.md +289 -0
- package/plugin/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
- package/plugin/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
- package/plugin/skills/lit-code/references/typescript/README.md +195 -0
- package/plugin/skills/lit-code/references/typescript/backend-hono.md +672 -0
- package/plugin/skills/lit-code/references/typescript/bootstrap.md +199 -0
- package/plugin/skills/lit-code/references/typescript/data-modeling.md +202 -0
- package/plugin/skills/lit-code/references/typescript/error-handling.md +169 -0
- package/plugin/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
- package/plugin/skills/lit-code/references/typescript/type-patterns.md +196 -0
- package/plugin/skills/lit-code/scripts/go/check-no-excuse-rules.sh +173 -0
- package/plugin/skills/lit-code/scripts/go/new-project.py +138 -0
- package/plugin/skills/lit-code/scripts/go/templates/.editorconfig +13 -0
- package/plugin/skills/lit-code/scripts/go/templates/.golangci.yml +95 -0
- package/plugin/skills/lit-code/scripts/go/templates/AGENTS.md.tmpl +24 -0
- package/plugin/skills/lit-code/scripts/go/templates/README.md.tmpl +12 -0
- package/plugin/skills/lit-code/scripts/go/templates/Taskfile.yml +40 -0
- package/plugin/skills/lit-code/scripts/go/templates/ci.yml +37 -0
- package/plugin/skills/lit-code/scripts/go/templates/config.go +24 -0
- package/plugin/skills/lit-code/scripts/go/templates/gitignore +15 -0
- package/plugin/skills/lit-code/scripts/go/templates/main.go.tmpl +22 -0
- package/plugin/skills/lit-code/scripts/go/templates/run.go +15 -0
- package/plugin/skills/lit-code/scripts/python/check-no-excuse-rules.py +687 -0
- package/plugin/skills/lit-code/scripts/python/new-project.py +172 -0
- package/plugin/skills/lit-code/scripts/python/new-script.py +116 -0
- package/plugin/skills/lit-code/scripts/rust/check-no-excuse-rules.py +296 -0
- package/plugin/skills/lit-code/scripts/rust/check-no-excuse-rules.sh +158 -0
- package/plugin/skills/lit-code/scripts/rust/new-project.py +175 -0
- package/plugin/skills/lit-code/scripts/typescript/check-no-excuse-rules.ts +344 -0
- package/plugin/skills/lit-code/scripts/typescript/new-project.ts +174 -0
- package/plugin/skills/lit-commit/SKILL.md +151 -0
- package/plugin/skills/lit-commit/references/safe-git-operations.md +91 -0
- package/plugin/skills/lit-comprehend/SKILL.md +221 -0
- package/plugin/skills/lit-comprehend/assets/explainer-scaffold.html +231 -0
- package/plugin/skills/lit-comprehend/references/artifact-template.md +180 -0
- package/plugin/skills/lit-comprehend/references/micro-worlds.md +195 -0
- package/plugin/skills/lit-comprehend/scripts/verify-explainer.mjs +291 -0
- package/plugin/skills/lit-crucible/SKILL.md +159 -0
- package/plugin/skills/lit-crucible/references/adversarial-workflow.md +127 -0
- package/plugin/skills/lit-diagram-drawer/NOTICE +33 -0
- package/plugin/skills/lit-diagram-drawer/SKILL.md +229 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bar-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bar-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bar-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bump-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bump-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-bump-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-er-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-er-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-er-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-journey-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-journey-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-journey-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-layers-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-layers-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-layers-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-line-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-line-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-line-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-loop-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-loop-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-loop-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-nested-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-nested-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-nested-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-polar-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-polar-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-polar-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-process-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-process-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-process-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-radar-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-radar-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-radar-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-state-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-state-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-state-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-tree-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-tree-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-tree-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-venn-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-venn-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-venn-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-dark.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-full.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-light.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/fonts/OFL.txt +94 -0
- package/plugin/skills/lit-diagram-drawer/assets/fonts/PretendardVariable.woff2 +0 -0
- package/plugin/skills/lit-diagram-drawer/assets/fonts/provenance.json +22 -0
- package/plugin/skills/lit-diagram-drawer/assets/icons.html +231 -0
- package/plugin/skills/lit-diagram-drawer/assets/index.html +1 -0
- package/plugin/skills/lit-diagram-drawer/assets/licenses/devicon-MIT.txt +20 -0
- package/plugin/skills/lit-diagram-drawer/assets/licenses/diagram-design-MIT.txt +21 -0
- package/plugin/skills/lit-diagram-drawer/assets/licenses/log-z-MIT.txt +21 -0
- package/plugin/skills/lit-diagram-drawer/assets/licenses/simple-icons-CC0.md +30 -0
- package/plugin/skills/lit-diagram-drawer/assets/licenses/tabler-MIT.txt +21 -0
- package/plugin/skills/lit-diagram-drawer/examples/01-service-architecture/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/01-service-architecture/brief.md +33 -0
- package/plugin/skills/lit-diagram-drawer/examples/01-service-architecture/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/02-release-decision/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/02-release-decision/brief.md +18 -0
- package/plugin/skills/lit-diagram-drawer/examples/02-release-decision/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/03-data-retention/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/03-data-retention/brief.md +19 -0
- package/plugin/skills/lit-diagram-drawer/examples/03-data-retention/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/brief.md +17 -0
- package/plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/05-review-lanes/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/05-review-lanes/brief.md +17 -0
- package/plugin/skills/lit-diagram-drawer/examples/05-review-lanes/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/brief.md +17 -0
- package/plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/brief.md +19 -0
- package/plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/08-policy-traces/after.html +1 -0
- package/plugin/skills/lit-diagram-drawer/examples/08-policy-traces/brief.md +20 -0
- package/plugin/skills/lit-diagram-drawer/examples/08-policy-traces/constructed-naive-foil.html +1 -0
- package/plugin/skills/lit-diagram-drawer/references/accessibility.md +37 -0
- package/plugin/skills/lit-diagram-drawer/references/export.md +29 -0
- package/plugin/skills/lit-diagram-drawer/references/import-drawio.md +21 -0
- package/plugin/skills/lit-diagram-drawer/references/import-excalidraw.md +14 -0
- package/plugin/skills/lit-diagram-drawer/references/import-mermaid.md +18 -0
- package/plugin/skills/lit-diagram-drawer/references/import-schema.md +28 -0
- package/plugin/skills/lit-diagram-drawer/references/korean-typography.md +34 -0
- package/plugin/skills/lit-diagram-drawer/references/motion.md +29 -0
- package/plugin/skills/lit-diagram-drawer/references/office-pptx-docx.md +42 -0
- package/plugin/skills/lit-diagram-drawer/references/output-spec.md +48 -0
- package/plugin/skills/lit-diagram-drawer/references/primitive-annotation.md +12 -0
- package/plugin/skills/lit-diagram-drawer/references/primitive-icons.md +21 -0
- package/plugin/skills/lit-diagram-drawer/references/primitive-sketchy.md +11 -0
- package/plugin/skills/lit-diagram-drawer/references/primitive-terminal.md +11 -0
- package/plugin/skills/lit-diagram-drawer/references/profiles.md +24 -0
- package/plugin/skills/lit-diagram-drawer/references/semantic-patterns.md +27 -0
- package/plugin/skills/lit-diagram-drawer/references/style-guide.md +67 -0
- package/plugin/skills/lit-diagram-drawer/references/type-architecture.md +51 -0
- package/plugin/skills/lit-diagram-drawer/references/type-bar.md +51 -0
- package/plugin/skills/lit-diagram-drawer/references/type-beeswarm.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-bubble.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-bump.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-catalog.json +1433 -0
- package/plugin/skills/lit-diagram-drawer/references/type-data-flow.md +51 -0
- package/plugin/skills/lit-diagram-drawer/references/type-datalake.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-db-schema.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-dependency.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-deployment.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-dp-integration.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-dp-security-matrix.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-er.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-fishbone.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-flowchart.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-gantt.md +49 -0
- package/plugin/skills/lit-diagram-drawer/references/type-heatmap.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-high-level-vertical.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-high-level.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-import-drawio.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-import-excalidraw.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-import-mermaid.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-it-state.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-journey.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-kanban.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-layers.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-line.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-loop-terminal.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-loop.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-marimekko.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-medallion.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-nested.md +59 -0
- package/plugin/skills/lit-diagram-drawer/references/type-org-chart.md +58 -0
- package/plugin/skills/lit-diagram-drawer/references/type-paved-road-animated.md +72 -0
- package/plugin/skills/lit-diagram-drawer/references/type-polar.md +67 -0
- package/plugin/skills/lit-diagram-drawer/references/type-policy-trace-animated.md +69 -0
- package/plugin/skills/lit-diagram-drawer/references/type-process.md +58 -0
- package/plugin/skills/lit-diagram-drawer/references/type-pyramid.md +59 -0
- package/plugin/skills/lit-diagram-drawer/references/type-quadrant-consultant.md +60 -0
- package/plugin/skills/lit-diagram-drawer/references/type-quadrant.md +57 -0
- package/plugin/skills/lit-diagram-drawer/references/type-queue-animated.md +63 -0
- package/plugin/skills/lit-diagram-drawer/references/type-radar.md +57 -0
- package/plugin/skills/lit-diagram-drawer/references/type-ridgeline.md +63 -0
- package/plugin/skills/lit-diagram-drawer/references/type-sankey.md +68 -0
- package/plugin/skills/lit-diagram-drawer/references/type-scatter.md +60 -0
- package/plugin/skills/lit-diagram-drawer/references/type-sequence-oauth.md +66 -0
- package/plugin/skills/lit-diagram-drawer/references/type-sequence.md +63 -0
- package/plugin/skills/lit-diagram-drawer/references/type-slopegraph.md +65 -0
- package/plugin/skills/lit-diagram-drawer/references/type-state-lifecycle.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-state.md +59 -0
- package/plugin/skills/lit-diagram-drawer/references/type-story-map.md +52 -0
- package/plugin/skills/lit-diagram-drawer/references/type-streamgraph.md +53 -0
- package/plugin/skills/lit-diagram-drawer/references/type-swimlane.md +52 -0
- package/plugin/skills/lit-diagram-drawer/references/type-timeline.md +52 -0
- package/plugin/skills/lit-diagram-drawer/references/type-tree-block-decomposition.md +57 -0
- package/plugin/skills/lit-diagram-drawer/references/type-tree.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-treemap.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/type-uml-class.md +52 -0
- package/plugin/skills/lit-diagram-drawer/references/type-venn.md +51 -0
- package/plugin/skills/lit-diagram-drawer/references/type-wardley.md +52 -0
- package/plugin/skills/lit-diagram-drawer/references/type-waterfall.md +54 -0
- package/plugin/skills/lit-diagram-drawer/references/verifier-guide.md +59 -0
- package/plugin/skills/lit-diagram-drawer/scripts/block-registry.mjs +43 -0
- package/plugin/skills/lit-diagram-drawer/scripts/brief-contract.mjs +94 -0
- package/plugin/skills/lit-diagram-drawer/scripts/check-visible-text.mjs +15 -0
- package/plugin/skills/lit-diagram-drawer/scripts/diagram-craft-rules.mjs +14 -0
- package/plugin/skills/lit-diagram-drawer/scripts/diagram-metrics.mjs +219 -0
- package/plugin/skills/lit-diagram-drawer/scripts/diagram-runtime-lock/package.json +9 -0
- package/plugin/skills/lit-diagram-drawer/scripts/diagram-runtime.mjs +275 -0
- package/plugin/skills/lit-diagram-drawer/scripts/doctor.mjs +25 -0
- package/plugin/skills/lit-diagram-drawer/scripts/drawio-model.mjs +162 -0
- package/plugin/skills/lit-diagram-drawer/scripts/drawio-source.mjs +147 -0
- package/plugin/skills/lit-diagram-drawer/scripts/drawio-xml.mjs +148 -0
- package/plugin/skills/lit-diagram-drawer/scripts/export.mjs +119 -0
- package/plugin/skills/lit-diagram-drawer/scripts/import-common.mjs +85 -0
- package/plugin/skills/lit-diagram-drawer/scripts/import-drawio.mjs +48 -0
- package/plugin/skills/lit-diagram-drawer/scripts/import-excalidraw.mjs +234 -0
- package/plugin/skills/lit-diagram-drawer/scripts/import-mermaid.mjs +104 -0
- package/plugin/skills/lit-diagram-drawer/scripts/mermaid-common.mjs +115 -0
- package/plugin/skills/lit-diagram-drawer/scripts/mermaid-er.mjs +70 -0
- package/plugin/skills/lit-diagram-drawer/scripts/mermaid-flowchart.mjs +178 -0
- package/plugin/skills/lit-diagram-drawer/scripts/mermaid-sequence.mjs +137 -0
- package/plugin/skills/lit-diagram-drawer/scripts/mermaid-state.mjs +80 -0
- package/plugin/skills/lit-diagram-drawer/scripts/office-safety.mjs +54 -0
- package/plugin/skills/lit-diagram-drawer/scripts/runtime-probes.mjs +11 -0
- package/plugin/skills/lit-diagram-drawer/scripts/verify-all.mjs +85 -0
- package/plugin/skills/lit-diagram-drawer/scripts/verify-brief.mjs +16 -0
- package/plugin/skills/lit-diagram-drawer/scripts/verify-diagram.mjs +27 -0
- package/plugin/skills/lit-diagram-drawer/scripts/verify-motion.mjs +12 -0
- package/plugin/skills/lit-diagram-drawer/scripts/verify-type.mjs +48 -0
- package/plugin/skills/lit-diagram-drawer/scripts/visual-quality-geometry.mjs +226 -0
- package/plugin/skills/lit-diagram-drawer/scripts/visual-quality.mjs +147 -0
- package/plugin/skills/lit-docx/NOTICE +33 -0
- package/plugin/skills/lit-docx/SKILL.md +258 -0
- package/plugin/skills/lit-docx/references/components.md +207 -0
- package/plugin/skills/lit-docx/references/direction-step.md +277 -0
- package/plugin/skills/lit-docx/references/examples/01-report-ko.md +166 -0
- package/plugin/skills/lit-docx/references/examples/02-brief-ko.md +105 -0
- package/plugin/skills/lit-docx/references/examples/03-manual-ko.md +164 -0
- package/plugin/skills/lit-docx/references/examples/04-proposal-ko.md +138 -0
- package/plugin/skills/lit-docx/references/examples/05-memo-en.md +55 -0
- package/plugin/skills/lit-docx/references/examples/06-journal-en.md +130 -0
- package/plugin/skills/lit-docx/references/examples/07-report-en.md +123 -0
- package/plugin/skills/lit-docx/references/examples/08-proposal-en.md +123 -0
- package/plugin/skills/lit-docx/references/examples/09-memo-ko.md +45 -0
- package/plugin/skills/lit-docx/references/frontmatter_schema.md +42 -0
- package/plugin/skills/lit-docx/references/journal_style_spec.md +17 -0
- package/plugin/skills/lit-docx/references/markdown_quality_checklist.md +37 -0
- package/plugin/skills/lit-docx/references/page-composition.md +221 -0
- package/plugin/skills/lit-docx/references/slop_phrase_list.yaml +58 -0
- package/plugin/skills/lit-docx/references/slop_rules.md +35 -0
- package/plugin/skills/lit-docx/references/tonalities/brief.md +143 -0
- package/plugin/skills/lit-docx/references/tonalities/journal.md +142 -0
- package/plugin/skills/lit-docx/references/tonalities/manual.md +148 -0
- package/plugin/skills/lit-docx/references/tonalities/memo.md +137 -0
- package/plugin/skills/lit-docx/references/tonalities/proposal.md +140 -0
- package/plugin/skills/lit-docx/references/tonalities/report.md +156 -0
- package/plugin/skills/lit-docx/scripts/clean_markdown.py +95 -0
- package/plugin/skills/lit-docx/scripts/convert_md_to_docx.py +1395 -0
- package/plugin/skills/lit-docx/scripts/convert_md_to_pdf.py +302 -0
- package/plugin/skills/lit-docx/scripts/convert_pdf.py +139 -0
- package/plugin/skills/lit-docx/scripts/docx_design.py +2449 -0
- package/plugin/skills/lit-docx/scripts/docx_layout.py +959 -0
- package/plugin/skills/lit-docx/scripts/edit_docx.py +306 -0
- package/plugin/skills/lit-docx/scripts/embed_images.py +78 -0
- package/plugin/skills/lit-docx/scripts/generate_docx_templates.py +500 -0
- package/plugin/skills/lit-docx/scripts/qa_docx.py +234 -0
- package/plugin/skills/lit-docx/scripts/slop_lint.py +573 -0
- package/plugin/skills/lit-docx/scripts/visual_audit.py +48 -0
- package/plugin/skills/lit-docx/templates/docx/acs.docx +0 -0
- package/plugin/skills/lit-docx/templates/docx/elsevier.docx +0 -0
- package/plugin/skills/lit-docx/templates/docx/ieee.docx +0 -0
- package/plugin/skills/lit-docx/templates/docx/korean-generic.docx +0 -0
- package/plugin/skills/lit-docx/templates/docx/nature.docx +0 -0
- package/plugin/skills/lit-docx/templates/latex/acs/README.md +5 -0
- package/plugin/skills/lit-docx/templates/latex/acs/template.tex +39 -0
- package/plugin/skills/lit-docx/templates/latex/elsevier/README.md +5 -0
- package/plugin/skills/lit-docx/templates/latex/elsevier/template.tex +40 -0
- package/plugin/skills/lit-docx/templates/latex/ieee/README.md +5 -0
- package/plugin/skills/lit-docx/templates/latex/ieee/template.tex +39 -0
- package/plugin/skills/lit-docx/templates/latex/korean-generic/README.md +5 -0
- package/plugin/skills/lit-docx/templates/latex/korean-generic/template.tex +39 -0
- package/plugin/skills/lit-docx/templates/latex/nature/README.md +5 -0
- package/plugin/skills/lit-docx/templates/latex/nature/template.tex +39 -0
- package/plugin/skills/lit-docx/templates/registry.yaml +1366 -0
- package/plugin/skills/lit-docx/templates/tonalities/brief.yaml +28 -0
- package/plugin/skills/lit-docx/templates/tonalities/journal.yaml +25 -0
- package/plugin/skills/lit-docx/templates/tonalities/manual.yaml +26 -0
- package/plugin/skills/lit-docx/templates/tonalities/memo.yaml +26 -0
- package/plugin/skills/lit-docx/templates/tonalities/proposal.yaml +26 -0
- package/plugin/skills/lit-docx/templates/tonalities/report.yaml +26 -0
- package/plugin/skills/lit-handoff/LICENSE +21 -0
- package/plugin/skills/lit-handoff/SKILL.md +233 -0
- package/plugin/skills/lit-handoff/evals/evals.json +154 -0
- package/plugin/skills/lit-handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
- package/plugin/skills/lit-handoff/reference/PROVENANCE.md +20 -0
- package/plugin/skills/lit-handoff/reference/canonical-handoff.md +199 -0
- package/plugin/skills/lit-handoff/scripts/verify-closure.mjs +32 -0
- package/plugin/skills/lit-handoff/templates/HANDOFF.md +121 -0
- package/plugin/skills/lit-humanizer/NOTICE +160 -0
- package/plugin/skills/lit-humanizer/SKILL.md +210 -0
- package/plugin/skills/lit-humanizer/assets/always-on-rule.md +9 -0
- package/plugin/skills/lit-humanizer/assets/report-skeleton.md +25 -0
- package/plugin/skills/lit-humanizer/assets/slide-text-skeleton.md +28 -0
- package/plugin/skills/lit-humanizer/bench/prompts.md +73 -0
- package/plugin/skills/lit-humanizer/examples/accessibility-note/after.md +7 -0
- package/plugin/skills/lit-humanizer/examples/accessibility-note/before.md +7 -0
- package/plugin/skills/lit-humanizer/examples/api-reference/after.md +9 -0
- package/plugin/skills/lit-humanizer/examples/api-reference/before.md +15 -0
- package/plugin/skills/lit-humanizer/examples/changelog/after.md +5 -0
- package/plugin/skills/lit-humanizer/examples/changelog/before.md +12 -0
- package/plugin/skills/lit-humanizer/examples/code-comments/after.md +10 -0
- package/plugin/skills/lit-humanizer/examples/code-comments/before.md +19 -0
- package/plugin/skills/lit-humanizer/examples/commit/after.md +5 -0
- package/plugin/skills/lit-humanizer/examples/commit/before.md +7 -0
- package/plugin/skills/lit-humanizer/examples/data-release/after.md +7 -0
- package/plugin/skills/lit-humanizer/examples/data-release/before.md +9 -0
- package/plugin/skills/lit-humanizer/examples/english-essay/after.md +5 -0
- package/plugin/skills/lit-humanizer/examples/english-essay/before.md +5 -0
- package/plugin/skills/lit-humanizer/examples/incident-update/after.md +7 -0
- package/plugin/skills/lit-humanizer/examples/incident-update/before.md +7 -0
- package/plugin/skills/lit-humanizer/examples/ko-essay/after.md +7 -0
- package/plugin/skills/lit-humanizer/examples/ko-essay/before.md +9 -0
- package/plugin/skills/lit-humanizer/examples/ko-report/after.md +9 -0
- package/plugin/skills/lit-humanizer/examples/ko-report/before.md +13 -0
- package/plugin/skills/lit-humanizer/examples/ko-slide/after.md +19 -0
- package/plugin/skills/lit-humanizer/examples/ko-slide/before.md +21 -0
- package/plugin/skills/lit-humanizer/examples/meeting-brief/after.md +9 -0
- package/plugin/skills/lit-humanizer/examples/meeting-brief/before.md +11 -0
- package/plugin/skills/lit-humanizer/examples/policy-faq/after.md +9 -0
- package/plugin/skills/lit-humanizer/examples/policy-faq/before.md +9 -0
- package/plugin/skills/lit-humanizer/examples/pr/after.md +15 -0
- package/plugin/skills/lit-humanizer/examples/pr/before.md +17 -0
- package/plugin/skills/lit-humanizer/examples/project-update/after.md +7 -0
- package/plugin/skills/lit-humanizer/examples/project-update/before.md +9 -0
- package/plugin/skills/lit-humanizer/examples/readme/after.md +12 -0
- package/plugin/skills/lit-humanizer/examples/readme/before.md +14 -0
- package/plugin/skills/lit-humanizer/examples/report/after.md +13 -0
- package/plugin/skills/lit-humanizer/examples/report/before.md +11 -0
- package/plugin/skills/lit-humanizer/examples/research-abstract/after.md +5 -0
- package/plugin/skills/lit-humanizer/examples/research-abstract/before.md +5 -0
- package/plugin/skills/lit-humanizer/examples/slides/after.md +19 -0
- package/plugin/skills/lit-humanizer/examples/slides/before.md +19 -0
- package/plugin/skills/lit-humanizer/examples/troubleshooting/after.md +11 -0
- package/plugin/skills/lit-humanizer/examples/troubleshooting/before.md +11 -0
- package/plugin/skills/lit-humanizer/fixtures/ko-metrics-golden.json +51 -0
- package/plugin/skills/lit-humanizer/fixtures/office/minimal.docx +0 -0
- package/plugin/skills/lit-humanizer/fixtures/office/minimal.pptx +0 -0
- package/plugin/skills/lit-humanizer/fixtures/pledge-cases.json +1341 -0
- package/plugin/skills/lit-humanizer/fixtures/pos-real.txt +26 -0
- package/plugin/skills/lit-humanizer/fixtures/rule-cases.json +312 -0
- package/plugin/skills/lit-humanizer/motion-guide.md +123 -0
- package/plugin/skills/lit-humanizer/references/code-patterns.md +468 -0
- package/plugin/skills/lit-humanizer/references/deliverable-channels.md +113 -0
- package/plugin/skills/lit-humanizer/references/en-patterns-checklist.md +43 -0
- package/plugin/skills/lit-humanizer/references/en-patterns-content.md +243 -0
- package/plugin/skills/lit-humanizer/references/en-patterns-structure.md +375 -0
- package/plugin/skills/lit-humanizer/references/en-patterns.md +57 -0
- package/plugin/skills/lit-humanizer/references/ko-metrics.md +33 -0
- package/plugin/skills/lit-humanizer/references/ko-patterns-a-d.md +659 -0
- package/plugin/skills/lit-humanizer/references/ko-patterns-e-j.md +387 -0
- package/plugin/skills/lit-humanizer/references/ko-patterns.md +31 -0
- package/plugin/skills/lit-humanizer/references/litmuse-fidelity-checklist.md +78 -0
- package/plugin/skills/lit-humanizer/references/litmuse-rewrite-rules.md +71 -0
- package/plugin/skills/lit-humanizer/references/litmuse-style-patterns.md +53 -0
- package/plugin/skills/lit-humanizer/references/prompt-injection-handling.md +7 -0
- package/plugin/skills/lit-humanizer/references/rewrite-playbook.md +54 -0
- package/plugin/skills/lit-humanizer/references/taxonomy.md +154 -0
- package/plugin/skills/lit-humanizer/rules.json +938 -0
- package/plugin/skills/lit-humanizer/scripts/artifact-text.mjs +38 -0
- package/plugin/skills/lit-humanizer/scripts/core.mjs +311 -0
- package/plugin/skills/lit-humanizer/scripts/detect.mjs +65 -0
- package/plugin/skills/lit-humanizer/scripts/extract_office_text.py +112 -0
- package/plugin/skills/lit-humanizer/scripts/ko-metrics.mjs +124 -0
- package/plugin/skills/lit-humanizer/scripts/scan-input.mjs +54 -0
- package/plugin/skills/lit-humanizer/scripts/test-fixtures.mjs +158 -0
- package/plugin/skills/lit-humanizer/scripts/test-ko-metrics.mjs +27 -0
- package/plugin/skills/lit-init/SKILL.md +305 -0
- package/plugin/skills/lit-init/references/deep-repository-map.md +105 -0
- package/plugin/skills/lit-loop/SKILL.md +217 -0
- package/plugin/skills/lit-plan/SKILL.md +354 -0
- package/plugin/skills/lit-plan/references/intent-routes.md +118 -0
- package/plugin/skills/lit-plan/references/muse-surfaces.md +28 -0
- package/plugin/skills/lit-plan/references/start-work-handoff-contract.md +66 -0
- package/plugin/skills/lit-plan/scripts/check-plan.mjs +180 -0
- package/plugin/skills/lit-plan/templates/draft.md +41 -0
- package/plugin/skills/lit-plan/templates/plan.md +101 -0
- package/plugin/skills/lit-pptx/NOTICE +38 -0
- package/plugin/skills/lit-pptx/SKILL.md +289 -0
- package/plugin/skills/lit-pptx/assets/azure/circle-lg.png +0 -0
- package/plugin/skills/lit-pptx/assets/azure/circle-md.png +0 -0
- package/plugin/skills/lit-pptx/assets/azure/circle-sm.png +0 -0
- package/plugin/skills/lit-pptx/fonts/a2z/A2Z-Black.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/a2z/A2Z-Bold.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/a2z/A2Z-Light.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/a2z/A2Z-Medium.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/a2z/A2Z-Regular.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/a2z/OFL.txt +94 -0
- package/plugin/skills/lit-pptx/fonts/a2z/SOURCE.md +29 -0
- package/plugin/skills/lit-pptx/fonts/pretendard/OFL.txt +94 -0
- package/plugin/skills/lit-pptx/fonts/pretendard/Pretendard-Bold.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/pretendard/Pretendard-Regular.otf +0 -0
- package/plugin/skills/lit-pptx/fonts/provenance.json +78 -0
- package/plugin/skills/lit-pptx/references/agents/analyst.md +49 -0
- package/plugin/skills/lit-pptx/references/agents/antithesis.md +59 -0
- package/plugin/skills/lit-pptx/references/agents/architect.md +44 -0
- package/plugin/skills/lit-pptx/references/agents/critic.md +42 -0
- package/plugin/skills/lit-pptx/references/agents/synthesizer.md +47 -0
- package/plugin/skills/lit-pptx/references/agents/thesis.md +33 -0
- package/plugin/skills/lit-pptx/references/anti-slop-checklist.md +110 -0
- package/plugin/skills/lit-pptx/references/authoring-guide.md +250 -0
- package/plugin/skills/lit-pptx/references/consensus-protocol.md +125 -0
- package/plugin/skills/lit-pptx/references/data-display-cookbook.md +52 -0
- package/plugin/skills/lit-pptx/references/density-and-fill.md +164 -0
- package/plugin/skills/lit-pptx/references/design-system-azure.md +61 -0
- package/plugin/skills/lit-pptx/references/direction-step.md +186 -0
- package/plugin/skills/lit-pptx/references/examples/01-pitch-signal-ko.md +210 -0
- package/plugin/skills/lit-pptx/references/examples/02-pitch-studio-ko.md +147 -0
- package/plugin/skills/lit-pptx/references/examples/03-business-review-ledger-ko.md +199 -0
- package/plugin/skills/lit-pptx/references/examples/04-business-review-night-en.md +203 -0
- package/plugin/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +178 -0
- package/plugin/skills/lit-pptx/references/examples/06-lecture-chalk-ko.md +199 -0
- package/plugin/skills/lit-pptx/references/examples/07-data-review-night-en.md +194 -0
- package/plugin/skills/lit-pptx/references/examples/08-image-led-atlas-ko.md +175 -0
- package/plugin/skills/lit-pptx/references/examples/09-briefing-gazette-ko.md +204 -0
- package/plugin/skills/lit-pptx/references/examples/10-status-update-ledger-ko.md +179 -0
- package/plugin/skills/lit-pptx/references/examples/11-portfolio-studio-en.md +164 -0
- package/plugin/skills/lit-pptx/references/examples/12-research-tutorial-chalk-en.md +174 -0
- package/plugin/skills/lit-pptx/references/interview-protocol.md +113 -0
- package/plugin/skills/lit-pptx/references/layout-families.md +198 -0
- package/plugin/skills/lit-pptx/references/stages/autopilot.md +48 -0
- package/plugin/skills/lit-pptx/references/stages/interview.md +52 -0
- package/plugin/skills/lit-pptx/references/stages/plan.md +42 -0
- package/plugin/skills/lit-pptx/references/title-treatments.md +109 -0
- package/plugin/skills/lit-pptx/references/tonalities/atlas.md +139 -0
- package/plugin/skills/lit-pptx/references/tonalities/chalk.md +148 -0
- package/plugin/skills/lit-pptx/references/tonalities/gazette.md +149 -0
- package/plugin/skills/lit-pptx/references/tonalities/ledger.md +149 -0
- package/plugin/skills/lit-pptx/references/tonalities/night.md +147 -0
- package/plugin/skills/lit-pptx/references/tonalities/paper.md +151 -0
- package/plugin/skills/lit-pptx/references/tonalities/signal.md +150 -0
- package/plugin/skills/lit-pptx/references/tonalities/studio.md +132 -0
- package/plugin/skills/lit-pptx/scripts/compile-deck.js +462 -0
- package/plugin/skills/lit-pptx/scripts/craft_extras.py +1034 -0
- package/plugin/skills/lit-pptx/scripts/deck_craft.py +363 -0
- package/plugin/skills/lit-pptx/scripts/embed_fonts.py +215 -0
- package/plugin/skills/lit-pptx/scripts/forbidden-terms.json +55 -0
- package/plugin/skills/lit-pptx/scripts/layout_inventory.py +418 -0
- package/plugin/skills/lit-pptx/scripts/learn_template.py +446 -0
- package/plugin/skills/lit-pptx/scripts/lib/derive-palette.js +176 -0
- package/plugin/skills/lit-pptx/scripts/lib/directive-parser.js +244 -0
- package/plugin/skills/lit-pptx/scripts/lib/font-map.js +79 -0
- package/plugin/skills/lit-pptx/scripts/lib/gen-bg.js +86 -0
- package/plugin/skills/lit-pptx/scripts/lib/gen-gradient-assets.js +37 -0
- package/plugin/skills/lit-pptx/scripts/lib/grid-resolver.js +521 -0
- package/plugin/skills/lit-pptx/scripts/lib/layout-resolver.js +1119 -0
- package/plugin/skills/lit-pptx/scripts/lib/markdown-loader.js +138 -0
- package/plugin/skills/lit-pptx/scripts/lib/render-adapter-html.js +356 -0
- package/plugin/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +2240 -0
- package/plugin/skills/lit-pptx/scripts/lib/render-pack.js +3559 -0
- package/plugin/skills/lit-pptx/scripts/lib/runtime-require.js +28 -0
- package/plugin/skills/lit-pptx/scripts/lib/slide-ast.js +565 -0
- package/plugin/skills/lit-pptx/scripts/lib/spec-validator.js +94 -0
- package/plugin/skills/lit-pptx/scripts/lib/template-registry.js +679 -0
- package/plugin/skills/lit-pptx/scripts/package.json +4 -0
- package/plugin/skills/lit-pptx/scripts/qa_deck.py +795 -0
- package/plugin/skills/lit-pptx/scripts/validate_pptx.py +230 -0
- package/plugin/skills/lit-pptx/specs/markdown-slide-spec-v1.md +251 -0
- package/plugin/skills/lit-pptx/specs/markdown-slide-spec-v2.md +214 -0
- package/plugin/skills/lit-pptx/specs/slide-ast-v1.schema.json +229 -0
- package/plugin/skills/lit-pptx/specs/slide-ast-v2.schema.json +144 -0
- package/plugin/skills/lit-pptx/specs/template-enrollment-contract.md +382 -0
- package/plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/capabilities.yaml +146 -0
- package/plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +454 -0
- package/plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +40 -0
- package/plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/capabilities.yaml +154 -0
- package/plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +475 -0
- package/plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +40 -0
- package/plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/capabilities.yaml +179 -0
- package/plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/layout-mapping.yaml +299 -0
- package/plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/template.yaml +45 -0
- package/plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/capabilities.yaml +181 -0
- package/plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/layout-mapping.yaml +299 -0
- package/plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/template.yaml +44 -0
- package/plugin/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +92 -0
- package/plugin/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +97 -0
- package/plugin/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +93 -0
- package/plugin/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +94 -0
- package/plugin/skills/lit-pptx/templates/tonalities/night/pack.yaml +93 -0
- package/plugin/skills/lit-pptx/templates/tonalities/paper/pack.yaml +98 -0
- package/plugin/skills/lit-pptx/templates/tonalities/signal/pack.yaml +94 -0
- package/plugin/skills/lit-pptx/templates/tonalities/studio/pack.yaml +92 -0
- package/plugin/skills/lit-recap/SKILL.md +229 -0
- package/plugin/skills/lit-scientific-visualization/LICENSE +21 -0
- package/plugin/skills/lit-scientific-visualization/SKILL.md +235 -0
- package/plugin/skills/lit-scientific-visualization/assets/color_palettes.py +197 -0
- package/plugin/skills/lit-scientific-visualization/assets/nature.mplstyle +75 -0
- package/plugin/skills/lit-scientific-visualization/assets/presentation.mplstyle +74 -0
- package/plugin/skills/lit-scientific-visualization/assets/publication.mplstyle +78 -0
- package/plugin/skills/lit-scientific-visualization/evals/evals.json +158 -0
- package/plugin/skills/lit-scientific-visualization/references/canonical-workflow.md +283 -0
- package/plugin/skills/lit-scientific-visualization/references/color_palettes.md +380 -0
- package/plugin/skills/lit-scientific-visualization/references/journal_requirements.md +359 -0
- package/plugin/skills/lit-scientific-visualization/references/matplotlib_examples.md +608 -0
- package/plugin/skills/lit-scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
- package/plugin/skills/lit-scientific-visualization/references/publication_guidelines.md +217 -0
- package/plugin/skills/lit-scientific-visualization/references/seaborn_for_publications.md +293 -0
- package/plugin/skills/lit-scientific-visualization/scripts/figure_export.py +238 -0
- package/plugin/skills/lit-scientific-visualization/scripts/sciviz-runtime-requirements.lock +23 -0
- package/plugin/skills/lit-scientific-visualization/scripts/sciviz-runtime.mjs +225 -0
- package/plugin/skills/lit-scientific-visualization/scripts/style_presets.py +467 -0
- package/plugin/skills/lit-scientific-visualization/tests/test_figure_export.py +51 -0
- package/plugin/skills/lit-scientific-visualization/tests/test_style_presets.py +114 -0
- package/plugin/skills/lit-team/SKILL.md +189 -0
- package/plugin/skills/lit-team/references/team-orchestration.md +164 -0
- package/plugin/skills/lit-team/scripts/owner-lock.mjs +330 -0
- package/plugin/skills/lit-team/scripts/secure-path.mjs +24 -0
- package/plugin/skills/lit-team/scripts/state-root.mjs +55 -0
- package/plugin/skills/lit-team/scripts/team.mjs +628 -0
- package/plugin/skills/lit-typographic-motion/SKILL.md +180 -0
- package/plugin/skills/lit-typographic-motion/engine/NOTICE +23 -0
- package/plugin/skills/lit-typographic-motion/engine/THIRD_PARTY_NOTICES +62 -0
- package/plugin/skills/lit-typographic-motion/engine/audio/beat_grid.py +56 -0
- package/plugin/skills/lit-typographic-motion/engine/audio/requirements.lock +1084 -0
- package/plugin/skills/lit-typographic-motion/engine/core/constants.mjs +246 -0
- package/plugin/skills/lit-typographic-motion/engine/core/contrast.mjs +90 -0
- package/plugin/skills/lit-typographic-motion/engine/core/events.mjs +46 -0
- package/plugin/skills/lit-typographic-motion/engine/core/flash.mjs +211 -0
- package/plugin/skills/lit-typographic-motion/engine/core/gate-rules.mjs +550 -0
- package/plugin/skills/lit-typographic-motion/engine/core/presets.mjs +123 -0
- package/plugin/skills/lit-typographic-motion/engine/core/text.mjs +100 -0
- package/plugin/skills/lit-typographic-motion/engine/core/timeline.mjs +142 -0
- package/plugin/skills/lit-typographic-motion/engine/core/util.mjs +167 -0
- package/plugin/skills/lit-typographic-motion/engine/core/voices.mjs +19 -0
- package/plugin/skills/lit-typographic-motion/engine/models/word-timing.json +198 -0
- package/plugin/skills/lit-typographic-motion/engine/node/analysis.mjs +108 -0
- package/plugin/skills/lit-typographic-motion/engine/node/brief.mjs +158 -0
- package/plugin/skills/lit-typographic-motion/engine/node/chrome.mjs +330 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-assets.mjs +102 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-capture.mjs +213 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-gate.mjs +346 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-image.mjs +141 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-sheet.mjs +76 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-treatment.mjs +106 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover-worker.mjs +32 -0
- package/plugin/skills/lit-typographic-motion/engine/node/cover.mjs +373 -0
- package/plugin/skills/lit-typographic-motion/engine/node/coverage.mjs +83 -0
- package/plugin/skills/lit-typographic-motion/engine/node/done.mjs +170 -0
- package/plugin/skills/lit-typographic-motion/engine/node/encode.mjs +102 -0
- package/plugin/skills/lit-typographic-motion/engine/node/frame-worker.mjs +36 -0
- package/plugin/skills/lit-typographic-motion/engine/node/look.mjs +164 -0
- package/plugin/skills/lit-typographic-motion/engine/node/pipeline.mjs +592 -0
- package/plugin/skills/lit-typographic-motion/engine/node/png.mjs +112 -0
- package/plugin/skills/lit-typographic-motion/engine/node/report.mjs +66 -0
- package/plugin/skills/lit-typographic-motion/engine/node/runtime.mjs +345 -0
- package/plugin/skills/lit-typographic-motion/engine/node/session.mjs +145 -0
- package/plugin/skills/lit-typographic-motion/engine/node/sound-cli.mjs +60 -0
- package/plugin/skills/lit-typographic-motion/engine/node/sound.mjs +641 -0
- package/plugin/skills/lit-typographic-motion/engine/node/stage-capture.mjs +179 -0
- package/plugin/skills/lit-typographic-motion/engine/node/stage-gate.mjs +122 -0
- package/plugin/skills/lit-typographic-motion/engine/node/stage-qa.mjs +295 -0
- package/plugin/skills/lit-typographic-motion/engine/node/stage-serve.mjs +283 -0
- package/plugin/skills/lit-typographic-motion/engine/node/stage.mjs +503 -0
- package/plugin/skills/lit-typographic-motion/engine/node/stills.mjs +100 -0
- package/plugin/skills/lit-typographic-motion/engine/node/treatment.mjs +344 -0
- package/plugin/skills/lit-typographic-motion/engine/node/webp.mjs +145 -0
- package/plugin/skills/lit-typographic-motion/engine/node/ws-server.mjs +132 -0
- package/plugin/skills/lit-typographic-motion/engine/package-lock.json +25 -0
- package/plugin/skills/lit-typographic-motion/engine/package.json +10 -0
- package/plugin/skills/lit-typographic-motion/engine/stage/cover-init.js +37 -0
- package/plugin/skills/lit-typographic-motion/engine/stage/init.js +288 -0
- package/plugin/skills/lit-typographic-motion/engine/stage/loop-kit.js +106 -0
- package/plugin/skills/lit-typographic-motion/engine/stage/qa.js +157 -0
- package/plugin/skills/lit-typographic-motion/engine/stage/stage-kit.js +701 -0
- package/plugin/skills/lit-typographic-motion/engine/web/boot.mjs +123 -0
- package/plugin/skills/lit-typographic-motion/engine/web/engine.mjs +281 -0
- package/plugin/skills/lit-typographic-motion/engine/web/gl.mjs +319 -0
- package/plugin/skills/lit-typographic-motion/engine/web/glsl-common.mjs +78 -0
- package/plugin/skills/lit-typographic-motion/engine/web/index.html +6 -0
- package/plugin/skills/lit-typographic-motion/engine/web/lines.mjs +112 -0
- package/plugin/skills/lit-typographic-motion/engine/web/passes/crt.mjs +98 -0
- package/plugin/skills/lit-typographic-motion/engine/web/passes/dither.mjs +49 -0
- package/plugin/skills/lit-typographic-motion/engine/web/passes/glitch.mjs +77 -0
- package/plugin/skills/lit-typographic-motion/engine/web/passes/swiss-grid.mjs +61 -0
- package/plugin/skills/lit-typographic-motion/engine/web/passes/terminal-ui.mjs +88 -0
- package/plugin/skills/lit-typographic-motion/engine/web/passes/tidal-gradient.mjs +86 -0
- package/plugin/skills/lit-typographic-motion/engine/web/post.mjs +165 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scale.mjs +15 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scene.mjs +82 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/end-card.mjs +30 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/index.mjs +16 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/karaoke-line.mjs +47 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/kinetic-list.mjs +45 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/number-counter.mjs +29 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/signature.mjs +73 -0
- package/plugin/skills/lit-typographic-motion/engine/web/scenes/title-slam.mjs +73 -0
- package/plugin/skills/lit-typographic-motion/engine/web/stroke.mjs +236 -0
- package/plugin/skills/lit-typographic-motion/engine/web/type.mjs +180 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w100-400.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w100-700.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w100-900.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w125-400.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w125-700.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w125-900.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w75-400.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w75-700.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/Archivo-w75-900.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/archivo/OFL.txt +93 -0
- package/plugin/skills/lit-typographic-motion/fonts/jetbrains-mono/JetBrainsMono-wght-latin.woff2 +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/jetbrains-mono/OFL.txt +93 -0
- package/plugin/skills/lit-typographic-motion/fonts/manifest.json +455 -0
- package/plugin/skills/lit-typographic-motion/fonts/silkscreen/OFL.txt +93 -0
- package/plugin/skills/lit-typographic-motion/fonts/silkscreen/Silkscreen-Bold.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/silkscreen/Silkscreen-Regular.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/CREDITS +42 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/EMSAllure.svg +216 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/EMSFelix.svg +216 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/EMSOsmotron.svg +216 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/EMSReadability.svg +216 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/EMSTech.svg +217 -0
- package/plugin/skills/lit-typographic-motion/fonts/stroke/OFL.txt +91 -0
- package/plugin/skills/lit-typographic-motion/fonts/vt323/OFL.txt +93 -0
- package/plugin/skills/lit-typographic-motion/fonts/vt323/VT323-Regular.ttf +0 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/card-scenes/expected.json +16 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/card-scenes/index.html +27 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/reset-sweep/expected.json +16 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/reset-sweep/index.html +17 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/still-glow/expected.json +17 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/still-glow/index.html +18 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/title-slam/expected.json +17 -0
- package/plugin/skills/lit-typographic-motion/recipes/negatives/title-slam/index.html +30 -0
- package/plugin/skills/lit-typographic-motion/recipes/orbit-loop/expected.json +67 -0
- package/plugin/skills/lit-typographic-motion/recipes/orbit-loop/index.html +152 -0
- package/plugin/skills/lit-typographic-motion/recipes/painted-light/expected.json +95 -0
- package/plugin/skills/lit-typographic-motion/recipes/painted-light/index.html +202 -0
- package/plugin/skills/lit-typographic-motion/recipes/weight-tide/expected.json +67 -0
- package/plugin/skills/lit-typographic-motion/recipes/weight-tide/index.html +100 -0
- package/plugin/skills/lit-typographic-motion/references/brief-schema.md +119 -0
- package/plugin/skills/lit-typographic-motion/references/cover.md +475 -0
- package/plugin/skills/lit-typographic-motion/references/craft-loop.md +100 -0
- package/plugin/skills/lit-typographic-motion/references/engine-contract.md +124 -0
- package/plugin/skills/lit-typographic-motion/references/look.md +157 -0
- package/plugin/skills/lit-typographic-motion/references/runtime.md +98 -0
- package/plugin/skills/lit-typographic-motion/references/sound.md +123 -0
- package/plugin/skills/lit-typographic-motion/references/stage.md +239 -0
- package/plugin/skills/lit-typographic-motion/references/style-bibles.md +130 -0
- package/plugin/skills/lit-typographic-motion/references/treatment.md +166 -0
- package/plugin/skills/lit-typographic-motion/references/type-craft.md +87 -0
- package/plugin/skills/lit-typographic-motion/scripts/motion-doctor.mjs +99 -0
- package/plugin/skills/lit-typographic-motion/scripts/motion-runtime.mjs +95 -0
- package/plugin/skills/lit-typographic-motion/scripts/motion.mjs +165 -0
- package/plugin/skills/litgoal/SKILL.md +263 -0
- package/plugin/skills/litgoal/scripts/check-goal.mjs +99 -0
- package/plugin/skills/litgoal/templates/goal.json +23 -0
- package/plugin/skills/litresearch/ATTRIBUTION.md +57 -0
- package/plugin/skills/litresearch/SKILL.md +771 -0
- package/plugin/skills/litresearch/references/lane-operations.md +54 -0
- package/plugin/skills/litresearch/references/source-verdict-checklist.md +37 -0
- package/plugin/skills/litwork/SKILL.md +527 -0
- package/plugin/skills/litwork/references/qa-channel-recipes.md +88 -0
- package/plugin/skills/litwork/templates/notes.md +26 -0
- package/plugin/skills/lsp/SKILL.md +241 -0
- package/plugin/skills/lsp/references/cli-recipes.md +136 -0
- package/plugin/skills/lsp/references/runtime-triage.md +128 -0
- package/plugin/skills/lsp/scripts/diagnostics.mjs +327 -0
- package/plugin/skills/lsp/scripts/tsserver-query.mjs +83 -0
- package/plugin/skills/lsp-setup/SKILL.md +263 -0
- package/plugin/skills/lsp-setup/references/bash/README.md +54 -0
- package/plugin/skills/lsp-setup/references/c-cpp/README.md +57 -0
- package/plugin/skills/lsp-setup/references/csharp/README.md +53 -0
- package/plugin/skills/lsp-setup/references/dart/README.md +53 -0
- package/plugin/skills/lsp-setup/references/elixir/README.md +54 -0
- package/plugin/skills/lsp-setup/references/go/README.md +54 -0
- package/plugin/skills/lsp-setup/references/haskell/README.md +52 -0
- package/plugin/skills/lsp-setup/references/java/README.md +51 -0
- package/plugin/skills/lsp-setup/references/julia/README.md +51 -0
- package/plugin/skills/lsp-setup/references/kotlin/README.md +50 -0
- package/plugin/skills/lsp-setup/references/lua/README.md +50 -0
- package/plugin/skills/lsp-setup/references/php/README.md +52 -0
- package/plugin/skills/lsp-setup/references/python/README.md +57 -0
- package/plugin/skills/lsp-setup/references/ruby/README.md +56 -0
- package/plugin/skills/lsp-setup/references/rust/README.md +56 -0
- package/plugin/skills/lsp-setup/references/swift/README.md +52 -0
- package/plugin/skills/lsp-setup/references/terraform/README.md +56 -0
- package/plugin/skills/lsp-setup/references/typescript/README.md +61 -0
- package/plugin/skills/lsp-setup/references/yaml/README.md +53 -0
- package/plugin/skills/lsp-setup/references/zig/README.md +49 -0
- package/plugin/skills/lsp-setup/scripts/detect-lsp.mjs +90 -0
- package/plugin/skills/lsp-setup/scripts/lsp-server-table.mjs +58 -0
- package/plugin/skills/lsp-setup/scripts/verify-lsp.mjs +118 -0
- package/plugin/skills/readme-studio/SKILL.md +117 -0
- package/plugin/skills/readme-studio/references/decoration-and-navigation.md +55 -0
- package/plugin/skills/readme-studio/references/facts-and-assembly.md +19 -0
- package/plugin/skills/readme-studio/references/production-interview.md +11 -0
- package/plugin/skills/readme-studio/references/render-and-deliver.md +44 -0
- package/plugin/skills/readme-studio/references/type-and-background.md +23 -0
- package/plugin/skills/readme-studio/scripts/readme-runtime-lock/package-lock.json +133 -0
- package/plugin/skills/readme-studio/scripts/readme-runtime-lock/package.json +6 -0
- package/plugin/skills/readme-studio/scripts/readme-runtime.mjs +77 -0
- package/plugin/skills/readme-studio/scripts/validate-readme-facts.mjs +28 -0
- package/plugin/skills/readme-studio/templates/cover-source.json +21 -0
- package/plugin/skills/readme-studio/templates/hyperframes-cover/index.html +30 -0
- package/plugin/skills/readme-studio/templates/hyperframes-cover/index.motion.json +1 -0
- package/plugin/skills/readme-studio/templates/hyperframes-cover/package-lock.json +2017 -0
- package/plugin/skills/readme-studio/templates/hyperframes-cover/package.json +8 -0
- package/plugin/skills/readme-studio/templates/readme-cover-section.md +75 -0
- package/plugin/skills/readme-studio/templates/readme-facts.json +4 -0
- package/plugin/skills/readme-studio/templates/remotion-cover/package-lock.json +3783 -0
- package/plugin/skills/readme-studio/templates/remotion-cover/package.json +7 -0
- package/plugin/skills/readme-studio/templates/remotion-cover/src/index.tsx +36 -0
- package/plugin/skills/readme-studio/templates/typography/package-lock.json +133 -0
- package/plugin/skills/readme-studio/templates/typography/package.json +6 -0
- package/plugin/skills/readme-studio/templates/typography/safe-files.mjs +57 -0
- package/plugin/skills/readme-studio/templates/typography/shape-text-to-svg.mjs +63 -0
- package/plugin/skills/refactor/SKILL.md +766 -0
- package/plugin/skills/refactor/references/safe-change-playbook.md +155 -0
- package/plugin/skills/review-work/SKILL.md +539 -0
- package/plugin/skills/review-work/references/lane-context.md +77 -0
- package/plugin/skills/review-work/references/lane-goal.md +82 -0
- package/plugin/skills/review-work/references/lane-qa.md +97 -0
- package/plugin/skills/review-work/references/lane-quality.md +81 -0
- package/plugin/skills/review-work/references/lane-security.md +73 -0
- package/plugin/skills/review-work/references/plan-review-checklist.md +169 -0
- package/plugin/skills/review-work/references/verdict-templates.md +161 -0
- package/plugin/skills/review-work/scripts/check-lanes.mjs +104 -0
- package/plugin/skills/rules/SKILL.md +239 -0
- package/plugin/skills/start-work/SKILL.md +564 -0
- package/plugin/skills/start-work/references/execution-templates.md +113 -0
- package/plugin/skills/start-work/scripts/ledger-append.mjs +47 -0
- package/plugin/skills/start-work/scripts/next-row.mjs +96 -0
- package/plugin/skills/structural-search/SKILL.md +222 -0
- package/plugin/skills/structural-search/references/diagnostics.md +307 -0
- package/plugin/skills/structural-search/references/patterns-and-rules.md +381 -0
- package/plugin/skills/structural-search/references/rewrite-safety.md +266 -0
- package/plugin/skills/visual-qa/SKILL.md +192 -0
- package/plugin/skills/visual-qa/references/capture-playbook.md +126 -0
- package/plugin/skills/visual-qa/references/complete-contract.md +677 -0
- package/plugin/skills/visual-qa/schemas/design-contract-v1alpha1.schema.json +305 -0
- package/plugin/skills/visual-qa/schemas/design-contract-v1beta1.schema.json +291 -0
- package/plugin/skills/visual-qa/schemas/design-contract-v1beta2.schema.json +311 -0
- package/plugin/skills/visual-qa/schemas/evidence-manifest-v1alpha1.schema.json +235 -0
- package/plugin/skills/visual-qa/schemas/evidence-manifest-v1beta1.schema.json +208 -0
- package/plugin/skills/visual-qa/schemas/review-receipt-v1alpha1.schema.json +66 -0
- package/plugin/skills/visual-qa/scripts/ansi.ts +17 -0
- package/plugin/skills/visual-qa/scripts/cli.mjs +101 -0
- package/plugin/skills/visual-qa/scripts/cli.ts +96 -0
- package/plugin/skills/visual-qa/scripts/design-contract-shape.mjs +448 -0
- package/plugin/skills/visual-qa/scripts/east-asian-width.ts +72 -0
- package/plugin/skills/visual-qa/scripts/errors.mjs +12 -0
- package/plugin/skills/visual-qa/scripts/evidence-io.mjs +184 -0
- package/plugin/skills/visual-qa/scripts/evidence-semantic.mjs +95 -0
- package/plugin/skills/visual-qa/scripts/evidence-shape.mjs +163 -0
- package/plugin/skills/visual-qa/scripts/evidence.mjs +421 -0
- package/plugin/skills/visual-qa/scripts/image-diff.mjs +89 -0
- package/plugin/skills/visual-qa/scripts/image-diff.ts +109 -0
- package/plugin/skills/visual-qa/scripts/png-chunks.mjs +107 -0
- package/plugin/skills/visual-qa/scripts/png-crc.ts +27 -0
- package/plugin/skills/visual-qa/scripts/png-decode.mjs +143 -0
- package/plugin/skills/visual-qa/scripts/png-decode.ts +206 -0
- package/plugin/skills/visual-qa/scripts/png-synth.ts +57 -0
- package/plugin/skills/visual-qa/scripts/review-rules.mjs +137 -0
- package/plugin/skills/visual-qa/scripts/terminal-text.mjs +117 -0
- package/plugin/skills/visual-qa/scripts/tui-check.mjs +74 -0
- package/plugin/skills/visual-qa/scripts/tui-grid.ts +88 -0
- package/plugin/skills/visual-qa/scripts/types.ts +54 -0
- package/plugin/skills/wikify/LICENSE +21 -0
- package/plugin/skills/wikify/PROVENANCE.md +15 -0
- package/plugin/skills/wikify/SKILL.md +630 -0
- package/plugin/skills/wikify/assets/home-template.md +44 -0
- package/plugin/skills/wikify/assets/maintenance-report-template.md +46 -0
- package/plugin/skills/wikify/assets/paper-source-note-template.md +137 -0
- package/plugin/skills/wikify/assets/source-note-template.md +45 -0
- package/plugin/skills/wikify/assets/wiki-rules-template.md +117 -0
- package/plugin/skills/wikify/modes/ingest.md +44 -0
- package/plugin/skills/wikify/modes/init.md +40 -0
- package/plugin/skills/wikify/modes/lint.md +47 -0
- package/plugin/skills/wikify/modes/query.md +32 -0
- package/plugin/skills/wikify/modes/save.md +42 -0
- package/plugin/skills/wikify/scripts/wikify-knowledge.mjs +473 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Hedge-cluster check for project deliverables. A hedge is a word that softens a claim without changing it; one
|
|
2
|
+
// functional qualifier is fine, a pile of them reads as templated model prose. Only hedges a write ADDS count.
|
|
3
|
+
|
|
4
|
+
const EN_HEDGES = [
|
|
5
|
+
/\b(?:could|may|might)\s+(?:possibly|potentially|perhaps|arguably)\b/gi,
|
|
6
|
+
/\b(?:perhaps|possibly|potentially|arguably|presumably|seemingly|somewhat|relatively|generally|typically|probably|likely)\b/gi,
|
|
7
|
+
/\b(?:it seems|seems to|appears to|tends to|to some extent|in some cases|in many cases|to a certain degree)\b/gi,
|
|
8
|
+
/\b(?:could|might)\b/gi,
|
|
9
|
+
];
|
|
10
|
+
const KO_HEDGES = [
|
|
11
|
+
/것으로\s*(?:보인다|보입니다|보여요|추정됩니다|판단됩니다|생각됩니다)|(?:인|할|될)\s*듯\s*(?:하다|합니다|하며)|것\s*같(?:다|습니다|아요)/g,
|
|
12
|
+
/수도\s*있|수\s*있을\s*것|가능성이\s*있/g,
|
|
13
|
+
/다소|어느\s*정도|대체로|일반적으로|아마도?|어쩌면|비교적/g,
|
|
14
|
+
];
|
|
15
|
+
const SENTENCE_LIMIT = 2;
|
|
16
|
+
const PARAGRAPH_LIMIT = 4;
|
|
17
|
+
|
|
18
|
+
function paragraphs(text) {
|
|
19
|
+
let inFence = false;
|
|
20
|
+
const out = [];
|
|
21
|
+
let current = [];
|
|
22
|
+
for (const line of text.split('\n')) {
|
|
23
|
+
if (/^\s*(```|~~~)/.test(line)) { inFence = !inFence; continue; }
|
|
24
|
+
if (inFence || /^\s*>/.test(line)) continue;
|
|
25
|
+
if (!line.trim()) { if (current.length) out.push(current.join(' ')); current = []; continue; }
|
|
26
|
+
current.push(line);
|
|
27
|
+
}
|
|
28
|
+
if (current.length) out.push(current.join(' '));
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const sentences = (p) => p.split(/(?<=[.!?。])\s+/).map((s) => s.trim()).filter(Boolean);
|
|
33
|
+
|
|
34
|
+
// Counts hedge words in a sentence. The patterns overlap on purpose ("could possibly" is two hedges), so each
|
|
35
|
+
// character span is claimed once: a longer match consumes the shorter ones inside it, except the phrase counts twice
|
|
36
|
+
// when it joins a modal to an adverb.
|
|
37
|
+
export function hedgeCount(sentence) {
|
|
38
|
+
let count = 0;
|
|
39
|
+
let rest = sentence;
|
|
40
|
+
for (const pattern of [...EN_HEDGES, ...KO_HEDGES]) {
|
|
41
|
+
const hits = rest.match(pattern);
|
|
42
|
+
if (!hits) continue;
|
|
43
|
+
count += hits.length + (pattern === EN_HEDGES[0] ? hits.length : 0);
|
|
44
|
+
rest = rest.replace(pattern, ' ');
|
|
45
|
+
}
|
|
46
|
+
return count;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Returns {snippet, count} for the first paragraph the write turns into a hedge cluster, else null. Sentences already
|
|
50
|
+
// in the file (or in the replaced text) belong to the writer and are not counted.
|
|
51
|
+
export function addedHedgeCluster(newText, existingText = '') {
|
|
52
|
+
const existing = new Set(paragraphs(existingText).flatMap(sentences));
|
|
53
|
+
for (const p of paragraphs(newText)) {
|
|
54
|
+
const fresh = sentences(p).filter((s) => !existing.has(s));
|
|
55
|
+
const counts = fresh.map(hedgeCount);
|
|
56
|
+
const total = counts.reduce((a, b) => a + b, 0);
|
|
57
|
+
if (counts.some((c) => c >= SENTENCE_LIMIT) || total >= PARAGRAPH_LIMIT) {
|
|
58
|
+
return { snippet: fresh.join(' ').slice(0, 160), count: total };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export const HEDGE_MESSAGE = 'Keep the one qualifier that changes the claim and state the rest plainly; say what is known, then name the single open point once.';
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync, lstatSync } from 'node:fs';
|
|
2
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { PLUGIN_ROOT, sessionFile, toolName, toolInput, workspaceOf } from './common.mjs';
|
|
5
|
+
|
|
6
|
+
// The lit-typographic-motion done gate. A motion turn ends when the skill's own done-check says the film or cover is
|
|
7
|
+
// done, not when a command ran: PostToolUse records each `motion.mjs` run (subcommand, --out, --round and the
|
|
8
|
+
// `exit N NAME` line when the tool output carries it) and each image `read_file` opened, and Stop runs
|
|
9
|
+
// engine/node/done.mjs on the last output folder. A look round may list only images read_file really opened.
|
|
10
|
+
export const MOTION_ROUTE = 'lit-typographic-motion';
|
|
11
|
+
export const MOTION_MAX_HOLDS = 2;
|
|
12
|
+
const BLOCKED_EXITS = new Set([10, 11, 12, 14, 15, 21, 22]);
|
|
13
|
+
const SHELL = new Set(['bash', 'exec_command', 'shell']);
|
|
14
|
+
const COMMAND = /\bmotion\.mjs["']?\s+(stage|make|cover-gate|cover|gate|sound|look|stills|sheet|video|perf)\b([^\n;&|]*)/;
|
|
15
|
+
const IMAGE = /\.(png|jpe?g|webp|gif)$/i;
|
|
16
|
+
const MAX_VIEWED = 2000;
|
|
17
|
+
const DONE_MODULE = join(PLUGIN_ROOT, 'skills', MOTION_ROUTE, 'engine', 'node', 'done.mjs');
|
|
18
|
+
|
|
19
|
+
const statePath = (payload) => sessionFile(payload)?.replace(/\.json$/, '.motion.json') ?? null;
|
|
20
|
+
|
|
21
|
+
function isLink(p) {
|
|
22
|
+
try {
|
|
23
|
+
return lstatSync(p).isSymbolicLink();
|
|
24
|
+
} catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function readMotion(payload) {
|
|
30
|
+
const file = statePath(payload);
|
|
31
|
+
if (!file || !existsSync(file)) return null;
|
|
32
|
+
try {
|
|
33
|
+
const s = JSON.parse(readFileSync(file, 'utf8'));
|
|
34
|
+
return s && Array.isArray(s.runs) && Array.isArray(s.viewed) ? s : null;
|
|
35
|
+
} catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function writeMotion(payload, state) {
|
|
41
|
+
const file = statePath(payload);
|
|
42
|
+
if (!file || isLink(file) || isLink(dirname(file))) return state;
|
|
43
|
+
mkdirSync(dirname(file), { recursive: true });
|
|
44
|
+
const tmp = `${file}.tmp-${process.pid}`;
|
|
45
|
+
writeFileSync(tmp, JSON.stringify(state));
|
|
46
|
+
renameSync(tmp, file);
|
|
47
|
+
return state;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Each motion prompt starts a fresh hold budget; the runs and the images opened earlier in the session stay.
|
|
51
|
+
export function armMotionTurn(payload, now = Date.now()) {
|
|
52
|
+
const prev = readMotion(payload);
|
|
53
|
+
return writeMotion(payload, { runs: prev?.runs ?? [], viewed: prev?.viewed ?? [], holds: 0, notified: false, promptAt: now });
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const unquote = (v) => v?.replace(/^["']|["']$/g, '');
|
|
57
|
+
|
|
58
|
+
/** One `motion.mjs <mode> ...` command line as { mode, out, round, stillsOnly }, or null. */
|
|
59
|
+
export function parseMotionCommand(command, cwd) {
|
|
60
|
+
const m = COMMAND.exec(String(command ?? ''));
|
|
61
|
+
if (!m) return null;
|
|
62
|
+
const tokens = [...m[2].matchAll(/"[^"]*"|'[^']*'|[^\s]+/g)].map((t) => unquote(t[0]));
|
|
63
|
+
const values = {};
|
|
64
|
+
const positional = [];
|
|
65
|
+
let stillsOnly = false;
|
|
66
|
+
for (let i = 0; i < tokens.length; i += 1) {
|
|
67
|
+
const t = tokens[i];
|
|
68
|
+
if (t === '--stills-only') stillsOnly = true;
|
|
69
|
+
else if (t.startsWith('--')) {
|
|
70
|
+
if (['--out', '--round', '--answers', '--blocked', '--window'].includes(t)) {
|
|
71
|
+
values[t] = tokens[i + 1];
|
|
72
|
+
i += 1;
|
|
73
|
+
}
|
|
74
|
+
} else if (!t.startsWith('>') && !t.startsWith('2>')) positional.push(t);
|
|
75
|
+
}
|
|
76
|
+
const abs = (p) => (p ? (isAbsolute(p) ? p : resolve(cwd, p)) : null);
|
|
77
|
+
const mode = m[1];
|
|
78
|
+
if (mode === 'gate') return { mode, out: abs(positional[0]), round: null, stillsOnly: false };
|
|
79
|
+
// cover-gate checks a file; it is no render, so it never becomes the folder the gate judges.
|
|
80
|
+
if (mode === 'cover-gate') return { mode, out: null, round: null, stillsOnly: false };
|
|
81
|
+
const round = values['--round'] === undefined ? null : Number(values['--round']);
|
|
82
|
+
// A window render is a diagnostic sheet; the full cover render is the one that counts.
|
|
83
|
+
if (values['--window'] !== undefined) return { mode: 'cover-window', out: null, round, stillsOnly: false };
|
|
84
|
+
return { mode, out: abs(values['--out']), round, stillsOnly };
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** The last `exit <code>` line the CLI printed, or null. */
|
|
88
|
+
export function exitCodeOf(output) {
|
|
89
|
+
const hits = [...String(output ?? '').matchAll(/^exit (\d+)\b/gm)];
|
|
90
|
+
return hits.length ? Number(hits[hits.length - 1][1]) : null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function toolText(payload) {
|
|
94
|
+
const r = payload.tool_response ?? payload.tool_output ?? payload.output ?? payload.result;
|
|
95
|
+
if (typeof r === 'string') return r;
|
|
96
|
+
if (!r || typeof r !== 'object') return '';
|
|
97
|
+
return [r.stdout, r.stderr, r.output, r.content, r.text].filter((p) => typeof p === 'string').join('\n');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** PostToolUse while the motion route is active: remember renders and opened images. */
|
|
101
|
+
export function recordMotionTool(payload, now = Date.now()) {
|
|
102
|
+
const tool = toolName(payload);
|
|
103
|
+
const input = toolInput(payload);
|
|
104
|
+
const cwd = workspaceOf(payload);
|
|
105
|
+
const state = readMotion(payload) ?? { runs: [], viewed: [], holds: 0, notified: false, promptAt: now };
|
|
106
|
+
if (SHELL.has(tool)) {
|
|
107
|
+
const parsed = parseMotionCommand(input.command ?? input.cmd ?? input.script, cwd);
|
|
108
|
+
if (!parsed) return null;
|
|
109
|
+
return writeMotion(payload, { ...state, runs: [...state.runs, { ...parsed, exitCode: exitCodeOf(toolText(payload)), at: now }].slice(-12) });
|
|
110
|
+
}
|
|
111
|
+
if (tool === 'read_file') {
|
|
112
|
+
const path = ['path', 'file_path', 'target_path', 'file'].map((k) => input[k]).find((v) => typeof v === 'string' && v);
|
|
113
|
+
if (!path || !IMAGE.test(path)) return null;
|
|
114
|
+
const abs = resolve(cwd, path);
|
|
115
|
+
if (state.viewed.includes(abs)) return state;
|
|
116
|
+
return writeMotion(payload, { ...state, viewed: [...state.viewed, abs].slice(-MAX_VIEWED) });
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const notDone = (reasons) => `LitMuse lit-typographic-motion: the work is not done (${reasons.join('; ')}). Stop rendering now and say plainly in the reply that it is not done, why, and the command the user can run to finish it.`;
|
|
122
|
+
|
|
123
|
+
/** Stop while the motion route is active: { action: 'allow' | 'block', why, reason? }. */
|
|
124
|
+
export async function evaluateMotionStop(payload, now = Date.now()) {
|
|
125
|
+
const state = readMotion(payload);
|
|
126
|
+
if (!state) return { action: 'allow', why: 'no-motion-state' };
|
|
127
|
+
if (state.notified) return { action: 'allow', why: 'notified' };
|
|
128
|
+
const last = [...state.runs].reverse().find((r) => r.out) ?? null;
|
|
129
|
+
let verdict;
|
|
130
|
+
if (!last) verdict = { status: 'NOT_DONE', reasons: ['no render command ran under this route'], downgraded: [], openItems: [] };
|
|
131
|
+
else if (BLOCKED_EXITS.has(last.exitCode)) verdict = { status: 'BLOCKED', reasons: [`the render is BLOCKED (exit ${last.exitCode}); report the blocked state and its fix command`], downgraded: [], openItems: [] };
|
|
132
|
+
else {
|
|
133
|
+
const { evaluateDone } = await import(pathToFileURL(DONE_MODULE).href);
|
|
134
|
+
verdict = evaluateDone({ out: last.out, viewedFiles: new Set(state.viewed) });
|
|
135
|
+
}
|
|
136
|
+
if (verdict.status === 'DONE' || verdict.status === 'DONE_UNVIEWED') {
|
|
137
|
+
const say = [
|
|
138
|
+
...(verdict.status === 'DONE_UNVIEWED' ? ['nobody looked at the frames (no image could be opened)'] : []),
|
|
139
|
+
...(verdict.labels ?? []),
|
|
140
|
+
...verdict.downgraded.map((d) => `downgraded: ${d}`),
|
|
141
|
+
...verdict.openItems.map((o) => `open item: ${o}`),
|
|
142
|
+
];
|
|
143
|
+
if (!say.length) return { action: 'allow', why: 'done' };
|
|
144
|
+
writeMotion(payload, { ...state, notified: true });
|
|
145
|
+
return { action: 'block', why: verdict.status, reason: `LitMuse lit-typographic-motion: the render is finished. The reply must say plainly: ${say.join('; ')}.` };
|
|
146
|
+
}
|
|
147
|
+
if (verdict.status === 'BLOCKED' || state.holds >= MOTION_MAX_HOLDS) {
|
|
148
|
+
writeMotion(payload, { ...state, notified: true });
|
|
149
|
+
return { action: 'block', why: 'not-done-notice', reason: notDone(verdict.reasons) };
|
|
150
|
+
}
|
|
151
|
+
writeMotion(payload, { ...state, holds: state.holds + 1, lastHoldAt: now });
|
|
152
|
+
const loop = verdict.mode === 'cover'
|
|
153
|
+
? 'Finish the loop in references/cover.md: render the cover, open the sheet, the poster and the seam pair with read_file, record the look round, and render again when a gate misses TARGET or a look answer asks for it.'
|
|
154
|
+
: 'Finish the loop in references/look.md: render, open every listed still with read_file, record the look round, and render again when the gate or a look answer asks for it.';
|
|
155
|
+
return { action: 'block', why: 'not-done', reason: `LitMuse lit-typographic-motion${verdict.mode === 'cover' ? ' (cover mode)' : ''} is not done: ${verdict.reasons.join('; ')}. ${loop}` };
|
|
156
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// What a lit-plan (planning) turn may do. Everything here is an allowlist: a tool, program or flag that is not
|
|
2
|
+
// listed is refused, so new host tools, MCP tools and unfamiliar flags fail closed.
|
|
3
|
+
|
|
4
|
+
// Tools that only read, or only manage children and sessions that are already limited.
|
|
5
|
+
export const LIT_PLAN_READ_ONLY_TOOLS = [
|
|
6
|
+
'read_file', 'search', 'read_skill', 'web_search', 'web_fetch', 'read_memory', 'work_status', 'work_list',
|
|
7
|
+
'subagent_status', 'subagent_wait', 'subagent_read_result', 'subagent_cancel', 'request_user_input', 'get_goal',
|
|
8
|
+
'cron_list',
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
// Tools allowed with a check: file writers (plans/ and .litmuse/ only), shell (read-only commands only) and
|
|
12
|
+
// child agents (read-only LitMuse agents only).
|
|
13
|
+
export const FILE_TOOLS = new Set(['write_file', 'edit_file', 'apply_patch', 'delete_file']);
|
|
14
|
+
export const SHELL_TOOLS = new Set(['bash', 'bash_input', 'exec_command', 'shell']);
|
|
15
|
+
export const READ_ONLY_AGENTS = new Set([
|
|
16
|
+
'litmuse/lit-planner', 'litmuse/librarian-researcher', 'litmuse/lit-verifier', 'litmuse/quality-reviewer',
|
|
17
|
+
'litmuse/korean-style-analyzer', 'litmuse/korean-prose-editor', 'litmuse/meaning-preservation-auditor',
|
|
18
|
+
'litmuse/native-flow-reviewer', 'litmuse/polish-orchestrator',
|
|
19
|
+
]);
|
|
20
|
+
|
|
21
|
+
// Any of these characters makes a command compound, redirected, substituted or escaped: refused outright.
|
|
22
|
+
const SHELL_META = /[;&|<>`$\\\n\r(){}]/;
|
|
23
|
+
|
|
24
|
+
// Per-program flag allowlists. `flags` take no value; `valueFlags` take the next word; `prefixFlags` carry their
|
|
25
|
+
// value after `=`; `numeric` allows `-<digits>`.
|
|
26
|
+
const PROGRAMS = {
|
|
27
|
+
ls: { flags: /^-[laRh1FdtrSA]+$/ },
|
|
28
|
+
cat: { flags: /^-n$/ },
|
|
29
|
+
head: { flags: /^$/, valueFlags: ['-n', '-c'], numeric: true },
|
|
30
|
+
tail: { flags: /^$/, valueFlags: ['-n', '-c'], numeric: true },
|
|
31
|
+
wc: { flags: /^-[lwcm]+$/ },
|
|
32
|
+
rg: {
|
|
33
|
+
flags: /^(-[nilcwFSsv]+|--(files|hidden|no-heading|line-number|count|ignore-case|fixed-strings|word-regexp|files-with-matches|smart-case|case-sensitive|invert-match))$/,
|
|
34
|
+
valueFlags: ['-g', '--glob', '-t', '--type', '-A', '-B', '-C', '-m', '--max-count'],
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
const GIT = {
|
|
38
|
+
subcommands: new Set(['log', 'status', 'diff', 'show']),
|
|
39
|
+
flags: /^(--(oneline|stat|shortstat|numstat|summary|name-only|name-status|short|porcelain|cached|staged|patch|graph|decorate|all|no-color|abbrev-commit|branch)|-[sp])$/,
|
|
40
|
+
valueFlags: ['-n', '--max-count'],
|
|
41
|
+
prefixFlags: /^--(format|pretty|since|until|author|grep|max-count|stat)=[^\s]*$/,
|
|
42
|
+
numeric: true,
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// Splits on spaces with plain single or double quotes; anything unusual returns null (refused).
|
|
46
|
+
function words(command) {
|
|
47
|
+
const out = [];
|
|
48
|
+
let cur = '';
|
|
49
|
+
let quote = null;
|
|
50
|
+
let started = false;
|
|
51
|
+
for (const ch of command) {
|
|
52
|
+
if (quote) {
|
|
53
|
+
if (ch === quote) quote = null;
|
|
54
|
+
else cur += ch;
|
|
55
|
+
} else if (ch === '"' || ch === "'") {
|
|
56
|
+
quote = ch;
|
|
57
|
+
started = true;
|
|
58
|
+
} else if (ch === ' ' || ch === '\t') {
|
|
59
|
+
if (started) out.push(cur);
|
|
60
|
+
cur = '';
|
|
61
|
+
started = false;
|
|
62
|
+
} else {
|
|
63
|
+
cur += ch;
|
|
64
|
+
started = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (quote) return null;
|
|
68
|
+
if (started) out.push(cur);
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function argsAllowed(args, spec) {
|
|
73
|
+
let positional = false;
|
|
74
|
+
for (let i = 0; i < args.length; i += 1) {
|
|
75
|
+
const a = args[i];
|
|
76
|
+
if (positional || !a.startsWith('-') || a === '-') continue;
|
|
77
|
+
if (a === '--') { positional = true; continue; }
|
|
78
|
+
if (spec.flags.test(a)) continue;
|
|
79
|
+
if (spec.numeric && /^-\d+$/.test(a)) continue;
|
|
80
|
+
if (spec.prefixFlags && spec.prefixFlags.test(a)) continue;
|
|
81
|
+
if (spec.valueFlags && spec.valueFlags.includes(a)) {
|
|
82
|
+
const v = args[i + 1];
|
|
83
|
+
if (v === undefined || v.startsWith('-')) return false;
|
|
84
|
+
i += 1;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function shellReadOnly(command) {
|
|
93
|
+
if (typeof command !== 'string' || !command.trim() || SHELL_META.test(command)) return false;
|
|
94
|
+
const argv = words(command.trim());
|
|
95
|
+
if (!argv || !argv.length) return false;
|
|
96
|
+
const [program, ...args] = argv;
|
|
97
|
+
if (program === 'git') {
|
|
98
|
+
const [sub, ...rest] = args;
|
|
99
|
+
return GIT.subcommands.has(sub) && argsAllowed(rest, GIT);
|
|
100
|
+
}
|
|
101
|
+
const spec = PROGRAMS[program];
|
|
102
|
+
return Boolean(spec) && argsAllowed(args, spec);
|
|
103
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Hooks may import only from plugin/hooks/lib, so the credential shapes of plugin/lib/secret-shapes.mjs are
|
|
2
|
+
// repeated here for the handoff snapshot. Each hit is replaced in place; the snapshot never carries a credential.
|
|
3
|
+
const SHAPES = [
|
|
4
|
+
/-----BEGIN (?:RSA |EC |DSA |ED25519 |OPENSSH |ENCRYPTED |SSH2 ENCRYPTED )?PRIVATE KEY-----/giu,
|
|
5
|
+
/-----BEGIN PGP PRIVATE KEY BLOCK-----/giu,
|
|
6
|
+
/(?<![A-Za-z0-9_])(?:ghp|gho|ghu|ghs|ghr|github_pat)_[A-Za-z0-9_]{20,}(?![A-Za-z0-9_])/gu,
|
|
7
|
+
/(?<![A-Za-z0-9_])(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{16,}(?![A-Za-z0-9_])/gu,
|
|
8
|
+
/\bsk-[A-Za-z0-9_-]{20,}\b/gu,
|
|
9
|
+
/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{20,}(?![A-Za-z0-9_])/gu,
|
|
10
|
+
/(?<![A-Z0-9])(?:AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/gu,
|
|
11
|
+
/(?<![A-Za-z0-9_])xox[baprs]-[A-Za-z0-9-]{10,}(?![A-Za-z0-9_-])/gu,
|
|
12
|
+
/(?<![A-Za-z0-9_])xapp-[A-Za-z0-9-]{20,}(?![A-Za-z0-9_-])/gu,
|
|
13
|
+
/(?<![A-Za-z0-9_])AIza[0-9A-Za-z_-]{20,}(?![A-Za-z0-9_])/gu,
|
|
14
|
+
/(?<![A-Za-z0-9_])hf_[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_])/gu,
|
|
15
|
+
/(?<![A-Za-z0-9_])whsec_[A-Za-z0-9]{24,}(?![A-Za-z0-9_])/gu,
|
|
16
|
+
/(?<![A-Za-z0-9_])SG\.[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}(?![A-Za-z0-9_])/gu,
|
|
17
|
+
/(?<![A-Za-z0-9_])(?:glpat|gldt|glrt)-[A-Za-z0-9_-]{8,}(?![A-Za-z0-9_])/gu,
|
|
18
|
+
/(?<![A-Za-z0-9_])eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+(?![A-Za-z0-9_])/gu,
|
|
19
|
+
/\bbearer\s+[A-Za-z0-9._~+/=-]{12,}/giu,
|
|
20
|
+
/(?<![A-Za-z0-9-])(?:proxy-)?authorization\s*:\s*[!#$%&'*+\-.^_`|~0-9A-Za-z]+\s+(?:[!#$%&'*+\-.^_`|~0-9A-Za-z]+\s*=\s*\S+|\S{12,})/giu,
|
|
21
|
+
/\b(?:password|passwd|secret|token|api[_-]?key|access[_-]?token)\s*[:=]\s*[^\s,;]+/giu,
|
|
22
|
+
/\b[A-Za-z][A-Za-z0-9]*(?:[_-][A-Za-z0-9]+)*[_-](?:token|secret|key)(?:[_-][A-Za-z0-9]+)*\s*[:=]\s*[^\s,;]+/giu,
|
|
23
|
+
/(?<![A-Za-z0-9_])_?auth(?:[_-]?token)?\s*[:=]\s*[^\s,;]{8,}/giu,
|
|
24
|
+
/(?<![A-Za-z0-9+.-])(?:[A-Za-z][A-Za-z0-9+.-]*:)?\/\/[^/?#\s]+@/gu,
|
|
25
|
+
];
|
|
26
|
+
const CONTROL = /[\p{Cc}\p{Cf}]/gu;
|
|
27
|
+
|
|
28
|
+
export function redact(value) {
|
|
29
|
+
let text = String(value ?? '').replace(CONTROL, ' ');
|
|
30
|
+
for (const re of SHAPES) text = text.replace(re, '[REDACTED]');
|
|
31
|
+
return text;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// One line of at most `max` characters, credentials removed first so a cut never leaves half of one.
|
|
35
|
+
export function clip(value, max = 200) {
|
|
36
|
+
const text = redact(value).replace(/\s+/g, ' ').trim();
|
|
37
|
+
return text.length > max ? `${text.slice(0, max - 1)}…` : text;
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { sessionPath } from './common.mjs';
|
|
4
|
+
|
|
5
|
+
// The route a `lit` prompt finds already active in this session. A damaged, journal-only or odd-shaped state counts
|
|
6
|
+
// as nothing active, so the prompt gets the full activation and rewrites the state.
|
|
7
|
+
export function liveRoute(state) {
|
|
8
|
+
if (!state || state.corrupt || state.fromJournal) return null;
|
|
9
|
+
return typeof state.route === 'string' && state.route && Number.isFinite(state.activatedAt) ? state.route : null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// A plan whose Status header still waits for the user's okay is a draft, not work to resume.
|
|
13
|
+
const UNAPPROVED = /^Status:\s*(awaiting approval|assumptions unconfirmed)/im;
|
|
14
|
+
|
|
15
|
+
// Work a bare `lit` can pick up: an approved plan under plans/ that still has an open row and was already started
|
|
16
|
+
// with start-work in some session of this workspace (the hooks journal every route change).
|
|
17
|
+
export function resumablePlan(cwd) {
|
|
18
|
+
const journals = sessionPath(cwd, 'probe');
|
|
19
|
+
if (!journals) return null;
|
|
20
|
+
const dir = dirname(journals);
|
|
21
|
+
try {
|
|
22
|
+
const started = readdirSync(dir).some((f) => f.endsWith('.journal') && readFileSync(join(dir, f), 'utf8').includes('"route":"start-work"'));
|
|
23
|
+
if (!started) return null;
|
|
24
|
+
} catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const plans = join(cwd, 'plans');
|
|
28
|
+
if (!existsSync(plans)) return null;
|
|
29
|
+
let best = null;
|
|
30
|
+
for (const name of readdirSync(plans).filter((f) => f.endsWith('.md'))) {
|
|
31
|
+
const text = readFileSync(join(plans, name), 'utf8');
|
|
32
|
+
if (UNAPPROVED.test(text)) continue;
|
|
33
|
+
const row = /^- \[ \] (\d+|F\d+)\./m.exec(text);
|
|
34
|
+
const mtime = statSync(join(plans, name)).mtimeMs;
|
|
35
|
+
if (row && (!best || mtime > best.mtime)) best = { file: `plans/${name}`, row: row[1], mtime };
|
|
36
|
+
}
|
|
37
|
+
return best;
|
|
38
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// Route table shared by the hooks (activation and session steering) and by the installer's
|
|
2
|
+
// enrollment checks. Every shipped skill appears in SKILL_ROUTES exactly once.
|
|
3
|
+
|
|
4
|
+
export const SKILL_ROUTES = [
|
|
5
|
+
{ id: 'lit-loop', when: 'bare `lit`, or any multi-step task that needs criteria, tests and proof' },
|
|
6
|
+
{ id: 'litgoal', when: 'create, check or close a goal that must outlive this session' },
|
|
7
|
+
{ id: 'litwork', when: 'ship one change with proof: implement, fix, finish' },
|
|
8
|
+
{ id: 'lit-plan', when: 'plan before code; writes plans/<slug>.md only' },
|
|
9
|
+
{ id: 'lit-brainstorm', when: 'open ideation: diverge on options, then score a shortlist and hand off' },
|
|
10
|
+
{ id: 'deep-interview', when: 'the request is vague or broad and needs questions first' },
|
|
11
|
+
{ id: 'lit-crucible', when: 'pressure-test a brief for risks before planning' },
|
|
12
|
+
{ id: 'start-work', when: 'execute an approved plan row by row' },
|
|
13
|
+
{ id: 'lit-code', when: 'writing or changing code' },
|
|
14
|
+
{ id: 'debugging', when: 'a bug, failing test or unexpected behavior' },
|
|
15
|
+
{ id: 'refactor', when: 'restructure code while keeping behavior' },
|
|
16
|
+
{ id: 'lit-commit', when: 'commits, staging, rebase, blame, bisect, history questions' },
|
|
17
|
+
{ id: 'review-work', when: 'is this diff or branch correct, risky, safe to merge' },
|
|
18
|
+
{ id: 'visual-qa', when: 'check a built interface in a browser at several widths' },
|
|
19
|
+
{ id: 'comment-checker', when: 'audit code comments on a diff or files' },
|
|
20
|
+
{ id: 'lit-burnoff', when: 'strip AI-generated bloat across a scope of files' },
|
|
21
|
+
{ id: 'lit-burnoff-file', when: 'strip AI-generated residue from exactly one file' },
|
|
22
|
+
{ id: 'litresearch', when: 'research across sources, prior art, landscape questions' },
|
|
23
|
+
{ id: 'wikify', when: 'save or query findings in the task wiki under .litmuse/wiki' },
|
|
24
|
+
{ id: 'lit-comprehend', when: 'explain agent-written work to a person' },
|
|
25
|
+
{ id: 'lit-humanizer', when: 'polish Korean or English prose into the writer\'s voice' },
|
|
26
|
+
{ id: 'lit-recap', when: 'where does the work stand (read-only)' },
|
|
27
|
+
{ id: 'lit-handoff', when: 'before stopping or switching sessions' },
|
|
28
|
+
{ id: 'lit-init', when: 'orient in an unfamiliar repository; leaves AGENTS.md' },
|
|
29
|
+
{ id: 'frontend-ui-ux', when: 'build or restyle a user interface' },
|
|
30
|
+
{ id: 'readme-studio', when: 'write or refresh a README from repo facts' },
|
|
31
|
+
{ id: 'lit-docx', when: 'a Word document or DOCX/PDF to Markdown (needs Python)' },
|
|
32
|
+
{ id: 'lit-pptx', when: 'a slide deck (needs Python)' },
|
|
33
|
+
{ id: 'lit-scientific-visualization', when: 'a publication-ready figure from data' },
|
|
34
|
+
{ id: 'lit-diagram-drawer', when: 'an architecture, workflow or timeline diagram' },
|
|
35
|
+
{ id: 'lit-typographic-motion', when: 'make a short film, kinetic type or lyric video, or a seamless README cover loop' },
|
|
36
|
+
{ id: 'autoresearch', when: 'a budgeted experiment loop against a metric' },
|
|
37
|
+
{ id: 'structural-search', when: 'find or rewrite code by syntax shape (ast-grep)' },
|
|
38
|
+
{ id: 'browser-drive', when: 'the answer only exists in a running web page' },
|
|
39
|
+
{ id: 'lit-team', when: 'coordinate two or more child agents behind one durable team packet' },
|
|
40
|
+
{ id: 'autoconference', when: 'a budgeted research conference: parallel researchers, review, synthesis' },
|
|
41
|
+
{ id: 'rules', when: 'which rules, AGENTS.md and skills Muse loads, and in what order' },
|
|
42
|
+
{ id: 'lsp', when: 'language diagnostics, definitions and references through checker CLIs' },
|
|
43
|
+
{ id: 'lsp-setup', when: 'set up and verify a language checker for this project' },
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
// The word after a leading `lit` picks a route; anything else falls back to lit-loop.
|
|
47
|
+
export const KEYWORD_ROUTES = {
|
|
48
|
+
loop: 'lit-loop',
|
|
49
|
+
plan: 'lit-plan',
|
|
50
|
+
work: 'litwork',
|
|
51
|
+
goal: 'litgoal',
|
|
52
|
+
research: 'litresearch',
|
|
53
|
+
review: 'review-work',
|
|
54
|
+
start: 'start-work',
|
|
55
|
+
recap: 'lit-recap',
|
|
56
|
+
status: 'lit-recap',
|
|
57
|
+
handoff: 'lit-handoff',
|
|
58
|
+
init: 'lit-init',
|
|
59
|
+
debug: 'debugging',
|
|
60
|
+
interview: 'deep-interview',
|
|
61
|
+
crucible: 'lit-crucible',
|
|
62
|
+
commit: 'lit-commit',
|
|
63
|
+
refactor: 'refactor',
|
|
64
|
+
burnoff: 'lit-burnoff',
|
|
65
|
+
'burnoff-file': 'lit-burnoff-file',
|
|
66
|
+
brainstorm: 'lit-brainstorm',
|
|
67
|
+
brainstorming: 'lit-brainstorm',
|
|
68
|
+
ideation: 'lit-brainstorm',
|
|
69
|
+
ideate: 'lit-brainstorm',
|
|
70
|
+
idea: 'lit-brainstorm',
|
|
71
|
+
ideas: 'lit-brainstorm',
|
|
72
|
+
team: 'lit-team',
|
|
73
|
+
conference: 'autoconference',
|
|
74
|
+
rules: 'rules',
|
|
75
|
+
lsp: 'lsp',
|
|
76
|
+
diagnostics: 'lsp',
|
|
77
|
+
'lsp-setup': 'lsp-setup',
|
|
78
|
+
motion: 'lit-typographic-motion',
|
|
79
|
+
film: 'lit-typographic-motion',
|
|
80
|
+
video: 'lit-typographic-motion',
|
|
81
|
+
'영상': 'lit-typographic-motion',
|
|
82
|
+
explain: 'lit-comprehend',
|
|
83
|
+
humanize: 'lit-humanizer',
|
|
84
|
+
korean: 'lit-humanizer',
|
|
85
|
+
'다듬어': 'lit-humanizer',
|
|
86
|
+
'윤문': 'lit-humanizer',
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const SKILL_IDS = new Set(SKILL_ROUTES.map((r) => r.id));
|
|
90
|
+
|
|
91
|
+
// `lit <task>` whose task asks to make a film goes to the motion skill: a film compound alone, or a bare video noun
|
|
92
|
+
// with a making verb. Editing or captioning footage, a video inside a page or deck, a thumbnail, a script, UI motion
|
|
93
|
+
// and video as a software feature stay where they were.
|
|
94
|
+
const FILM_COMPOUND = /모션\s?그래픽|타이포\s?모션|키네틱\s?타이포|가사\s?영상|오프닝\s?타이틀|타이틀\s?시퀀스|motion[- ]graphics?\b|kinetic[- ]typ(?:e|ography)\b|lyric video|title sequence|opening titles?\b|(?:motion|readme)[- ]cover|cover loop|커버\s?루프|모션\s?커버/i;
|
|
95
|
+
const VIDEO_NOUN = /영상|비디오|\bvideos?\b|\bclips?\b/i;
|
|
96
|
+
const MAKE_VERB = /만들|제작|뽑아|렌더|\b(?:make|create|produce|render|build|animate)\b/i;
|
|
97
|
+
const NOT_A_FILM = /자막|잘라|편집|썸네일|대본|요약|업로드|배경\s?영상|넣어|호버|안건|\b(?:trim|cut|captions?|subtitles?|embed|insert|thumbnail|script|summary|summari[sz]e|upload|background video|hover|motion tokens?|clip[- ]path|transcribe)\b/i;
|
|
98
|
+
|
|
99
|
+
export function motionIntent(task) {
|
|
100
|
+
const text = String(task ?? '');
|
|
101
|
+
if (NOT_A_FILM.test(text)) return false;
|
|
102
|
+
return FILM_COMPOUND.test(text) || (VIDEO_NOUN.test(text) && MAKE_VERB.test(text));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// `lit new …` and `lit restart …` start over; `lit continue` and `lit resume` pick the work up where it stands.
|
|
106
|
+
const RESTART_WORDS = new Set(['new', 'restart']);
|
|
107
|
+
const CONTINUE_WORDS = new Set(['continue', 'resume']);
|
|
108
|
+
const SEPARATORS = /^[\s:,.!?]+/;
|
|
109
|
+
const firstWord = (s) => (/^([^\s:,.!?]+)/.exec(s)?.[1] ?? '').toLowerCase();
|
|
110
|
+
|
|
111
|
+
// Activation is case-sensitive on purpose: `lit` or `LIT` activates, a sentence-initial "Lit" stays prose.
|
|
112
|
+
// The result also says how the prompt re-enters: `bare` (no task text), `resume` (continue word) and `restart`.
|
|
113
|
+
export function detectRoute(prompt) {
|
|
114
|
+
if (typeof prompt !== 'string') return null;
|
|
115
|
+
return detectLeading(prompt) ?? detectTrailing(prompt);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// A standalone `lit` or `LIT` as the last word of the prompt ("Hello! lit") activates lit-loop with the earlier text as
|
|
119
|
+
// the task, as it does in the sibling products. Only a word of its own counts: a `lit` inside a word (literal, split),
|
|
120
|
+
// after a path or URL character (lit-plan.md, /x/lit/y), in quotes, in a code span or fence, or followed by more text
|
|
121
|
+
// does not.
|
|
122
|
+
const TRAILING_LIT = /(?:^|\s)(?:lit|LIT)\s*$/;
|
|
123
|
+
function detectTrailing(prompt) {
|
|
124
|
+
const withoutFences = prompt.replace(/```[\s\S]*?```/g, ' ');
|
|
125
|
+
if (withoutFences.includes('```')) return null;
|
|
126
|
+
const text = withoutFences.replace(/`[^`\n]*`/g, ' ');
|
|
127
|
+
if (!TRAILING_LIT.test(text)) return null;
|
|
128
|
+
return { route: 'lit-loop', keyword: null, bare: false, resume: false, restart: false, trailing: true };
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function detectLeading(prompt) {
|
|
132
|
+
let text = prompt.trimStart();
|
|
133
|
+
if (text.startsWith('```')) return null;
|
|
134
|
+
// `/lit <route> <task>` arrives as typed in headless runs; the expanded /lit template starts with a marker line.
|
|
135
|
+
const slash = /^\/(?:litmuse:)?lit(?=$|\s)/.exec(text);
|
|
136
|
+
const marker = slash ? null : /^LitMuse route request:/.exec(text);
|
|
137
|
+
if (slash) text = `lit ${text.slice(slash[0].length).trimStart()}`;
|
|
138
|
+
else if (marker) text = `lit ${text.slice(marker[0].length).split('\n')[0].trim()}`;
|
|
139
|
+
const m = /^([A-Za-z][A-Za-z-]*)(?=$|[\s:,.!?])/.exec(text);
|
|
140
|
+
if (!m) return null;
|
|
141
|
+
const token = m[1];
|
|
142
|
+
const lower = token.toLowerCase();
|
|
143
|
+
if (token !== lower && token !== token.toUpperCase()) return null;
|
|
144
|
+
if (lower === 'lit') {
|
|
145
|
+
let rest = text.slice(token.length).replace(SEPARATORS, '');
|
|
146
|
+
let word = firstWord(rest);
|
|
147
|
+
const restart = RESTART_WORDS.has(word);
|
|
148
|
+
if (restart) {
|
|
149
|
+
rest = rest.slice(word.length).replace(SEPARATORS, '');
|
|
150
|
+
word = firstWord(rest);
|
|
151
|
+
}
|
|
152
|
+
const resume = !restart && CONTINUE_WORDS.has(word);
|
|
153
|
+
const bare = !restart && (word === '' || (resume && rest.slice(word.length).trim() === ''));
|
|
154
|
+
const route = KEYWORD_ROUTES[word];
|
|
155
|
+
if (!route && !bare && !resume && motionIntent(rest)) return { route: 'lit-typographic-motion', keyword: null, bare, resume, restart };
|
|
156
|
+
return { route: route ?? 'lit-loop', keyword: route ? word : null, bare, resume, restart };
|
|
157
|
+
}
|
|
158
|
+
if (lower.startsWith('lit') && SKILL_IDS.has(lower)) return { route: lower, keyword: null, bare: false, resume: false, restart: false };
|
|
159
|
+
return null;
|
|
160
|
+
}
|