maestro-flow 0.5.31 → 0.5.33
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/.agents/skills/delegation-check/SKILL.md +299 -0
- package/.agents/skills/delegation-check/specs/separation-rules.md +269 -0
- package/.agents/skills/odyssey-debug/SKILL.md +30 -16
- package/.agents/skills/odyssey-improve/SKILL.md +28 -15
- package/.agents/skills/odyssey-planex/SKILL.md +20 -12
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +29 -13
- package/.agents/skills/odyssey-ui/SKILL.md +27 -14
- package/.agents/skills/prompt-generator/SKILL.md +472 -0
- package/.agents/skills/prompt-generator/specs/agent-design-spec.md +299 -0
- package/.agents/skills/prompt-generator/specs/command-design-spec.md +367 -0
- package/.agents/skills/prompt-generator/specs/conversion-spec.md +207 -0
- package/.agents/skills/prompt-generator/templates/agent-md.md +145 -0
- package/.agents/skills/prompt-generator/templates/command-md.md +118 -0
- package/.agents/skills/scholar-anti-ai-writing/SKILL.md +175 -0
- package/.agents/skills/scholar-anti-ai-writing/phases/01-detect-score.md +126 -0
- package/.agents/skills/scholar-anti-ai-writing/phases/02-rewrite-polish.md +177 -0
- package/.agents/skills/scholar-anti-ai-writing/phases/03-validate-score.md +134 -0
- package/.agents/skills/scholar-anti-ai-writing/references/patterns-chinese.md +242 -0
- package/.agents/skills/scholar-anti-ai-writing/references/patterns-english.md +242 -0
- package/.agents/skills/scholar-citation-verify/SKILL.md +168 -0
- package/.agents/skills/scholar-citation-verify/phases/01-scan-extract.md +141 -0
- package/.agents/skills/scholar-citation-verify/phases/02-verify.md +310 -0
- package/.agents/skills/scholar-citation-verify/phases/03-report-fix.md +190 -0
- package/.agents/skills/scholar-citation-verify/references/api-usage.md +372 -0
- package/.agents/skills/scholar-citation-verify/references/common-errors.md +384 -0
- package/.agents/skills/scholar-citation-verify/references/verification-rules.md +399 -0
- package/.agents/skills/scholar-experiment/SKILL.md +323 -0
- package/.agents/skills/scholar-experiment/phases/01-data-loading.md +209 -0
- package/.agents/skills/scholar-experiment/phases/02-statistical-analysis.md +269 -0
- package/.agents/skills/scholar-experiment/phases/03-visualization.md +319 -0
- package/.agents/skills/scholar-experiment/phases/04-results-writing.md +229 -0
- package/.agents/skills/scholar-experiment/phases/05-quality-check.md +261 -0
- package/.agents/skills/scholar-ideation/SKILL.md +290 -0
- package/.agents/skills/scholar-ideation/phases/01-literature-search.md +317 -0
- package/.agents/skills/scholar-ideation/phases/02-gap-analysis.md +249 -0
- package/.agents/skills/scholar-ideation/phases/03-research-question.md +200 -0
- package/.agents/skills/scholar-ideation/phases/04-method-selection.md +185 -0
- package/.agents/skills/scholar-ideation/phases/05-research-planning.md +385 -0
- package/.agents/skills/scholar-latex-organizer/SKILL.md +188 -0
- package/.agents/skills/scholar-latex-organizer/phases/01-extract-analyze.md +228 -0
- package/.agents/skills/scholar-latex-organizer/phases/02-cleanup-organize.md +500 -0
- package/.agents/skills/scholar-latex-organizer/phases/03-readme-finalize.md +349 -0
- package/.agents/skills/scholar-publish/SKILL.md +222 -0
- package/.agents/skills/scholar-publish/phases/01-presentation.md +243 -0
- package/.agents/skills/scholar-publish/phases/02-poster.md +239 -0
- package/.agents/skills/scholar-publish/phases/03-promotion.md +255 -0
- package/.agents/skills/scholar-rebuttal-pro/README.md +313 -0
- package/.agents/skills/scholar-rebuttal-pro/SKILL.md +513 -0
- package/.agents/skills/scholar-rebuttal-pro/phases/01-review-parsing.md +227 -0
- package/.agents/skills/scholar-rebuttal-pro/phases/02-multi-perspective-discussion.md +395 -0
- package/.agents/skills/scholar-rebuttal-pro/phases/03-strategy-formulation.md +459 -0
- package/.agents/skills/scholar-rebuttal-pro/phases/04-rebuttal-writing.md +384 -0
- package/.agents/skills/scholar-rebuttal-pro/phases/05-quality-validation.md +691 -0
- package/.agents/skills/scholar-review/SKILL.md +229 -0
- package/.agents/skills/scholar-review/phases/01-self-review.md +186 -0
- package/.agents/skills/scholar-review/phases/02-review-analysis.md +203 -0
- package/.agents/skills/scholar-review/phases/03-response-strategy.md +193 -0
- package/.agents/skills/scholar-review/phases/04-rebuttal-writing.md +181 -0
- package/.agents/skills/scholar-review/phases/05-revision.md +183 -0
- package/.agents/skills/scholar-review/specs/tone-guidelines.md +76 -0
- package/.agents/skills/scholar-thesis-docx/LICENSE +21 -0
- package/.agents/skills/scholar-thesis-docx/README.md +111 -0
- package/.agents/skills/scholar-thesis-docx/README_EN.md +108 -0
- package/.agents/skills/scholar-thesis-docx/SKILL.md +214 -0
- package/.agents/skills/scholar-thesis-docx/agents/openai.yaml +4 -0
- package/.agents/skills/scholar-thesis-docx/examples/architecture.sample.mmd +5 -0
- package/.agents/skills/scholar-thesis-docx/examples/final-audit-checklist.sample.md +46 -0
- package/.agents/skills/scholar-thesis-docx/examples/word-style-config.sample.json +35 -0
- package/.agents/skills/scholar-thesis-docx/references/failure-patterns-and-quality-gates.md +178 -0
- package/.agents/skills/scholar-thesis-docx/references/figure-and-code-rules.md +33 -0
- package/.agents/skills/scholar-thesis-docx/references/paper-format-workflow.md +68 -0
- package/.agents/skills/scholar-thesis-docx/references/script-usage.md +157 -0
- package/.agents/skills/scholar-thesis-docx/scripts/audit_docx_ooxml.py +429 -0
- package/.agents/skills/scholar-thesis-docx/scripts/check_word_com.ps1 +50 -0
- package/.agents/skills/scholar-thesis-docx/scripts/export_word_pdf.ps1 +62 -0
- package/.agents/skills/scholar-thesis-docx/scripts/normalize_word_styles.ps1 +498 -0
- package/.agents/skills/scholar-thesis-docx/scripts/render_mermaid_figure.ps1 +148 -0
- package/.agents/skills/scholar-writing/SKILL.md +298 -0
- package/.agents/skills/scholar-writing/phases/01-repo-understanding.md +178 -0
- package/.agents/skills/scholar-writing/phases/02-structure-planning.md +197 -0
- package/.agents/skills/scholar-writing/phases/03-section-drafting.md +215 -0
- package/.agents/skills/scholar-writing/phases/04-citation-management.md +310 -0
- package/.agents/skills/scholar-writing/phases/05-anti-ai-polish.md +202 -0
- package/.agents/skills/scholar-writing/phases/06-conference-formatting.md +260 -0
- package/.agents/skills/skill-generator/SKILL.md +473 -0
- package/.agents/skills/skill-generator/phases/01-requirements-discovery.md +238 -0
- package/.agents/skills/skill-generator/phases/02-structure-generation.md +261 -0
- package/.agents/skills/skill-generator/phases/03-phase-generation.md +976 -0
- package/.agents/skills/skill-generator/phases/04-specs-templates.md +398 -0
- package/.agents/skills/skill-generator/phases/05-validation.md +417 -0
- package/.agents/skills/skill-generator/specs/cli-integration.md +442 -0
- package/.agents/skills/skill-generator/specs/execution-modes.md +399 -0
- package/.agents/skills/skill-generator/specs/reference-docs-spec.md +271 -0
- package/.agents/skills/skill-generator/specs/scripting-integration.md +265 -0
- package/.agents/skills/skill-generator/specs/skill-requirements.md +466 -0
- package/.agents/skills/skill-generator/templates/autonomous-action.md +330 -0
- package/.agents/skills/skill-generator/templates/autonomous-orchestrator.md +300 -0
- package/.agents/skills/skill-generator/templates/code-analysis-action.md +514 -0
- package/.agents/skills/skill-generator/templates/llm-action.md +367 -0
- package/.agents/skills/skill-generator/templates/script-template.md +368 -0
- package/.agents/skills/skill-generator/templates/sequential-phase.md +474 -0
- package/.agents/skills/skill-generator/templates/skill-md.md +312 -0
- package/.agents/skills/skill-iter-tune/SKILL.md +15 -15
- package/.agents/skills/skill-iter-tune/phases/02-execute.md +5 -5
- package/.agents/skills/skill-iter-tune/phases/03-evaluate.md +4 -4
- package/.agents/skills/skill-iter-tune/templates/eval-prompt.md +1 -1
- package/.agents/skills/skill-iter-tune/templates/execute-prompt.md +1 -1
- package/.agents/skills/skill-simplify/SKILL.md +65 -0
- package/.agents/skills/skill-simplify/phases/01-analysis.md +224 -0
- package/.agents/skills/skill-simplify/phases/02-optimize.md +111 -0
- package/.agents/skills/skill-simplify/phases/03-check.md +224 -0
- package/.agents/skills/skill-tuning/SKILL.md +176 -0
- package/.agents/skills/skill-tuning/phases/actions/action-abort.md +164 -0
- package/.agents/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
- package/.agents/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
- package/.agents/skills/skill-tuning/phases/actions/action-complete.md +195 -0
- package/.agents/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
- package/.agents/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
- package/.agents/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
- package/.agents/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
- package/.agents/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
- package/.agents/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
- package/.agents/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
- package/.agents/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
- package/.agents/skills/skill-tuning/phases/actions/action-init.md +149 -0
- package/.agents/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
- package/.agents/skills/skill-tuning/phases/actions/action-verify.md +222 -0
- package/.agents/skills/skill-tuning/phases/orchestrator.md +190 -0
- package/.agents/skills/skill-tuning/phases/state-schema.md +378 -0
- package/.agents/skills/skill-tuning/specs/category-mappings.json +284 -0
- package/.agents/skills/skill-tuning/specs/dimension-mapping.md +212 -0
- package/.agents/skills/skill-tuning/specs/problem-taxonomy.md +210 -0
- package/.agents/skills/skill-tuning/specs/quality-gates.md +263 -0
- package/.agents/skills/skill-tuning/specs/skill-authoring-principles.md +192 -0
- package/.agents/skills/skill-tuning/specs/tuning-strategies.md +392 -0
- package/.agents/skills/skill-tuning/templates/diagnosis-report.md +153 -0
- package/.agents/skills/skill-tuning/templates/fix-proposal.md +204 -0
- package/.agents/skills/team-arch-opt/SKILL.md +160 -0
- package/.agents/skills/team-arch-opt/roles/analyzer/role.md +88 -0
- package/.agents/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
- package/.agents/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +371 -0
- package/.agents/skills/team-arch-opt/roles/coordinator/commands/monitor.md +216 -0
- package/.agents/skills/team-arch-opt/roles/coordinator/role.md +146 -0
- package/.agents/skills/team-arch-opt/roles/designer/role.md +117 -0
- package/.agents/skills/team-arch-opt/roles/refactorer/role.md +106 -0
- package/.agents/skills/team-arch-opt/roles/reviewer/role.md +113 -0
- package/.agents/skills/team-arch-opt/roles/validator/role.md +117 -0
- package/.agents/skills/team-arch-opt/specs/pipelines.md +102 -0
- package/.agents/skills/team-arch-opt/specs/team-config.json +263 -0
- package/.agents/skills/team-brainstorm/SKILL.md +173 -0
- package/.agents/skills/team-brainstorm/roles/challenger/role.md +63 -0
- package/.agents/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
- package/.agents/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +206 -0
- package/.agents/skills/team-brainstorm/roles/coordinator/commands/monitor.md +199 -0
- package/.agents/skills/team-brainstorm/roles/coordinator/role.md +140 -0
- package/.agents/skills/team-brainstorm/roles/evaluator/role.md +58 -0
- package/.agents/skills/team-brainstorm/roles/ideator/role.md +71 -0
- package/.agents/skills/team-brainstorm/roles/synthesizer/role.md +59 -0
- package/.agents/skills/team-brainstorm/specs/pipelines.md +72 -0
- package/.agents/skills/team-brainstorm/specs/team-config.json +86 -0
- package/.agents/skills/team-coordinate/SKILL.md +262 -262
- package/.agents/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
- package/.agents/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.agents/skills/team-designer/SKILL.md +162 -0
- package/.agents/skills/team-designer/phases/01-requirements-analysis.md +265 -0
- package/.agents/skills/team-designer/phases/02-scaffold-generation.md +236 -0
- package/.agents/skills/team-designer/phases/03-content-generation.md +330 -0
- package/.agents/skills/team-designer/phases/04-validation.md +329 -0
- package/.agents/skills/team-executor/SKILL.md +1 -1
- package/.agents/skills/team-frontend/SKILL.md +138 -0
- package/.agents/skills/team-frontend/roles/analyst/role.md +102 -0
- package/.agents/skills/team-frontend/roles/architect/role.md +88 -0
- package/.agents/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
- package/.agents/skills/team-frontend/roles/coordinator/commands/dispatch.md +197 -0
- package/.agents/skills/team-frontend/roles/coordinator/commands/monitor.md +233 -0
- package/.agents/skills/team-frontend/roles/coordinator/role.md +158 -0
- package/.agents/skills/team-frontend/roles/developer/role.md +95 -0
- package/.agents/skills/team-frontend/roles/qa/role.md +81 -0
- package/.agents/skills/team-frontend/specs/pipelines.md +76 -0
- package/.agents/skills/team-frontend/specs/team-config.json +84 -0
- package/.agents/skills/team-frontend-debug/SKILL.md +200 -0
- package/.agents/skills/team-frontend-debug/roles/analyzer/role.md +210 -0
- package/.agents/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
- package/.agents/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +256 -0
- package/.agents/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +148 -0
- package/.agents/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
- package/.agents/skills/team-frontend-debug/roles/fixer/role.md +149 -0
- package/.agents/skills/team-frontend-debug/roles/reproducer/role.md +157 -0
- package/.agents/skills/team-frontend-debug/roles/tester/role.md +233 -0
- package/.agents/skills/team-frontend-debug/roles/verifier/role.md +174 -0
- package/.agents/skills/team-frontend-debug/specs/debug-tools.md +215 -0
- package/.agents/skills/team-frontend-debug/specs/pipelines.md +94 -0
- package/.agents/skills/team-interactive-craft/SKILL.md +143 -0
- package/.agents/skills/team-interactive-craft/roles/a11y-tester/role.md +161 -0
- package/.agents/skills/team-interactive-craft/roles/builder/role.md +218 -0
- package/.agents/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.agents/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.agents/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +215 -0
- package/.agents/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.agents/skills/team-interactive-craft/roles/interaction-designer/role.md +146 -0
- package/.agents/skills/team-interactive-craft/roles/researcher/role.md +133 -0
- package/.agents/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.agents/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.agents/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.agents/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.agents/skills/team-issue/SKILL.md +173 -0
- package/.agents/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
- package/.agents/skills/team-issue/roles/coordinator/commands/dispatch.md +349 -0
- package/.agents/skills/team-issue/roles/coordinator/commands/monitor.md +229 -0
- package/.agents/skills/team-issue/roles/coordinator/role.md +177 -0
- package/.agents/skills/team-issue/roles/explorer/role.md +104 -0
- package/.agents/skills/team-issue/roles/implementer/role.md +89 -0
- package/.agents/skills/team-issue/roles/integrator/role.md +86 -0
- package/.agents/skills/team-issue/roles/planner/role.md +83 -0
- package/.agents/skills/team-issue/roles/reviewer/role.md +88 -0
- package/.agents/skills/team-issue/specs/pipelines.md +124 -0
- package/.agents/skills/team-issue/specs/team-config.json +70 -0
- package/.agents/skills/team-lifecycle-v4/SKILL.md +205 -205
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/role.md +1 -1
- package/.agents/skills/team-motion-design/SKILL.md +144 -0
- package/.agents/skills/team-motion-design/roles/animator/role.md +196 -0
- package/.agents/skills/team-motion-design/roles/choreographer/role.md +166 -0
- package/.agents/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.agents/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.agents/skills/team-motion-design/roles/coordinator/commands/monitor.md +216 -0
- package/.agents/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.agents/skills/team-motion-design/roles/motion-researcher/role.md +117 -0
- package/.agents/skills/team-motion-design/roles/motion-tester/role.md +177 -0
- package/.agents/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.agents/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.agents/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.agents/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.agents/skills/team-motion-design/specs/team-config.json +99 -0
- package/.agents/skills/team-perf-opt/SKILL.md +177 -0
- package/.agents/skills/team-perf-opt/roles/benchmarker/role.md +91 -0
- package/.agents/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
- package/.agents/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +376 -0
- package/.agents/skills/team-perf-opt/roles/coordinator/commands/monitor.md +362 -0
- package/.agents/skills/team-perf-opt/roles/coordinator/role.md +147 -0
- package/.agents/skills/team-perf-opt/roles/optimizer/role.md +101 -0
- package/.agents/skills/team-perf-opt/roles/profiler/role.md +83 -0
- package/.agents/skills/team-perf-opt/roles/reviewer/role.md +77 -0
- package/.agents/skills/team-perf-opt/roles/strategist/role.md +96 -0
- package/.agents/skills/team-perf-opt/specs/pipelines.md +65 -0
- package/.agents/skills/team-perf-opt/specs/team-config.json +246 -0
- package/.agents/skills/team-planex/SKILL.md +139 -0
- package/.agents/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
- package/.agents/skills/team-planex/roles/coordinator/commands/dispatch.md +87 -0
- package/.agents/skills/team-planex/roles/coordinator/commands/monitor.md +195 -0
- package/.agents/skills/team-planex/roles/coordinator/role.md +140 -0
- package/.agents/skills/team-planex/roles/executor/role.md +93 -0
- package/.agents/skills/team-planex/roles/planner/role.md +121 -0
- package/.agents/skills/team-planex/specs/pipelines.md +93 -0
- package/.agents/skills/team-quality-assurance/SKILL.md +143 -143
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +1 -1
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +2 -2
- package/.agents/skills/team-quality-assurance/roles/coordinator/role.md +1 -1
- package/.agents/skills/team-quality-assurance/roles/scout/role.md +66 -66
- package/.agents/skills/team-review/SKILL.md +143 -143
- package/.agents/skills/team-review/roles/coordinator/commands/dispatch.md +1 -1
- package/.agents/skills/team-review/roles/coordinator/commands/monitor.md +2 -2
- package/.agents/skills/team-review/roles/coordinator/role.md +1 -1
- package/.agents/skills/team-roadmap-dev/SKILL.md +171 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +212 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +477 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +287 -0
- package/.agents/skills/team-roadmap-dev/roles/coordinator/role.md +302 -0
- package/.agents/skills/team-roadmap-dev/roles/executor/role.md +74 -0
- package/.agents/skills/team-roadmap-dev/roles/planner/role.md +88 -0
- package/.agents/skills/team-roadmap-dev/roles/verifier/role.md +76 -0
- package/.agents/skills/team-roadmap-dev/specs/pipelines.md +93 -0
- package/.agents/skills/team-roadmap-dev/specs/team-config.json +95 -0
- package/.agents/skills/team-swarm/SKILL.md +174 -174
- package/.agents/skills/team-tech-debt/SKILL.md +124 -124
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +1 -1
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/monitor.md +2 -2
- package/.agents/skills/team-tech-debt/roles/scanner/role.md +84 -84
- package/.agents/skills/team-testing/SKILL.md +139 -139
- package/.agents/skills/team-testing/roles/coordinator/commands/dispatch.md +1 -1
- package/.agents/skills/team-testing/roles/coordinator/commands/monitor.md +2 -2
- package/.agents/skills/team-testing/roles/coordinator/role.md +1 -1
- package/.agents/skills/team-ui-polish/SKILL.md +143 -0
- package/.agents/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.agents/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.agents/skills/team-ui-polish/roles/coordinator/commands/monitor.md +212 -0
- package/.agents/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.agents/skills/team-ui-polish/roles/diagnostician/role.md +162 -0
- package/.agents/skills/team-ui-polish/roles/optimizer/role.md +227 -0
- package/.agents/skills/team-ui-polish/roles/scanner/role.md +358 -0
- package/.agents/skills/team-ui-polish/roles/verifier/role.md +144 -0
- package/.agents/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.agents/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.agents/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.agents/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.agents/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.agents/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.agents/skills/team-uidesign/SKILL.md +146 -0
- package/.agents/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
- package/.agents/skills/team-uidesign/roles/coordinator/commands/dispatch.md +185 -0
- package/.agents/skills/team-uidesign/roles/coordinator/commands/monitor.md +216 -0
- package/.agents/skills/team-uidesign/roles/coordinator/role.md +168 -0
- package/.agents/skills/team-uidesign/roles/designer/role.md +95 -0
- package/.agents/skills/team-uidesign/roles/implementer/role.md +96 -0
- package/.agents/skills/team-uidesign/roles/researcher/role.md +103 -0
- package/.agents/skills/team-uidesign/roles/reviewer/role.md +71 -0
- package/.agents/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.agents/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.agents/skills/team-uidesign/specs/pipelines.md +76 -0
- package/.agents/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.agents/skills/team-uidesign/specs/team-config.json +107 -0
- package/.agents/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.agents/skills/team-ultra-analyze/SKILL.md +175 -0
- package/.agents/skills/team-ultra-analyze/roles/analyst/role.md +100 -0
- package/.agents/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
- package/.agents/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +285 -0
- package/.agents/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +372 -0
- package/.agents/skills/team-ultra-analyze/roles/coordinator/role.md +247 -0
- package/.agents/skills/team-ultra-analyze/roles/discussant/role.md +109 -0
- package/.agents/skills/team-ultra-analyze/roles/explorer/role.md +77 -0
- package/.agents/skills/team-ultra-analyze/roles/synthesizer/role.md +80 -0
- package/.agents/skills/team-ultra-analyze/specs/pipelines.md +64 -0
- package/.agents/skills/team-ultra-analyze/specs/team-config.json +129 -0
- package/.agents/skills/team-ux-improve/SKILL.md +153 -0
- package/.agents/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
- package/.agents/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +200 -0
- package/.agents/skills/team-ux-improve/roles/coordinator/commands/monitor.md +186 -0
- package/.agents/skills/team-ux-improve/roles/coordinator/role.md +142 -0
- package/.agents/skills/team-ux-improve/roles/designer/role.md +154 -0
- package/.agents/skills/team-ux-improve/roles/diagnoser/role.md +110 -0
- package/.agents/skills/team-ux-improve/roles/explorer/role.md +79 -0
- package/.agents/skills/team-ux-improve/roles/implementer/role.md +104 -0
- package/.agents/skills/team-ux-improve/roles/scanner/role.md +137 -0
- package/.agents/skills/team-ux-improve/roles/tester/role.md +86 -0
- package/.agents/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.agents/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.agents/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.agents/skills/team-ux-improve/specs/pipelines.md +54 -0
- package/.agents/skills/team-ux-improve/specs/team-config.json +181 -0
- package/.agents/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +49 -0
- package/.agents/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
- package/.agents/skills/team-ux-improve/wisdom/patterns/state-management.md +34 -0
- package/.agents/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +40 -0
- package/.agents/skills/team-ux-improve/wisdom/principles/general-ux.md +43 -0
- package/.agents/skills/team-visual-a11y/SKILL.md +158 -0
- package/.agents/skills/team-visual-a11y/roles/color-auditor/role.md +180 -0
- package/.agents/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.agents/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.agents/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +236 -0
- package/.agents/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.agents/skills/team-visual-a11y/roles/fix-implementer/role.md +248 -0
- package/.agents/skills/team-visual-a11y/roles/focus-auditor/role.md +224 -0
- package/.agents/skills/team-visual-a11y/roles/remediation-planner/role.md +208 -0
- package/.agents/skills/team-visual-a11y/roles/typo-auditor/role.md +187 -0
- package/.agents/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.agents/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.agents/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.agents/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.agents/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.agents/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.agy/skills/delegation-check/SKILL.md +296 -0
- package/.agy/skills/delegation-check/specs/separation-rules.md +261 -0
- package/.agy/skills/odyssey-debug/SKILL.md +30 -16
- package/.agy/skills/odyssey-improve/SKILL.md +28 -15
- package/.agy/skills/odyssey-planex/SKILL.md +20 -12
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +29 -13
- package/.agy/skills/odyssey-ui/SKILL.md +27 -14
- package/.agy/skills/prompt-generator/SKILL.md +469 -0
- package/.agy/skills/prompt-generator/specs/agent-design-spec.md +299 -0
- package/.agy/skills/prompt-generator/specs/command-design-spec.md +379 -0
- package/.agy/skills/prompt-generator/specs/conversion-spec.md +207 -0
- package/.agy/skills/prompt-generator/templates/agent-md.md +145 -0
- package/.agy/skills/prompt-generator/templates/command-md.md +130 -0
- package/.agy/skills/scholar-anti-ai-writing/SKILL.md +172 -0
- package/.agy/skills/scholar-anti-ai-writing/phases/01-detect-score.md +126 -0
- package/.agy/skills/scholar-anti-ai-writing/phases/02-rewrite-polish.md +177 -0
- package/.agy/skills/scholar-anti-ai-writing/phases/03-validate-score.md +134 -0
- package/.agy/skills/scholar-anti-ai-writing/references/patterns-chinese.md +242 -0
- package/.agy/skills/scholar-anti-ai-writing/references/patterns-english.md +242 -0
- package/.agy/skills/scholar-citation-verify/SKILL.md +165 -0
- package/.agy/skills/scholar-citation-verify/phases/01-scan-extract.md +141 -0
- package/.agy/skills/scholar-citation-verify/phases/02-verify.md +310 -0
- package/.agy/skills/scholar-citation-verify/phases/03-report-fix.md +190 -0
- package/.agy/skills/scholar-citation-verify/references/api-usage.md +372 -0
- package/.agy/skills/scholar-citation-verify/references/common-errors.md +384 -0
- package/.agy/skills/scholar-citation-verify/references/verification-rules.md +399 -0
- package/.agy/skills/scholar-experiment/SKILL.md +320 -0
- package/.agy/skills/scholar-experiment/phases/01-data-loading.md +209 -0
- package/.agy/skills/scholar-experiment/phases/02-statistical-analysis.md +269 -0
- package/.agy/skills/scholar-experiment/phases/03-visualization.md +319 -0
- package/.agy/skills/scholar-experiment/phases/04-results-writing.md +229 -0
- package/.agy/skills/scholar-experiment/phases/05-quality-check.md +261 -0
- package/.agy/skills/scholar-ideation/SKILL.md +287 -0
- package/.agy/skills/scholar-ideation/phases/01-literature-search.md +317 -0
- package/.agy/skills/scholar-ideation/phases/02-gap-analysis.md +249 -0
- package/.agy/skills/scholar-ideation/phases/03-research-question.md +200 -0
- package/.agy/skills/scholar-ideation/phases/04-method-selection.md +185 -0
- package/.agy/skills/scholar-ideation/phases/05-research-planning.md +385 -0
- package/.agy/skills/scholar-latex-organizer/SKILL.md +185 -0
- package/.agy/skills/scholar-latex-organizer/phases/01-extract-analyze.md +228 -0
- package/.agy/skills/scholar-latex-organizer/phases/02-cleanup-organize.md +500 -0
- package/.agy/skills/scholar-latex-organizer/phases/03-readme-finalize.md +349 -0
- package/.agy/skills/scholar-publish/SKILL.md +219 -0
- package/.agy/skills/scholar-publish/phases/01-presentation.md +243 -0
- package/.agy/skills/scholar-publish/phases/02-poster.md +239 -0
- package/.agy/skills/scholar-publish/phases/03-promotion.md +255 -0
- package/.agy/skills/scholar-rebuttal-pro/README.md +313 -0
- package/.agy/skills/scholar-rebuttal-pro/SKILL.md +510 -0
- package/.agy/skills/scholar-rebuttal-pro/phases/01-review-parsing.md +227 -0
- package/.agy/skills/scholar-rebuttal-pro/phases/02-multi-perspective-discussion.md +395 -0
- package/.agy/skills/scholar-rebuttal-pro/phases/03-strategy-formulation.md +459 -0
- package/.agy/skills/scholar-rebuttal-pro/phases/04-rebuttal-writing.md +384 -0
- package/.agy/skills/scholar-rebuttal-pro/phases/05-quality-validation.md +691 -0
- package/.agy/skills/scholar-review/SKILL.md +226 -0
- package/.agy/skills/scholar-review/phases/01-self-review.md +186 -0
- package/.agy/skills/scholar-review/phases/02-review-analysis.md +203 -0
- package/.agy/skills/scholar-review/phases/03-response-strategy.md +193 -0
- package/.agy/skills/scholar-review/phases/04-rebuttal-writing.md +181 -0
- package/.agy/skills/scholar-review/phases/05-revision.md +183 -0
- package/.agy/skills/scholar-review/specs/tone-guidelines.md +76 -0
- package/.agy/skills/scholar-thesis-docx/LICENSE +21 -0
- package/.agy/skills/scholar-thesis-docx/README.md +111 -0
- package/.agy/skills/scholar-thesis-docx/README_EN.md +108 -0
- package/.agy/skills/scholar-thesis-docx/SKILL.md +211 -0
- package/.agy/skills/scholar-thesis-docx/agents/openai.yaml +4 -0
- package/.agy/skills/scholar-thesis-docx/examples/architecture.sample.mmd +5 -0
- package/.agy/skills/scholar-thesis-docx/examples/final-audit-checklist.sample.md +46 -0
- package/.agy/skills/scholar-thesis-docx/examples/word-style-config.sample.json +35 -0
- package/.agy/skills/scholar-thesis-docx/references/failure-patterns-and-quality-gates.md +178 -0
- package/.agy/skills/scholar-thesis-docx/references/figure-and-code-rules.md +33 -0
- package/.agy/skills/scholar-thesis-docx/references/paper-format-workflow.md +68 -0
- package/.agy/skills/scholar-thesis-docx/references/script-usage.md +157 -0
- package/.agy/skills/scholar-thesis-docx/scripts/audit_docx_ooxml.py +429 -0
- package/.agy/skills/scholar-thesis-docx/scripts/check_word_com.ps1 +50 -0
- package/.agy/skills/scholar-thesis-docx/scripts/export_word_pdf.ps1 +62 -0
- package/.agy/skills/scholar-thesis-docx/scripts/normalize_word_styles.ps1 +498 -0
- package/.agy/skills/scholar-thesis-docx/scripts/render_mermaid_figure.ps1 +148 -0
- package/.agy/skills/scholar-writing/SKILL.md +295 -0
- package/.agy/skills/scholar-writing/phases/01-repo-understanding.md +178 -0
- package/.agy/skills/scholar-writing/phases/02-structure-planning.md +197 -0
- package/.agy/skills/scholar-writing/phases/03-section-drafting.md +215 -0
- package/.agy/skills/scholar-writing/phases/04-citation-management.md +310 -0
- package/.agy/skills/scholar-writing/phases/05-anti-ai-polish.md +202 -0
- package/.agy/skills/scholar-writing/phases/06-conference-formatting.md +260 -0
- package/.agy/skills/skill-generator/SKILL.md +470 -0
- package/.agy/skills/skill-generator/phases/01-requirements-discovery.md +238 -0
- package/.agy/skills/skill-generator/phases/02-structure-generation.md +261 -0
- package/.agy/skills/skill-generator/phases/03-phase-generation.md +988 -0
- package/.agy/skills/skill-generator/phases/04-specs-templates.md +398 -0
- package/.agy/skills/skill-generator/phases/05-validation.md +417 -0
- package/.agy/skills/skill-generator/specs/cli-integration.md +432 -0
- package/.agy/skills/skill-generator/specs/execution-modes.md +399 -0
- package/.agy/skills/skill-generator/specs/reference-docs-spec.md +271 -0
- package/.agy/skills/skill-generator/specs/scripting-integration.md +265 -0
- package/.agy/skills/skill-generator/specs/skill-requirements.md +466 -0
- package/.agy/skills/skill-generator/templates/autonomous-action.md +330 -0
- package/.agy/skills/skill-generator/templates/autonomous-orchestrator.md +312 -0
- package/.agy/skills/skill-generator/templates/code-analysis-action.md +527 -0
- package/.agy/skills/skill-generator/templates/llm-action.md +367 -0
- package/.agy/skills/skill-generator/templates/script-template.md +368 -0
- package/.agy/skills/skill-generator/templates/sequential-phase.md +482 -0
- package/.agy/skills/skill-generator/templates/skill-md.md +312 -0
- package/.agy/skills/skill-iter-tune/SKILL.md +15 -15
- package/.agy/skills/skill-iter-tune/phases/02-execute.md +5 -5
- package/.agy/skills/skill-iter-tune/phases/03-evaluate.md +4 -4
- package/.agy/skills/skill-iter-tune/templates/eval-prompt.md +1 -1
- package/.agy/skills/skill-iter-tune/templates/execute-prompt.md +1 -1
- package/.agy/skills/skill-simplify/SKILL.md +62 -0
- package/.agy/skills/skill-simplify/phases/01-analysis.md +224 -0
- package/.agy/skills/skill-simplify/phases/02-optimize.md +111 -0
- package/.agy/skills/skill-simplify/phases/03-check.md +224 -0
- package/.agy/skills/skill-tuning/SKILL.md +173 -0
- package/.agy/skills/skill-tuning/phases/actions/action-abort.md +164 -0
- package/.agy/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
- package/.agy/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
- package/.agy/skills/skill-tuning/phases/actions/action-complete.md +195 -0
- package/.agy/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
- package/.agy/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
- package/.agy/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
- package/.agy/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
- package/.agy/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
- package/.agy/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
- package/.agy/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
- package/.agy/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
- package/.agy/skills/skill-tuning/phases/actions/action-init.md +149 -0
- package/.agy/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
- package/.agy/skills/skill-tuning/phases/actions/action-verify.md +222 -0
- package/.agy/skills/skill-tuning/phases/orchestrator.md +202 -0
- package/.agy/skills/skill-tuning/phases/state-schema.md +378 -0
- package/.agy/skills/skill-tuning/specs/category-mappings.json +284 -0
- package/.agy/skills/skill-tuning/specs/dimension-mapping.md +212 -0
- package/.agy/skills/skill-tuning/specs/problem-taxonomy.md +210 -0
- package/.agy/skills/skill-tuning/specs/quality-gates.md +263 -0
- package/.agy/skills/skill-tuning/specs/skill-authoring-principles.md +204 -0
- package/.agy/skills/skill-tuning/specs/tuning-strategies.md +405 -0
- package/.agy/skills/skill-tuning/templates/diagnosis-report.md +153 -0
- package/.agy/skills/skill-tuning/templates/fix-proposal.md +204 -0
- package/.agy/skills/team-arch-opt/SKILL.md +148 -0
- package/.agy/skills/team-arch-opt/roles/analyzer/role.md +85 -0
- package/.agy/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
- package/.agy/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +371 -0
- package/.agy/skills/team-arch-opt/roles/coordinator/commands/monitor.md +205 -0
- package/.agy/skills/team-arch-opt/roles/coordinator/role.md +146 -0
- package/.agy/skills/team-arch-opt/roles/designer/role.md +114 -0
- package/.agy/skills/team-arch-opt/roles/refactorer/role.md +103 -0
- package/.agy/skills/team-arch-opt/roles/reviewer/role.md +110 -0
- package/.agy/skills/team-arch-opt/roles/validator/role.md +114 -0
- package/.agy/skills/team-arch-opt/specs/pipelines.md +102 -0
- package/.agy/skills/team-arch-opt/specs/team-config.json +263 -0
- package/.agy/skills/team-brainstorm/SKILL.md +138 -0
- package/.agy/skills/team-brainstorm/roles/challenger/role.md +60 -0
- package/.agy/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
- package/.agy/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +206 -0
- package/.agy/skills/team-brainstorm/roles/coordinator/commands/monitor.md +183 -0
- package/.agy/skills/team-brainstorm/roles/coordinator/role.md +140 -0
- package/.agy/skills/team-brainstorm/roles/evaluator/role.md +55 -0
- package/.agy/skills/team-brainstorm/roles/ideator/role.md +68 -0
- package/.agy/skills/team-brainstorm/roles/synthesizer/role.md +56 -0
- package/.agy/skills/team-brainstorm/specs/pipelines.md +72 -0
- package/.agy/skills/team-brainstorm/specs/team-config.json +86 -0
- package/.agy/skills/team-coordinate/SKILL.md +238 -249
- package/.agy/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
- package/.agy/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.agy/skills/team-designer/SKILL.md +159 -0
- package/.agy/skills/team-designer/phases/01-requirements-analysis.md +265 -0
- package/.agy/skills/team-designer/phases/02-scaffold-generation.md +248 -0
- package/.agy/skills/team-designer/phases/03-content-generation.md +330 -0
- package/.agy/skills/team-designer/phases/04-validation.md +329 -0
- package/.agy/skills/team-frontend/SKILL.md +126 -0
- package/.agy/skills/team-frontend/roles/analyst/role.md +98 -0
- package/.agy/skills/team-frontend/roles/architect/role.md +84 -0
- package/.agy/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
- package/.agy/skills/team-frontend/roles/coordinator/commands/dispatch.md +197 -0
- package/.agy/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -0
- package/.agy/skills/team-frontend/roles/coordinator/role.md +158 -0
- package/.agy/skills/team-frontend/roles/developer/role.md +91 -0
- package/.agy/skills/team-frontend/roles/qa/role.md +77 -0
- package/.agy/skills/team-frontend/specs/pipelines.md +76 -0
- package/.agy/skills/team-frontend/specs/team-config.json +84 -0
- package/.agy/skills/team-frontend-debug/SKILL.md +188 -0
- package/.agy/skills/team-frontend-debug/roles/analyzer/role.md +205 -0
- package/.agy/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
- package/.agy/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +256 -0
- package/.agy/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +148 -0
- package/.agy/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
- package/.agy/skills/team-frontend-debug/roles/fixer/role.md +144 -0
- package/.agy/skills/team-frontend-debug/roles/reproducer/role.md +153 -0
- package/.agy/skills/team-frontend-debug/roles/tester/role.md +228 -0
- package/.agy/skills/team-frontend-debug/roles/verifier/role.md +170 -0
- package/.agy/skills/team-frontend-debug/specs/debug-tools.md +215 -0
- package/.agy/skills/team-frontend-debug/specs/pipelines.md +94 -0
- package/.agy/skills/team-interactive-craft/SKILL.md +131 -0
- package/.agy/skills/team-interactive-craft/roles/a11y-tester/role.md +158 -0
- package/.agy/skills/team-interactive-craft/roles/builder/role.md +215 -0
- package/.agy/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.agy/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.agy/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +204 -0
- package/.agy/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.agy/skills/team-interactive-craft/roles/interaction-designer/role.md +143 -0
- package/.agy/skills/team-interactive-craft/roles/researcher/role.md +130 -0
- package/.agy/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.agy/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.agy/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.agy/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.agy/skills/team-issue/SKILL.md +138 -0
- package/.agy/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
- package/.agy/skills/team-issue/roles/coordinator/commands/dispatch.md +349 -0
- package/.agy/skills/team-issue/roles/coordinator/commands/monitor.md +195 -0
- package/.agy/skills/team-issue/roles/coordinator/role.md +174 -0
- package/.agy/skills/team-issue/roles/explorer/role.md +101 -0
- package/.agy/skills/team-issue/roles/implementer/role.md +86 -0
- package/.agy/skills/team-issue/roles/integrator/role.md +83 -0
- package/.agy/skills/team-issue/roles/planner/role.md +80 -0
- package/.agy/skills/team-issue/roles/reviewer/role.md +85 -0
- package/.agy/skills/team-issue/specs/pipelines.md +124 -0
- package/.agy/skills/team-issue/specs/team-config.json +70 -0
- package/.agy/skills/team-lifecycle-v4/SKILL.md +158 -169
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/role.md +1 -1
- package/.agy/skills/team-motion-design/SKILL.md +132 -0
- package/.agy/skills/team-motion-design/roles/animator/role.md +193 -0
- package/.agy/skills/team-motion-design/roles/choreographer/role.md +163 -0
- package/.agy/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.agy/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.agy/skills/team-motion-design/roles/coordinator/commands/monitor.md +205 -0
- package/.agy/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.agy/skills/team-motion-design/roles/motion-researcher/role.md +114 -0
- package/.agy/skills/team-motion-design/roles/motion-tester/role.md +174 -0
- package/.agy/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.agy/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.agy/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.agy/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.agy/skills/team-motion-design/specs/team-config.json +99 -0
- package/.agy/skills/team-perf-opt/SKILL.md +165 -0
- package/.agy/skills/team-perf-opt/roles/benchmarker/role.md +86 -0
- package/.agy/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
- package/.agy/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +376 -0
- package/.agy/skills/team-perf-opt/roles/coordinator/commands/monitor.md +351 -0
- package/.agy/skills/team-perf-opt/roles/coordinator/role.md +147 -0
- package/.agy/skills/team-perf-opt/roles/optimizer/role.md +96 -0
- package/.agy/skills/team-perf-opt/roles/profiler/role.md +79 -0
- package/.agy/skills/team-perf-opt/roles/reviewer/role.md +72 -0
- package/.agy/skills/team-perf-opt/roles/strategist/role.md +92 -0
- package/.agy/skills/team-perf-opt/specs/pipelines.md +65 -0
- package/.agy/skills/team-perf-opt/specs/team-config.json +246 -0
- package/.agy/skills/team-planex/SKILL.md +126 -0
- package/.agy/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
- package/.agy/skills/team-planex/roles/coordinator/commands/dispatch.md +87 -0
- package/.agy/skills/team-planex/roles/coordinator/commands/monitor.md +186 -0
- package/.agy/skills/team-planex/roles/coordinator/role.md +140 -0
- package/.agy/skills/team-planex/roles/executor/role.md +89 -0
- package/.agy/skills/team-planex/roles/planner/role.md +117 -0
- package/.agy/skills/team-planex/specs/pipelines.md +93 -0
- package/.agy/skills/team-quality-assurance/SKILL.md +119 -130
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +1 -1
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +2 -2
- package/.agy/skills/team-quality-assurance/roles/coordinator/role.md +1 -1
- package/.agy/skills/team-quality-assurance/roles/scout/role.md +66 -66
- package/.agy/skills/team-review/SKILL.md +119 -131
- package/.agy/skills/team-review/roles/coordinator/commands/dispatch.md +1 -1
- package/.agy/skills/team-review/roles/coordinator/commands/monitor.md +2 -2
- package/.agy/skills/team-review/roles/coordinator/role.md +1 -1
- package/.agy/skills/team-roadmap-dev/SKILL.md +159 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +212 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +460 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +287 -0
- package/.agy/skills/team-roadmap-dev/roles/coordinator/role.md +302 -0
- package/.agy/skills/team-roadmap-dev/roles/executor/role.md +69 -0
- package/.agy/skills/team-roadmap-dev/roles/planner/role.md +83 -0
- package/.agy/skills/team-roadmap-dev/roles/verifier/role.md +71 -0
- package/.agy/skills/team-roadmap-dev/specs/pipelines.md +93 -0
- package/.agy/skills/team-roadmap-dev/specs/team-config.json +95 -0
- package/.agy/skills/team-swarm/SKILL.md +147 -158
- package/.agy/skills/team-tech-debt/SKILL.md +100 -115
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +1 -1
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/monitor.md +2 -2
- package/.agy/skills/team-tech-debt/roles/scanner/role.md +84 -85
- package/.agy/skills/team-testing/SKILL.md +115 -126
- package/.agy/skills/team-testing/roles/coordinator/commands/dispatch.md +1 -1
- package/.agy/skills/team-testing/roles/coordinator/commands/monitor.md +2 -2
- package/.agy/skills/team-testing/roles/coordinator/role.md +1 -1
- package/.agy/skills/team-ui-polish/SKILL.md +131 -0
- package/.agy/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.agy/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.agy/skills/team-ui-polish/roles/coordinator/commands/monitor.md +201 -0
- package/.agy/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.agy/skills/team-ui-polish/roles/diagnostician/role.md +159 -0
- package/.agy/skills/team-ui-polish/roles/optimizer/role.md +224 -0
- package/.agy/skills/team-ui-polish/roles/scanner/role.md +355 -0
- package/.agy/skills/team-ui-polish/roles/verifier/role.md +141 -0
- package/.agy/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.agy/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.agy/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.agy/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.agy/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.agy/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.agy/skills/team-uidesign/SKILL.md +134 -0
- package/.agy/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
- package/.agy/skills/team-uidesign/roles/coordinator/commands/dispatch.md +185 -0
- package/.agy/skills/team-uidesign/roles/coordinator/commands/monitor.md +205 -0
- package/.agy/skills/team-uidesign/roles/coordinator/role.md +168 -0
- package/.agy/skills/team-uidesign/roles/designer/role.md +92 -0
- package/.agy/skills/team-uidesign/roles/implementer/role.md +93 -0
- package/.agy/skills/team-uidesign/roles/researcher/role.md +100 -0
- package/.agy/skills/team-uidesign/roles/reviewer/role.md +68 -0
- package/.agy/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.agy/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.agy/skills/team-uidesign/specs/pipelines.md +76 -0
- package/.agy/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.agy/skills/team-uidesign/specs/team-config.json +107 -0
- package/.agy/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.agy/skills/team-ultra-analyze/SKILL.md +162 -0
- package/.agy/skills/team-ultra-analyze/roles/analyst/role.md +96 -0
- package/.agy/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
- package/.agy/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +285 -0
- package/.agy/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +356 -0
- package/.agy/skills/team-ultra-analyze/roles/coordinator/role.md +247 -0
- package/.agy/skills/team-ultra-analyze/roles/discussant/role.md +105 -0
- package/.agy/skills/team-ultra-analyze/roles/explorer/role.md +73 -0
- package/.agy/skills/team-ultra-analyze/roles/synthesizer/role.md +76 -0
- package/.agy/skills/team-ultra-analyze/specs/pipelines.md +64 -0
- package/.agy/skills/team-ultra-analyze/specs/team-config.json +129 -0
- package/.agy/skills/team-ux-improve/SKILL.md +141 -0
- package/.agy/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
- package/.agy/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +200 -0
- package/.agy/skills/team-ux-improve/roles/coordinator/commands/monitor.md +175 -0
- package/.agy/skills/team-ux-improve/roles/coordinator/role.md +142 -0
- package/.agy/skills/team-ux-improve/roles/designer/role.md +151 -0
- package/.agy/skills/team-ux-improve/roles/diagnoser/role.md +107 -0
- package/.agy/skills/team-ux-improve/roles/explorer/role.md +76 -0
- package/.agy/skills/team-ux-improve/roles/implementer/role.md +101 -0
- package/.agy/skills/team-ux-improve/roles/scanner/role.md +134 -0
- package/.agy/skills/team-ux-improve/roles/tester/role.md +83 -0
- package/.agy/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.agy/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.agy/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.agy/skills/team-ux-improve/specs/pipelines.md +54 -0
- package/.agy/skills/team-ux-improve/specs/team-config.json +181 -0
- package/.agy/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +49 -0
- package/.agy/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
- package/.agy/skills/team-ux-improve/wisdom/patterns/state-management.md +34 -0
- package/.agy/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +40 -0
- package/.agy/skills/team-ux-improve/wisdom/principles/general-ux.md +43 -0
- package/.agy/skills/team-visual-a11y/SKILL.md +146 -0
- package/.agy/skills/team-visual-a11y/roles/color-auditor/role.md +177 -0
- package/.agy/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.agy/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.agy/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +225 -0
- package/.agy/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.agy/skills/team-visual-a11y/roles/fix-implementer/role.md +245 -0
- package/.agy/skills/team-visual-a11y/roles/focus-auditor/role.md +221 -0
- package/.agy/skills/team-visual-a11y/roles/remediation-planner/role.md +205 -0
- package/.agy/skills/team-visual-a11y/roles/typo-auditor/role.md +184 -0
- package/.agy/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.agy/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.agy/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.agy/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.agy/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.agy/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.claude/commands/odyssey-debug.md +30 -16
- package/.claude/commands/odyssey-improve.md +28 -15
- package/.claude/commands/odyssey-planex.md +20 -12
- package/.claude/commands/odyssey-review-test-fix.md +29 -13
- package/.claude/commands/odyssey-ui.md +27 -14
- package/.claude/skills/delegation-check/SKILL.md +297 -0
- package/.claude/skills/delegation-check/specs/separation-rules.md +269 -0
- package/.claude/skills/prompt-generator/SKILL.md +470 -0
- package/.claude/skills/prompt-generator/specs/agent-design-spec.md +299 -0
- package/.claude/skills/prompt-generator/specs/command-design-spec.md +367 -0
- package/.claude/skills/prompt-generator/specs/conversion-spec.md +207 -0
- package/.claude/skills/prompt-generator/templates/agent-md.md +145 -0
- package/.claude/skills/prompt-generator/templates/command-md.md +118 -0
- package/.claude/skills/scholar-anti-ai-writing/SKILL.md +173 -0
- package/.claude/skills/scholar-anti-ai-writing/phases/01-detect-score.md +126 -0
- package/.claude/skills/scholar-anti-ai-writing/phases/02-rewrite-polish.md +177 -0
- package/.claude/skills/scholar-anti-ai-writing/phases/03-validate-score.md +134 -0
- package/.claude/skills/scholar-anti-ai-writing/references/patterns-chinese.md +242 -0
- package/.claude/skills/scholar-anti-ai-writing/references/patterns-english.md +242 -0
- package/.claude/skills/scholar-citation-verify/SKILL.md +166 -0
- package/.claude/skills/scholar-citation-verify/phases/01-scan-extract.md +141 -0
- package/.claude/skills/scholar-citation-verify/phases/02-verify.md +310 -0
- package/.claude/skills/scholar-citation-verify/phases/03-report-fix.md +190 -0
- package/.claude/skills/scholar-citation-verify/references/api-usage.md +372 -0
- package/.claude/skills/scholar-citation-verify/references/common-errors.md +384 -0
- package/.claude/skills/scholar-citation-verify/references/verification-rules.md +399 -0
- package/.claude/skills/scholar-experiment/SKILL.md +321 -0
- package/.claude/skills/scholar-experiment/phases/01-data-loading.md +209 -0
- package/.claude/skills/scholar-experiment/phases/02-statistical-analysis.md +269 -0
- package/.claude/skills/scholar-experiment/phases/03-visualization.md +319 -0
- package/.claude/skills/scholar-experiment/phases/04-results-writing.md +229 -0
- package/.claude/skills/scholar-experiment/phases/05-quality-check.md +261 -0
- package/.claude/skills/scholar-ideation/SKILL.md +288 -0
- package/.claude/skills/scholar-ideation/phases/01-literature-search.md +317 -0
- package/.claude/skills/scholar-ideation/phases/02-gap-analysis.md +249 -0
- package/.claude/skills/scholar-ideation/phases/03-research-question.md +200 -0
- package/.claude/skills/scholar-ideation/phases/04-method-selection.md +185 -0
- package/.claude/skills/scholar-ideation/phases/05-research-planning.md +385 -0
- package/.claude/skills/scholar-latex-organizer/SKILL.md +186 -0
- package/.claude/skills/scholar-latex-organizer/phases/01-extract-analyze.md +228 -0
- package/.claude/skills/scholar-latex-organizer/phases/02-cleanup-organize.md +500 -0
- package/.claude/skills/scholar-latex-organizer/phases/03-readme-finalize.md +349 -0
- package/.claude/skills/scholar-publish/SKILL.md +220 -0
- package/.claude/skills/scholar-publish/phases/01-presentation.md +243 -0
- package/.claude/skills/scholar-publish/phases/02-poster.md +239 -0
- package/.claude/skills/scholar-publish/phases/03-promotion.md +255 -0
- package/.claude/skills/scholar-rebuttal-pro/README.md +313 -0
- package/.claude/skills/scholar-rebuttal-pro/SKILL.md +511 -0
- package/.claude/skills/scholar-rebuttal-pro/phases/01-review-parsing.md +227 -0
- package/.claude/skills/scholar-rebuttal-pro/phases/02-multi-perspective-discussion.md +395 -0
- package/.claude/skills/scholar-rebuttal-pro/phases/03-strategy-formulation.md +459 -0
- package/.claude/skills/scholar-rebuttal-pro/phases/04-rebuttal-writing.md +384 -0
- package/.claude/skills/scholar-rebuttal-pro/phases/05-quality-validation.md +691 -0
- package/.claude/skills/scholar-review/SKILL.md +227 -0
- package/.claude/skills/scholar-review/phases/01-self-review.md +186 -0
- package/.claude/skills/scholar-review/phases/02-review-analysis.md +203 -0
- package/.claude/skills/scholar-review/phases/03-response-strategy.md +193 -0
- package/.claude/skills/scholar-review/phases/04-rebuttal-writing.md +181 -0
- package/.claude/skills/scholar-review/phases/05-revision.md +183 -0
- package/.claude/skills/scholar-review/specs/tone-guidelines.md +76 -0
- package/.claude/skills/scholar-thesis-docx/LICENSE +21 -0
- package/.claude/skills/scholar-thesis-docx/README.md +111 -0
- package/.claude/skills/scholar-thesis-docx/README_EN.md +108 -0
- package/.claude/skills/scholar-thesis-docx/SKILL.md +212 -0
- package/.claude/skills/scholar-thesis-docx/agents/openai.yaml +4 -0
- package/.claude/skills/scholar-thesis-docx/examples/architecture.sample.mmd +5 -0
- package/.claude/skills/scholar-thesis-docx/examples/final-audit-checklist.sample.md +46 -0
- package/.claude/skills/scholar-thesis-docx/examples/word-style-config.sample.json +35 -0
- package/.claude/skills/scholar-thesis-docx/references/failure-patterns-and-quality-gates.md +178 -0
- package/.claude/skills/scholar-thesis-docx/references/figure-and-code-rules.md +33 -0
- package/.claude/skills/scholar-thesis-docx/references/paper-format-workflow.md +68 -0
- package/.claude/skills/scholar-thesis-docx/references/script-usage.md +157 -0
- package/.claude/skills/scholar-thesis-docx/scripts/audit_docx_ooxml.py +429 -0
- package/.claude/skills/scholar-thesis-docx/scripts/check_word_com.ps1 +50 -0
- package/.claude/skills/scholar-thesis-docx/scripts/export_word_pdf.ps1 +62 -0
- package/.claude/skills/scholar-thesis-docx/scripts/normalize_word_styles.ps1 +498 -0
- package/.claude/skills/scholar-thesis-docx/scripts/render_mermaid_figure.ps1 +148 -0
- package/.claude/skills/scholar-writing/SKILL.md +296 -0
- package/.claude/skills/scholar-writing/phases/01-repo-understanding.md +178 -0
- package/.claude/skills/scholar-writing/phases/02-structure-planning.md +197 -0
- package/.claude/skills/scholar-writing/phases/03-section-drafting.md +215 -0
- package/.claude/skills/scholar-writing/phases/04-citation-management.md +310 -0
- package/.claude/skills/scholar-writing/phases/05-anti-ai-polish.md +202 -0
- package/.claude/skills/scholar-writing/phases/06-conference-formatting.md +260 -0
- package/.claude/skills/skill-generator/SKILL.md +472 -0
- package/.claude/skills/skill-generator/phases/01-requirements-discovery.md +238 -0
- package/.claude/skills/skill-generator/phases/02-structure-generation.md +261 -0
- package/.claude/skills/skill-generator/phases/03-phase-generation.md +976 -0
- package/.claude/skills/skill-generator/phases/04-specs-templates.md +398 -0
- package/.claude/skills/skill-generator/phases/05-validation.md +417 -0
- package/.claude/skills/skill-generator/specs/cli-integration.md +442 -0
- package/.claude/skills/skill-generator/specs/execution-modes.md +399 -0
- package/.claude/skills/skill-generator/specs/reference-docs-spec.md +271 -0
- package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -0
- package/.claude/skills/skill-generator/specs/skill-requirements.md +466 -0
- package/.claude/skills/skill-generator/templates/autonomous-action.md +330 -0
- package/.claude/skills/skill-generator/templates/autonomous-orchestrator.md +300 -0
- package/.claude/skills/skill-generator/templates/code-analysis-action.md +514 -0
- package/.claude/skills/skill-generator/templates/llm-action.md +367 -0
- package/.claude/skills/skill-generator/templates/script-template.md +368 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +474 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +312 -0
- package/.claude/skills/skill-iter-tune/SKILL.md +15 -15
- package/.claude/skills/skill-iter-tune/phases/02-execute.md +5 -5
- package/.claude/skills/skill-iter-tune/phases/03-evaluate.md +4 -4
- package/.claude/skills/skill-iter-tune/templates/eval-prompt.md +1 -1
- package/.claude/skills/skill-iter-tune/templates/execute-prompt.md +1 -1
- package/.claude/skills/skill-simplify/SKILL.md +63 -0
- package/.claude/skills/skill-simplify/phases/01-analysis.md +224 -0
- package/.claude/skills/skill-simplify/phases/02-optimize.md +111 -0
- package/.claude/skills/skill-simplify/phases/03-check.md +224 -0
- package/.claude/skills/skill-tuning/SKILL.md +174 -0
- package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -0
- package/.claude/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
- package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
- package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
- package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
- package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
- package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -0
- package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
- package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -0
- package/.claude/skills/skill-tuning/phases/orchestrator.md +190 -0
- package/.claude/skills/skill-tuning/phases/state-schema.md +378 -0
- package/.claude/skills/skill-tuning/specs/category-mappings.json +284 -0
- package/.claude/skills/skill-tuning/specs/dimension-mapping.md +212 -0
- package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +210 -0
- package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -0
- package/.claude/skills/skill-tuning/specs/skill-authoring-principles.md +192 -0
- package/.claude/skills/skill-tuning/specs/tuning-strategies.md +392 -0
- package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -0
- package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -0
- package/.claude/skills/team-arch-opt/SKILL.md +158 -0
- package/.claude/skills/team-arch-opt/roles/analyzer/role.md +86 -0
- package/.claude/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
- package/.claude/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +371 -0
- package/.claude/skills/team-arch-opt/roles/coordinator/commands/monitor.md +216 -0
- package/.claude/skills/team-arch-opt/roles/coordinator/role.md +146 -0
- package/.claude/skills/team-arch-opt/roles/designer/role.md +115 -0
- package/.claude/skills/team-arch-opt/roles/refactorer/role.md +104 -0
- package/.claude/skills/team-arch-opt/roles/reviewer/role.md +111 -0
- package/.claude/skills/team-arch-opt/roles/validator/role.md +115 -0
- package/.claude/skills/team-arch-opt/specs/pipelines.md +102 -0
- package/.claude/skills/team-arch-opt/specs/team-config.json +263 -0
- package/.claude/skills/team-brainstorm/SKILL.md +171 -0
- package/.claude/skills/team-brainstorm/roles/challenger/role.md +61 -0
- package/.claude/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
- package/.claude/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +206 -0
- package/.claude/skills/team-brainstorm/roles/coordinator/commands/monitor.md +199 -0
- package/.claude/skills/team-brainstorm/roles/coordinator/role.md +140 -0
- package/.claude/skills/team-brainstorm/roles/evaluator/role.md +56 -0
- package/.claude/skills/team-brainstorm/roles/ideator/role.md +69 -0
- package/.claude/skills/team-brainstorm/roles/synthesizer/role.md +57 -0
- package/.claude/skills/team-brainstorm/specs/pipelines.md +72 -0
- package/.claude/skills/team-brainstorm/specs/team-config.json +86 -0
- package/.claude/skills/team-coordinate/SKILL.md +266 -266
- package/.claude/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
- package/.claude/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.claude/skills/team-designer/SKILL.md +160 -0
- package/.claude/skills/team-designer/phases/01-requirements-analysis.md +265 -0
- package/.claude/skills/team-designer/phases/02-scaffold-generation.md +236 -0
- package/.claude/skills/team-designer/phases/03-content-generation.md +330 -0
- package/.claude/skills/team-designer/phases/04-validation.md +329 -0
- package/.claude/skills/team-executor/SKILL.md +1 -1
- package/.claude/skills/team-frontend/SKILL.md +136 -0
- package/.claude/skills/team-frontend/roles/analyst/role.md +100 -0
- package/.claude/skills/team-frontend/roles/architect/role.md +86 -0
- package/.claude/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
- package/.claude/skills/team-frontend/roles/coordinator/commands/dispatch.md +197 -0
- package/.claude/skills/team-frontend/roles/coordinator/commands/monitor.md +233 -0
- package/.claude/skills/team-frontend/roles/coordinator/role.md +158 -0
- package/.claude/skills/team-frontend/roles/developer/role.md +93 -0
- package/.claude/skills/team-frontend/roles/qa/role.md +79 -0
- package/.claude/skills/team-frontend/specs/pipelines.md +76 -0
- package/.claude/skills/team-frontend/specs/team-config.json +84 -0
- package/.claude/skills/team-frontend-debug/SKILL.md +198 -0
- package/.claude/skills/team-frontend-debug/roles/analyzer/role.md +208 -0
- package/.claude/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
- package/.claude/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +256 -0
- package/.claude/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +148 -0
- package/.claude/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
- package/.claude/skills/team-frontend-debug/roles/fixer/role.md +147 -0
- package/.claude/skills/team-frontend-debug/roles/reproducer/role.md +155 -0
- package/.claude/skills/team-frontend-debug/roles/tester/role.md +231 -0
- package/.claude/skills/team-frontend-debug/roles/verifier/role.md +172 -0
- package/.claude/skills/team-frontend-debug/specs/debug-tools.md +215 -0
- package/.claude/skills/team-frontend-debug/specs/pipelines.md +94 -0
- package/.claude/skills/team-interactive-craft/SKILL.md +141 -0
- package/.claude/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.claude/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +215 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.claude/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.claude/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.claude/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.claude/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.claude/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.claude/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.claude/skills/team-issue/SKILL.md +171 -0
- package/.claude/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
- package/.claude/skills/team-issue/roles/coordinator/commands/dispatch.md +349 -0
- package/.claude/skills/team-issue/roles/coordinator/commands/monitor.md +229 -0
- package/.claude/skills/team-issue/roles/coordinator/role.md +175 -0
- package/.claude/skills/team-issue/roles/explorer/role.md +102 -0
- package/.claude/skills/team-issue/roles/implementer/role.md +87 -0
- package/.claude/skills/team-issue/roles/integrator/role.md +84 -0
- package/.claude/skills/team-issue/roles/planner/role.md +81 -0
- package/.claude/skills/team-issue/roles/reviewer/role.md +86 -0
- package/.claude/skills/team-issue/specs/pipelines.md +124 -0
- package/.claude/skills/team-issue/specs/team-config.json +70 -0
- package/.claude/skills/team-lifecycle-v4/SKILL.md +209 -209
- package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
- package/.claude/skills/team-lifecycle-v4/roles/coordinator/role.md +1 -1
- package/.claude/skills/team-motion-design/SKILL.md +142 -0
- package/.claude/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.claude/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/monitor.md +216 -0
- package/.claude/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.claude/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.claude/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.claude/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.claude/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.claude/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.claude/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.claude/skills/team-motion-design/specs/team-config.json +99 -0
- package/.claude/skills/team-perf-opt/SKILL.md +175 -0
- package/.claude/skills/team-perf-opt/roles/benchmarker/role.md +89 -0
- package/.claude/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
- package/.claude/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +376 -0
- package/.claude/skills/team-perf-opt/roles/coordinator/commands/monitor.md +362 -0
- package/.claude/skills/team-perf-opt/roles/coordinator/role.md +147 -0
- package/.claude/skills/team-perf-opt/roles/optimizer/role.md +99 -0
- package/.claude/skills/team-perf-opt/roles/profiler/role.md +81 -0
- package/.claude/skills/team-perf-opt/roles/reviewer/role.md +75 -0
- package/.claude/skills/team-perf-opt/roles/strategist/role.md +94 -0
- package/.claude/skills/team-perf-opt/specs/pipelines.md +65 -0
- package/.claude/skills/team-perf-opt/specs/team-config.json +246 -0
- package/.claude/skills/team-planex/SKILL.md +137 -0
- package/.claude/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
- package/.claude/skills/team-planex/roles/coordinator/commands/dispatch.md +87 -0
- package/.claude/skills/team-planex/roles/coordinator/commands/monitor.md +195 -0
- package/.claude/skills/team-planex/roles/coordinator/role.md +140 -0
- package/.claude/skills/team-planex/roles/executor/role.md +91 -0
- package/.claude/skills/team-planex/roles/planner/role.md +119 -0
- package/.claude/skills/team-planex/specs/pipelines.md +93 -0
- package/.claude/skills/team-quality-assurance/SKILL.md +147 -147
- package/.claude/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +1 -1
- package/.claude/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +2 -2
- package/.claude/skills/team-quality-assurance/roles/coordinator/role.md +1 -1
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +75 -75
- package/.claude/skills/team-review/SKILL.md +147 -147
- package/.claude/skills/team-review/roles/coordinator/commands/dispatch.md +1 -1
- package/.claude/skills/team-review/roles/coordinator/commands/monitor.md +2 -2
- package/.claude/skills/team-review/roles/coordinator/role.md +1 -1
- package/.claude/skills/team-roadmap-dev/SKILL.md +169 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +212 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +477 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +287 -0
- package/.claude/skills/team-roadmap-dev/roles/coordinator/role.md +302 -0
- package/.claude/skills/team-roadmap-dev/roles/executor/role.md +72 -0
- package/.claude/skills/team-roadmap-dev/roles/planner/role.md +86 -0
- package/.claude/skills/team-roadmap-dev/roles/verifier/role.md +74 -0
- package/.claude/skills/team-roadmap-dev/specs/pipelines.md +93 -0
- package/.claude/skills/team-roadmap-dev/specs/team-config.json +95 -0
- package/.claude/skills/team-swarm/SKILL.md +178 -178
- package/.claude/skills/team-tech-debt/SKILL.md +128 -128
- package/.claude/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +1 -1
- package/.claude/skills/team-tech-debt/roles/coordinator/commands/monitor.md +2 -2
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +90 -90
- package/.claude/skills/team-testing/SKILL.md +143 -143
- package/.claude/skills/team-testing/roles/coordinator/commands/dispatch.md +1 -1
- package/.claude/skills/team-testing/roles/coordinator/commands/monitor.md +2 -2
- package/.claude/skills/team-testing/roles/coordinator/role.md +1 -1
- package/.claude/skills/team-ui-polish/SKILL.md +141 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/monitor.md +212 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.claude/skills/team-ui-polish/roles/diagnostician/role.md +160 -0
- package/.claude/skills/team-ui-polish/roles/optimizer/role.md +225 -0
- package/.claude/skills/team-ui-polish/roles/scanner/role.md +356 -0
- package/.claude/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.claude/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.claude/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.claude/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.claude/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.claude/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.claude/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.claude/skills/team-uidesign/SKILL.md +144 -0
- package/.claude/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
- package/.claude/skills/team-uidesign/roles/coordinator/commands/dispatch.md +185 -0
- package/.claude/skills/team-uidesign/roles/coordinator/commands/monitor.md +216 -0
- package/.claude/skills/team-uidesign/roles/coordinator/role.md +168 -0
- package/.claude/skills/team-uidesign/roles/designer/role.md +93 -0
- package/.claude/skills/team-uidesign/roles/implementer/role.md +94 -0
- package/.claude/skills/team-uidesign/roles/researcher/role.md +101 -0
- package/.claude/skills/team-uidesign/roles/reviewer/role.md +69 -0
- package/.claude/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.claude/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.claude/skills/team-uidesign/specs/pipelines.md +76 -0
- package/.claude/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.claude/skills/team-uidesign/specs/team-config.json +107 -0
- package/.claude/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.claude/skills/team-ultra-analyze/SKILL.md +173 -0
- package/.claude/skills/team-ultra-analyze/roles/analyst/role.md +98 -0
- package/.claude/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
- package/.claude/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +285 -0
- package/.claude/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +372 -0
- package/.claude/skills/team-ultra-analyze/roles/coordinator/role.md +247 -0
- package/.claude/skills/team-ultra-analyze/roles/discussant/role.md +107 -0
- package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +75 -0
- package/.claude/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -0
- package/.claude/skills/team-ultra-analyze/specs/pipelines.md +64 -0
- package/.claude/skills/team-ultra-analyze/specs/team-config.json +129 -0
- package/.claude/skills/team-ux-improve/SKILL.md +151 -0
- package/.claude/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
- package/.claude/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +200 -0
- package/.claude/skills/team-ux-improve/roles/coordinator/commands/monitor.md +186 -0
- package/.claude/skills/team-ux-improve/roles/coordinator/role.md +142 -0
- package/.claude/skills/team-ux-improve/roles/designer/role.md +152 -0
- package/.claude/skills/team-ux-improve/roles/diagnoser/role.md +108 -0
- package/.claude/skills/team-ux-improve/roles/explorer/role.md +77 -0
- package/.claude/skills/team-ux-improve/roles/implementer/role.md +102 -0
- package/.claude/skills/team-ux-improve/roles/scanner/role.md +135 -0
- package/.claude/skills/team-ux-improve/roles/tester/role.md +84 -0
- package/.claude/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.claude/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.claude/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.claude/skills/team-ux-improve/specs/pipelines.md +54 -0
- package/.claude/skills/team-ux-improve/specs/team-config.json +181 -0
- package/.claude/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +49 -0
- package/.claude/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
- package/.claude/skills/team-ux-improve/wisdom/patterns/state-management.md +34 -0
- package/.claude/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +40 -0
- package/.claude/skills/team-ux-improve/wisdom/principles/general-ux.md +43 -0
- package/.claude/skills/team-visual-a11y/SKILL.md +156 -0
- package/.claude/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +236 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.claude/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.claude/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.claude/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.claude/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.claude/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.claude/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.claude/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.claude/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.claude/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.claude/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.codex/skills/odyssey-debug/SKILL.md +32 -12
- package/.codex/skills/odyssey-improve/SKILL.md +34 -13
- package/.codex/skills/odyssey-planex/SKILL.md +25 -12
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +39 -14
- package/.codex/skills/odyssey-ui/SKILL.md +30 -10
- package/bin/maestro.js +46 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.d.ts +3 -8
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.js +3 -60
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.js.map +1 -1
- package/dashboard/dist-server/src/commands/hooks.d.ts +227 -0
- package/dashboard/dist-server/src/commands/hooks.js +1380 -0
- package/dashboard/dist-server/src/commands/hooks.js.map +1 -0
- package/dashboard/dist-server/src/commands/install-backend.d.ts +112 -0
- package/dashboard/dist-server/src/commands/install-backend.js +713 -0
- package/dashboard/dist-server/src/commands/install-backend.js.map +1 -0
- package/dashboard/dist-server/src/config/index.d.ts +16 -0
- package/dashboard/dist-server/src/config/index.js +165 -0
- package/dashboard/dist-server/src/config/index.js.map +1 -0
- package/dashboard/dist-server/src/core/component-defs.d.ts +46 -0
- package/dashboard/dist-server/src/core/component-defs.js +407 -0
- package/dashboard/dist-server/src/core/component-defs.js.map +1 -0
- package/dashboard/dist-server/src/core/manifest.d.ts +85 -0
- package/dashboard/dist-server/src/core/manifest.js +232 -0
- package/dashboard/dist-server/src/core/manifest.js.map +1 -0
- package/dashboard/dist-server/src/core/overlay/applier.d.ts +107 -0
- package/dashboard/dist-server/src/core/overlay/applier.js +443 -0
- package/dashboard/dist-server/src/core/overlay/applier.js.map +1 -0
- package/dashboard/dist-server/src/core/overlay/loader.d.ts +25 -0
- package/dashboard/dist-server/src/core/overlay/loader.js +210 -0
- package/dashboard/dist-server/src/core/overlay/loader.js.map +1 -0
- package/dashboard/dist-server/src/core/overlay/patcher.d.ts +25 -0
- package/dashboard/dist-server/src/core/overlay/patcher.js +212 -0
- package/dashboard/dist-server/src/core/overlay/patcher.js.map +1 -0
- package/dashboard/dist-server/src/core/overlay/section-parser.d.ts +24 -0
- package/dashboard/dist-server/src/core/overlay/section-parser.js +99 -0
- package/dashboard/dist-server/src/core/overlay/section-parser.js.map +1 -0
- package/dashboard/dist-server/src/core/overlay/types.d.ts +56 -0
- package/dashboard/dist-server/src/core/overlay/types.js +17 -0
- package/dashboard/dist-server/src/core/overlay/types.js.map +1 -0
- package/dashboard/dist-server/src/core/tag-injector.d.ts +71 -0
- package/dashboard/dist-server/src/core/tag-injector.js +228 -0
- package/dashboard/dist-server/src/core/tag-injector.js.map +1 -0
- package/dashboard/dist-server/src/core/toggle.d.ts +12 -0
- package/dashboard/dist-server/src/core/toggle.js +159 -0
- package/dashboard/dist-server/src/core/toggle.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/credibility.d.ts +36 -0
- package/dashboard/dist-server/src/graph/kg/credibility.js +141 -0
- package/dashboard/dist-server/src/graph/kg/credibility.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/db/connection.d.ts +27 -0
- package/dashboard/dist-server/src/graph/kg/db/connection.js +142 -0
- package/dashboard/dist-server/src/graph/kg/db/connection.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/db/index.d.ts +4 -0
- package/dashboard/dist-server/src/graph/kg/db/index.js +6 -0
- package/dashboard/dist-server/src/graph/kg/db/index.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/db/migrations.d.ts +7 -0
- package/dashboard/dist-server/src/graph/kg/db/migrations.js +88 -0
- package/dashboard/dist-server/src/graph/kg/db/migrations.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/db/queries.d.ts +83 -0
- package/dashboard/dist-server/src/graph/kg/db/queries.js +471 -0
- package/dashboard/dist-server/src/graph/kg/db/queries.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/db/types.d.ts +122 -0
- package/dashboard/dist-server/src/graph/kg/db/types.js +75 -0
- package/dashboard/dist-server/src/graph/kg/db/types.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/engine.d.ts +86 -0
- package/dashboard/dist-server/src/graph/kg/engine.js +247 -0
- package/dashboard/dist-server/src/graph/kg/engine.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.d.ts +49 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js +390 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/dfm-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/dfm-extractor.js +122 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/dfm-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/generated-detection.d.ts +13 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/generated-detection.js +65 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/generated-detection.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/languages/index.d.ts +8 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/languages/index.js +2119 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/languages/index.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/languages/typescript.d.ts +4 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/languages/typescript.js +191 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/languages/typescript.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/liquid-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/liquid-extractor.js +117 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/liquid-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/mybatis-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/mybatis-extractor.js +84 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/mybatis-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/plugin-engine.d.ts +38 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/plugin-engine.js +634 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/plugin-engine.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/plugin-types.d.ts +94 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/plugin-types.js +5 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/plugin-types.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/scan-scope.d.ts +14 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/scan-scope.js +93 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/scan-scope.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/svelte-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/svelte-extractor.js +97 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/svelte-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/tree-sitter-types.d.ts +60 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/tree-sitter-types.js +53 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/tree-sitter-types.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/tree-sitter.d.ts +54 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/tree-sitter.js +227 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/tree-sitter.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/vue-extractor.d.ts +5 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/vue-extractor.js +114 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/vue-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/wasm-stability.d.ts +43 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/wasm-stability.js +140 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/wasm-stability.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/worker-parser.d.ts +18 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/worker-parser.js +117 -0
- package/dashboard/dist-server/src/graph/kg/extraction/code/worker-parser.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/codebase-extractor.js +149 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/codebase-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +3 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js +114 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/issue-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/issue-extractor.js +84 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/issue-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/spec-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/spec-extractor.js +173 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/spec-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/wiki-extractor.js +165 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/wiki-extractor.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.d.ts +15 -0
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js +241 -0
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/query/context-builder.d.ts +37 -0
- package/dashboard/dist-server/src/graph/kg/query/context-builder.js +184 -0
- package/dashboard/dist-server/src/graph/kg/query/context-builder.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/query/scoring.d.ts +18 -0
- package/dashboard/dist-server/src/graph/kg/query/scoring.js +158 -0
- package/dashboard/dist-server/src/graph/kg/query/scoring.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/query/search.d.ts +58 -0
- package/dashboard/dist-server/src/graph/kg/query/search.js +158 -0
- package/dashboard/dist-server/src/graph/kg/query/search.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/query/traversal.d.ts +74 -0
- package/dashboard/dist-server/src/graph/kg/query/traversal.js +420 -0
- package/dashboard/dist-server/src/graph/kg/query/traversal.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/resolution/knowledge-resolver.d.ts +21 -0
- package/dashboard/dist-server/src/graph/kg/resolution/knowledge-resolver.js +288 -0
- package/dashboard/dist-server/src/graph/kg/resolution/knowledge-resolver.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/resolution/name-matcher.d.ts +24 -0
- package/dashboard/dist-server/src/graph/kg/resolution/name-matcher.js +162 -0
- package/dashboard/dist-server/src/graph/kg/resolution/name-matcher.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/surface/hook-injector.d.ts +32 -0
- package/dashboard/dist-server/src/graph/kg/surface/hook-injector.js +172 -0
- package/dashboard/dist-server/src/graph/kg/surface/hook-injector.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.d.ts +19 -0
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js +253 -0
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js.map +1 -0
- package/dashboard/dist-server/src/hooks/constants.d.ts +2 -0
- package/dashboard/dist-server/src/hooks/constants.js +12 -1
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dashboard/dist-server/src/hooks/context-budget.d.ts +28 -0
- package/dashboard/dist-server/src/hooks/context-budget.js +142 -0
- package/dashboard/dist-server/src/hooks/context-budget.js.map +1 -0
- package/dashboard/dist-server/src/hooks/context-format.d.ts +45 -0
- package/dashboard/dist-server/src/hooks/context-format.js +58 -0
- package/dashboard/dist-server/src/hooks/context-format.js.map +1 -0
- package/dashboard/dist-server/src/hooks/coordinator-tracker.d.ts +100 -0
- package/dashboard/dist-server/src/hooks/coordinator-tracker.js +360 -0
- package/dashboard/dist-server/src/hooks/coordinator-tracker.js.map +1 -0
- package/dashboard/dist-server/src/hooks/delegate-monitor.d.ts +24 -0
- package/dashboard/dist-server/src/hooks/delegate-monitor.js +76 -0
- package/dashboard/dist-server/src/hooks/delegate-monitor.js.map +1 -0
- package/dashboard/dist-server/src/hooks/guards/preflight-guard.d.ts +28 -0
- package/dashboard/dist-server/src/hooks/guards/preflight-guard.js +95 -0
- package/dashboard/dist-server/src/hooks/guards/preflight-guard.js.map +1 -0
- package/dashboard/dist-server/src/hooks/guards/prompt-guard.d.ts +17 -0
- package/dashboard/dist-server/src/hooks/guards/prompt-guard.js +52 -0
- package/dashboard/dist-server/src/hooks/guards/prompt-guard.js.map +1 -0
- package/dashboard/dist-server/src/hooks/guards/spec-validator.d.ts +24 -0
- package/dashboard/dist-server/src/hooks/guards/spec-validator.js +66 -0
- package/dashboard/dist-server/src/hooks/guards/spec-validator.js.map +1 -0
- package/dashboard/dist-server/src/hooks/guards/workflow-guard.d.ts +35 -0
- package/dashboard/dist-server/src/hooks/guards/workflow-guard.js +107 -0
- package/dashboard/dist-server/src/hooks/guards/workflow-guard.js.map +1 -0
- package/dashboard/dist-server/src/hooks/keyword-spec-injector.d.ts +26 -0
- package/dashboard/dist-server/src/hooks/keyword-spec-injector.js +353 -0
- package/dashboard/dist-server/src/hooks/keyword-spec-injector.js.map +1 -0
- package/dashboard/dist-server/src/hooks/kg-auto-init.d.ts +12 -0
- package/dashboard/dist-server/src/hooks/kg-auto-init.js +38 -0
- package/dashboard/dist-server/src/hooks/kg-auto-init.js.map +1 -0
- package/dashboard/dist-server/src/hooks/kg-context-injector.d.ts +16 -0
- package/dashboard/dist-server/src/hooks/kg-context-injector.js +134 -0
- package/dashboard/dist-server/src/hooks/kg-context-injector.js.map +1 -0
- package/dashboard/dist-server/src/hooks/kg-sync-hook.d.ts +13 -0
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js +70 -0
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js.map +1 -0
- package/dashboard/dist-server/src/hooks/preflight-core.d.ts +36 -0
- package/dashboard/dist-server/src/hooks/preflight-core.js +86 -0
- package/dashboard/dist-server/src/hooks/preflight-core.js.map +1 -0
- package/dashboard/dist-server/src/hooks/session-context.d.ts +24 -0
- package/dashboard/dist-server/src/hooks/session-context.js +147 -0
- package/dashboard/dist-server/src/hooks/session-context.js.map +1 -0
- package/dashboard/dist-server/src/hooks/skill-context.d.ts +51 -0
- package/dashboard/dist-server/src/hooks/skill-context.js +520 -0
- package/dashboard/dist-server/src/hooks/skill-context.js.map +1 -0
- package/dashboard/dist-server/src/hooks/spec-analytics.d.ts +128 -0
- package/dashboard/dist-server/src/hooks/spec-analytics.js +309 -0
- package/dashboard/dist-server/src/hooks/spec-analytics.js.map +1 -0
- package/dashboard/dist-server/src/hooks/spec-bridge.d.ts +39 -0
- package/dashboard/dist-server/src/hooks/spec-bridge.js +97 -0
- package/dashboard/dist-server/src/hooks/spec-bridge.js.map +1 -0
- package/dashboard/dist-server/src/hooks/spec-injector.d.ts +28 -0
- package/dashboard/dist-server/src/hooks/spec-injector.js +364 -0
- package/dashboard/dist-server/src/hooks/spec-injector.js.map +1 -0
- package/dashboard/dist-server/src/hooks/team-monitor.d.ts +33 -0
- package/dashboard/dist-server/src/hooks/team-monitor.js +149 -0
- package/dashboard/dist-server/src/hooks/team-monitor.js.map +1 -0
- package/dashboard/dist-server/src/hooks/wiki-role-loader.d.ts +17 -0
- package/dashboard/dist-server/src/hooks/wiki-role-loader.js +43 -0
- package/dashboard/dist-server/src/hooks/wiki-role-loader.js.map +1 -0
- package/dashboard/dist-server/src/hooks/workspace.d.ts +33 -0
- package/dashboard/dist-server/src/hooks/workspace.js +69 -0
- package/dashboard/dist-server/src/hooks/workspace.js.map +1 -0
- package/dashboard/dist-server/src/tools/domain-loader.d.ts +62 -0
- package/dashboard/dist-server/src/tools/domain-loader.js +295 -0
- package/dashboard/dist-server/src/tools/domain-loader.js.map +1 -0
- package/dashboard/dist-server/src/tools/domain-matcher.d.ts +23 -0
- package/dashboard/dist-server/src/tools/domain-matcher.js +117 -0
- package/dashboard/dist-server/src/tools/domain-matcher.js.map +1 -0
- package/dashboard/dist-server/src/tools/domain-schema.d.ts +17 -0
- package/dashboard/dist-server/src/tools/domain-schema.js +104 -0
- package/dashboard/dist-server/src/tools/domain-schema.js.map +1 -0
- package/dashboard/dist-server/src/tools/namespace-guard.d.ts +38 -0
- package/dashboard/dist-server/src/tools/namespace-guard.js +138 -0
- package/dashboard/dist-server/src/tools/namespace-guard.js.map +1 -0
- package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +4 -2
- package/dashboard/dist-server/src/tools/spec-entry-parser.js +9 -5
- package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-keyword-index.d.ts +29 -0
- package/dashboard/dist-server/src/tools/spec-keyword-index.js +118 -0
- package/dashboard/dist-server/src/tools/spec-keyword-index.js.map +1 -0
- package/dashboard/dist-server/src/tools/spec-loader.d.ts +26 -1
- package/dashboard/dist-server/src/tools/spec-loader.js +113 -28
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-seeds.d.ts +32 -0
- package/dashboard/dist-server/src/tools/spec-seeds.js +200 -0
- package/dashboard/dist-server/src/tools/spec-seeds.js.map +1 -0
- package/dashboard/dist-server/src/tools/team-activity.d.ts +75 -0
- package/dashboard/dist-server/src/tools/team-activity.js +181 -0
- package/dashboard/dist-server/src/tools/team-activity.js.map +1 -0
- package/dashboard/dist-server/src/tools/team-members.d.ts +111 -0
- package/dashboard/dist-server/src/tools/team-members.js +303 -0
- package/dashboard/dist-server/src/tools/team-members.js.map +1 -0
- package/dashboard/dist-server/src/utils/cooldown-guard.d.ts +16 -0
- package/dashboard/dist-server/src/utils/cooldown-guard.js +59 -0
- package/dashboard/dist-server/src/utils/cooldown-guard.js.map +1 -0
- package/dashboard/dist-server/src/utils/jsonl-log.d.ts +62 -0
- package/dashboard/dist-server/src/utils/jsonl-log.js +199 -0
- package/dashboard/dist-server/src/utils/jsonl-log.js.map +1 -0
- package/dashboard/dist-server/src/utils/path-validator.d.ts +51 -0
- package/dashboard/dist-server/src/utils/path-validator.js +151 -0
- package/dashboard/dist-server/src/utils/path-validator.js.map +1 -0
- package/dist/src/commands/install-backend.d.ts +4 -2
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +24 -3
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +79 -0
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/core/component-defs.d.ts +12 -0
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +167 -4
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/core/install-executor.d.ts.map +1 -1
- package/dist/src/core/install-executor.js +4 -1
- package/dist/src/core/install-executor.js.map +1 -1
- package/dist/src/core/manifest.d.ts +3 -0
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +2 -2
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/toggle.d.ts +13 -0
- package/dist/src/core/toggle.d.ts.map +1 -0
- package/dist/src/core/toggle.js +159 -0
- package/dist/src/core/toggle.js.map +1 -0
- package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +12 -4
- package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.js +200 -135
- package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/parse-worker.d.ts +2 -0
- package/dist/src/graph/kg/extraction/code/parse-worker.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/code/parse-worker.js +50 -0
- package/dist/src/graph/kg/extraction/code/parse-worker.js.map +1 -0
- package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts +5 -1
- package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/code/plugin-engine.js +85 -24
- package/dist/src/graph/kg/extraction/code/plugin-engine.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/scan-scope.d.ts +15 -0
- package/dist/src/graph/kg/extraction/code/scan-scope.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/code/scan-scope.js +93 -0
- package/dist/src/graph/kg/extraction/code/scan-scope.js.map +1 -0
- package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/code/svelte-extractor.js +17 -12
- package/dist/src/graph/kg/extraction/code/svelte-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/code/vue-extractor.js +15 -10
- package/dist/src/graph/kg/extraction/code/vue-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/wasm-runtime-flags.d.ts +4 -0
- package/dist/src/graph/kg/extraction/code/wasm-runtime-flags.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/code/wasm-runtime-flags.js +13 -0
- package/dist/src/graph/kg/extraction/code/wasm-runtime-flags.js.map +1 -0
- package/dist/src/graph/kg/extraction/code/wasm-stability.js +2 -2
- package/dist/src/graph/kg/extraction/code/wasm-stability.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/worker-parser.d.ts +19 -0
- package/dist/src/graph/kg/extraction/code/worker-parser.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/code/worker-parser.js +117 -0
- package/dist/src/graph/kg/extraction/code/worker-parser.js.map +1 -0
- package/dist/src/graph/kg/extraction/orchestrator.d.ts +10 -0
- package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.js +48 -27
- package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dist/src/graph/kg/index.d.ts +3 -1
- package/dist/src/graph/kg/index.d.ts.map +1 -1
- package/dist/src/graph/kg/index.js +3 -1
- package/dist/src/graph/kg/index.js.map +1 -1
- package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/cli.js +48 -2
- package/dist/src/graph/kg/surface/cli.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tui/install-ui/ComponentGrid.d.ts +0 -4
- package/dist/src/tui/install-ui/ComponentGrid.d.ts.map +1 -1
- package/dist/src/tui/install-ui/ComponentGrid.js +87 -15
- package/dist/src/tui/install-ui/ComponentGrid.js.map +1 -1
- package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
- package/dist/src/tui/install-ui/ExecutionView.js +8 -2
- package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
- package/dist/src/tui/install-ui/GroupedHub.js +1 -1
- package/dist/src/tui/install-ui/GroupedHub.js.map +1 -1
- package/dist/src/tui/install-ui/ToggleView.d.ts +9 -0
- package/dist/src/tui/install-ui/ToggleView.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ToggleView.js +136 -0
- package/dist/src/tui/install-ui/ToggleView.js.map +1 -0
- package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -1
- package/dist/src/tui/install-ui/useInstallFlowState.js +3 -3
- package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -1
- package/dist/src/utils/update-notices.js +12 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/dist/src/utils/wasm-relaunch.d.ts +5 -0
- package/dist/src/utils/wasm-relaunch.d.ts.map +1 -0
- package/dist/src/utils/wasm-relaunch.js +29 -0
- package/dist/src/utils/wasm-relaunch.js.map +1 -0
- package/package.json +2 -1
- package/workflows/claude-instructions.md +0 -1
- package/workflows/codex-instructions.md +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Figure and Code Rules
|
|
2
|
+
|
|
3
|
+
## 1. Mermaid Usage Rules
|
|
4
|
+
|
|
5
|
+
1. Generate Mermaid only when the user needs an architecture diagram, flow
|
|
6
|
+
chart, E-R diagram, state diagram, or similar thesis figure and has provided
|
|
7
|
+
real source material.
|
|
8
|
+
2. Base the diagram on actual code, schema definitions, API docs, project docs,
|
|
9
|
+
or thesis text from the user.
|
|
10
|
+
3. Do not guess entities, fields, relationships, module boundaries, or call
|
|
11
|
+
chains when the evidence is incomplete.
|
|
12
|
+
4. Ask for the missing material before generating the figure.
|
|
13
|
+
|
|
14
|
+
## 2. Thesis Diagram Style
|
|
15
|
+
|
|
16
|
+
1. Keep the structure clean and avoid decorative nodes.
|
|
17
|
+
2. Use neutral academic terminology.
|
|
18
|
+
3. Avoid chatty labels and extra explanatory filler.
|
|
19
|
+
4. Keep directions and relationships faithful to the real system.
|
|
20
|
+
5. For E-R diagrams, emphasize entities, keys, core attributes, and cardinality.
|
|
21
|
+
6. For architecture diagrams, emphasize layers, modules, and interactions.
|
|
22
|
+
|
|
23
|
+
## 3. Code Listing Rules
|
|
24
|
+
|
|
25
|
+
1. Prefer LaTeX-oriented code typesetting when the thesis includes code.
|
|
26
|
+
2. Keep only the parts needed for the thesis argument.
|
|
27
|
+
3. Use real identifiers from the user's code or design.
|
|
28
|
+
4. Do not fabricate code or pseudocode for padding.
|
|
29
|
+
|
|
30
|
+
## 4. Output Rules
|
|
31
|
+
|
|
32
|
+
- Every diagram and code listing must be traceable to user-provided material.
|
|
33
|
+
- If any fact is uncertain, ask for evidence instead of guessing.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Thesis Word Formatting Workflow
|
|
2
|
+
|
|
3
|
+
## 1. Environment Gate
|
|
4
|
+
|
|
5
|
+
1. 先运行 `scripts/check_word_com.ps1 -Json`。
|
|
6
|
+
2. 若 `wordInstalled=false` 或 `comAvailable=false` 或 `domAvailable=false`:
|
|
7
|
+
- Stop the automation-heavy plan.
|
|
8
|
+
- Tell the user to install desktop Microsoft Word.
|
|
9
|
+
- Explain that WPS and similar tools often distort styles, pagination,
|
|
10
|
+
captions, tables of contents, and cross-references.
|
|
11
|
+
3. 只有在 Word COM/DOM 可用时,才进入自动化文档编辑流程。
|
|
12
|
+
|
|
13
|
+
## 2. Formatting Rules
|
|
14
|
+
|
|
15
|
+
1. If the user provides a school template, style guide, screenshots, or page
|
|
16
|
+
header/footer rules, follow them strictly.
|
|
17
|
+
2. If the user does not provide rules, do not invent school-specific standards.
|
|
18
|
+
3. Control formatting through styles, not scattered manual formatting.
|
|
19
|
+
4. Reuse and repair existing styles before creating new ones.
|
|
20
|
+
|
|
21
|
+
## 3. Suggested Style Groups
|
|
22
|
+
|
|
23
|
+
- `Body Text`
|
|
24
|
+
- `Heading 1` / `Heading 2` / `Heading 3`
|
|
25
|
+
- `Figure Caption`
|
|
26
|
+
- `Table Caption`
|
|
27
|
+
- `Code Listing`
|
|
28
|
+
- `References`
|
|
29
|
+
- `Abstract`, `Keywords`, and `Appendix Title`
|
|
30
|
+
|
|
31
|
+
## 4. Editing Order
|
|
32
|
+
|
|
33
|
+
1. Read the user requirements and current document structure.
|
|
34
|
+
2. Separate formatting scope into:
|
|
35
|
+
- school-explicit requirements
|
|
36
|
+
- user-explicit house rules
|
|
37
|
+
- unspecified regions that must be preserved
|
|
38
|
+
3. Inspect style names, style IDs, fonts, spacing, indentation, numbering,
|
|
39
|
+
section settings, and page-break behavior.
|
|
40
|
+
4. Map target styles to document styles.
|
|
41
|
+
5. Normalize only the parts that are justified by the rules.
|
|
42
|
+
6. Then fix page numbers, table of contents, sections, references, and figure
|
|
43
|
+
numbering.
|
|
44
|
+
7. Export to PDF from Word and review every page.
|
|
45
|
+
8. Only after the PDF review passes, describe the task as complete.
|
|
46
|
+
|
|
47
|
+
## 4.1 Hidden Word Checks
|
|
48
|
+
|
|
49
|
+
When the visual result contradicts the style readout, inspect:
|
|
50
|
+
|
|
51
|
+
- `firstLine`
|
|
52
|
+
- `firstLineChars`
|
|
53
|
+
- direct paragraph `w:ind`
|
|
54
|
+
- numbering indentation
|
|
55
|
+
- `titlePg`
|
|
56
|
+
- `differentFirstPageHeaderFooter`
|
|
57
|
+
- REF field display text
|
|
58
|
+
- direct run formatting
|
|
59
|
+
|
|
60
|
+
Do not assume `python-docx` style inspection is enough for thesis work.
|
|
61
|
+
|
|
62
|
+
## 5. Do Not Do This
|
|
63
|
+
|
|
64
|
+
- Do not mix heavy direct formatting with style-driven formatting.
|
|
65
|
+
- Do not invent school rules when the template evidence is missing.
|
|
66
|
+
- Do not treat WPS rendering as the final Word result.
|
|
67
|
+
- Do not globally normalize the entire document before finishing a full audit.
|
|
68
|
+
- Do not claim the thesis is fully checked before page-level PDF review.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Script Usage
|
|
2
|
+
|
|
3
|
+
## 1. Audit DOCX OOXML before risky edits
|
|
4
|
+
|
|
5
|
+
Use `scripts/audit_docx_ooxml.py` before batch formatting when the document has
|
|
6
|
+
already gone through multiple rounds of editing or when the visible result does
|
|
7
|
+
not match the style readout.
|
|
8
|
+
|
|
9
|
+
Example:
|
|
10
|
+
|
|
11
|
+
```powershell
|
|
12
|
+
python scripts/audit_docx_ooxml.py .\draft.docx `
|
|
13
|
+
--output_json .\draft.audit.json `
|
|
14
|
+
--output_txt .\draft.audit.txt
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The script reports:
|
|
18
|
+
|
|
19
|
+
1. style IDs and key style definitions
|
|
20
|
+
2. section settings such as `titlePg` and header/footer references
|
|
21
|
+
3. heading paragraphs with direct indentation overrides
|
|
22
|
+
4. paragraphs using `firstLineChars`
|
|
23
|
+
5. suspicious REF fields with multiple result runs
|
|
24
|
+
|
|
25
|
+
The JSON output is suitable for agents and downstream tooling.
|
|
26
|
+
The TXT output is intended for quick human review.
|
|
27
|
+
|
|
28
|
+
Use this script before you decide whether a problem can be fixed through styles
|
|
29
|
+
or requires OOXML-level patching.
|
|
30
|
+
|
|
31
|
+
## 2. Normalize Word styles
|
|
32
|
+
|
|
33
|
+
Use `scripts/normalize_word_styles.ps1` after `check_word_com.ps1` confirms
|
|
34
|
+
that Word COM automation is available.
|
|
35
|
+
|
|
36
|
+
Example:
|
|
37
|
+
|
|
38
|
+
```powershell
|
|
39
|
+
powershell -ExecutionPolicy Bypass -File scripts/normalize_word_styles.ps1 `
|
|
40
|
+
-InputPath .\draft.docx `
|
|
41
|
+
-OutputPath .\draft.normalized.docx
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Dry-run audit example:
|
|
45
|
+
|
|
46
|
+
```powershell
|
|
47
|
+
powershell -ExecutionPolicy Bypass -File scripts/normalize_word_styles.ps1 `
|
|
48
|
+
-InputPath .\draft.docx `
|
|
49
|
+
-AuditOnly
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The script:
|
|
53
|
+
|
|
54
|
+
1. Opens the Word document through COM automation.
|
|
55
|
+
2. Resolves or creates target styles.
|
|
56
|
+
3. Applies style definitions for body text, Heading 1-3, figure captions, and
|
|
57
|
+
table captions.
|
|
58
|
+
4. Uses existing style hints first, then falls back to text-pattern detection.
|
|
59
|
+
5. Saves a new file unless `-InPlace` is provided.
|
|
60
|
+
|
|
61
|
+
When `-AuditOnly` is used, the script does not save document changes. It only
|
|
62
|
+
returns the predicted paragraph-to-style mappings and summary counts.
|
|
63
|
+
|
|
64
|
+
Use `-ConfigPath` to pass a UTF-8 JSON file with custom style names or school
|
|
65
|
+
rules.
|
|
66
|
+
|
|
67
|
+
Repository example:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
examples/word-style-config.sample.json
|
|
71
|
+
examples/final-audit-checklist.sample.md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Example JSON:
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"styles": {
|
|
79
|
+
"Body": {
|
|
80
|
+
"TargetStyleName": "正文",
|
|
81
|
+
"FontName": "Times New Roman",
|
|
82
|
+
"EastAsiaFontName": "宋体",
|
|
83
|
+
"Size": 12,
|
|
84
|
+
"LineSpacingMultiple": 1.5
|
|
85
|
+
},
|
|
86
|
+
"FigureCaption": {
|
|
87
|
+
"TargetStyleName": "图标注"
|
|
88
|
+
},
|
|
89
|
+
"TableCaption": {
|
|
90
|
+
"TargetStyleName": "表标注"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 3. Render Mermaid figures
|
|
97
|
+
|
|
98
|
+
Use `scripts/render_mermaid_figure.ps1` to render Mermaid source into thesis
|
|
99
|
+
figure assets.
|
|
100
|
+
|
|
101
|
+
Example:
|
|
102
|
+
|
|
103
|
+
```powershell
|
|
104
|
+
powershell -ExecutionPolicy Bypass -File scripts/render_mermaid_figure.ps1 `
|
|
105
|
+
-InputPath .\architecture.mmd `
|
|
106
|
+
-OutputPath .\figures\architecture.svg `
|
|
107
|
+
-Theme base `
|
|
108
|
+
-Width 1800 `
|
|
109
|
+
-Height 1200 `
|
|
110
|
+
-Scale 2
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
The script:
|
|
114
|
+
|
|
115
|
+
1. Prefers local `mmdc` when it exists.
|
|
116
|
+
2. Falls back to `npx @mermaid-js/mermaid-cli` when needed.
|
|
117
|
+
3. Generates a clean academic default theme config if no config is provided.
|
|
118
|
+
4. Produces SVG, PNG, or PDF output depending on the output filename and CLI
|
|
119
|
+
behavior.
|
|
120
|
+
|
|
121
|
+
Repository example:
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
examples/architecture.sample.mmd
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
For thesis work, prefer SVG first, then convert to PNG only when the target
|
|
128
|
+
submission system or Word workflow requires raster images.
|
|
129
|
+
|
|
130
|
+
## 4. Export Word document to PDF for page audit
|
|
131
|
+
|
|
132
|
+
Use `scripts/export_word_pdf.ps1` after important formatting changes and before
|
|
133
|
+
you claim the thesis is fully checked.
|
|
134
|
+
|
|
135
|
+
Example:
|
|
136
|
+
|
|
137
|
+
```powershell
|
|
138
|
+
powershell -ExecutionPolicy Bypass -File scripts/export_word_pdf.ps1 `
|
|
139
|
+
-DocPath .\draft.docx `
|
|
140
|
+
-PdfPath .\draft.audit.pdf
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
The script:
|
|
144
|
+
|
|
145
|
+
1. Opens the document through Word COM automation.
|
|
146
|
+
2. Tries to refresh TOC and field results first.
|
|
147
|
+
3. Exports the document to PDF.
|
|
148
|
+
4. Produces a stable artifact for page-by-page review.
|
|
149
|
+
|
|
150
|
+
Use this whenever the task involves:
|
|
151
|
+
|
|
152
|
+
- headers/footers
|
|
153
|
+
- page numbers
|
|
154
|
+
- table of contents
|
|
155
|
+
- cross-references
|
|
156
|
+
- figure/table pagination
|
|
157
|
+
- final pre-delivery format review
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import json
|
|
5
|
+
import re
|
|
6
|
+
from collections import Counter
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
from zipfile import ZipFile
|
|
9
|
+
|
|
10
|
+
from docx import Document
|
|
11
|
+
from lxml import etree
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
NS = {
|
|
15
|
+
"w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
|
|
16
|
+
"r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
HEADING_STYLE_IDS = {"2", "3", "4"}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def cm_from_twips(raw: str | None) -> float | None:
|
|
24
|
+
if raw is None:
|
|
25
|
+
return None
|
|
26
|
+
return round(int(raw) / 567.0, 3)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def pt_from_half_points(raw: str | None) -> float | None:
|
|
30
|
+
if raw is None:
|
|
31
|
+
return None
|
|
32
|
+
return round(int(raw) / 2.0, 3)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def get_rel_targets(zf: ZipFile) -> dict[str, str]:
|
|
36
|
+
rels = etree.fromstring(zf.read("word/_rels/document.xml.rels"))
|
|
37
|
+
return {rel.get("Id"): rel.get("Target", "") for rel in rels}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def load_styles(zf: ZipFile) -> dict[str, dict]:
|
|
41
|
+
styles_root = etree.fromstring(zf.read("word/styles.xml"))
|
|
42
|
+
styles: dict[str, dict] = {}
|
|
43
|
+
for node in styles_root.xpath("//w:style[@w:type='paragraph']", namespaces=NS):
|
|
44
|
+
style_id = node.get(f"{{{NS['w']}}}styleId", "")
|
|
45
|
+
name = node.xpath("string(w:name/@w:val)", namespaces=NS)
|
|
46
|
+
based_on = node.xpath("string(w:basedOn/@w:val)", namespaces=NS) or None
|
|
47
|
+
ppr = node.find("w:pPr", namespaces=NS)
|
|
48
|
+
rpr = node.find("w:rPr", namespaces=NS)
|
|
49
|
+
ind = ppr.find("w:ind", namespaces=NS) if ppr is not None else None
|
|
50
|
+
spacing = ppr.find("w:spacing", namespaces=NS) if ppr is not None else None
|
|
51
|
+
styles[style_id] = {
|
|
52
|
+
"style_id": style_id,
|
|
53
|
+
"name": name,
|
|
54
|
+
"based_on": based_on,
|
|
55
|
+
"first_line": ind.get(f"{{{NS['w']}}}firstLine") if ind is not None else None,
|
|
56
|
+
"first_line_chars": ind.get(f"{{{NS['w']}}}firstLineChars") if ind is not None else None,
|
|
57
|
+
"left": ind.get(f"{{{NS['w']}}}left") if ind is not None else None,
|
|
58
|
+
"right": ind.get(f"{{{NS['w']}}}right") if ind is not None else None,
|
|
59
|
+
"space_before": spacing.get(f"{{{NS['w']}}}before") if spacing is not None else None,
|
|
60
|
+
"space_after": spacing.get(f"{{{NS['w']}}}after") if spacing is not None else None,
|
|
61
|
+
"line": spacing.get(f"{{{NS['w']}}}line") if spacing is not None else None,
|
|
62
|
+
"line_rule": spacing.get(f"{{{NS['w']}}}lineRule") if spacing is not None else None,
|
|
63
|
+
"font_ascii": (
|
|
64
|
+
rpr.find("w:rFonts", namespaces=NS).get(f"{{{NS['w']}}}ascii")
|
|
65
|
+
if rpr is not None and rpr.find("w:rFonts", namespaces=NS) is not None
|
|
66
|
+
else None
|
|
67
|
+
),
|
|
68
|
+
"font_east_asia": (
|
|
69
|
+
rpr.find("w:rFonts", namespaces=NS).get(f"{{{NS['w']}}}eastAsia")
|
|
70
|
+
if rpr is not None and rpr.find("w:rFonts", namespaces=NS) is not None
|
|
71
|
+
else None
|
|
72
|
+
),
|
|
73
|
+
"size_pt": (
|
|
74
|
+
pt_from_half_points(rpr.find("w:sz", namespaces=NS).get(f"{{{NS['w']}}}val"))
|
|
75
|
+
if rpr is not None and rpr.find("w:sz", namespaces=NS) is not None
|
|
76
|
+
else None
|
|
77
|
+
),
|
|
78
|
+
}
|
|
79
|
+
return styles
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def load_numbering(zf: ZipFile) -> dict[str, dict]:
|
|
83
|
+
if "word/numbering.xml" not in zf.namelist():
|
|
84
|
+
return {}
|
|
85
|
+
numbering_root = etree.fromstring(zf.read("word/numbering.xml"))
|
|
86
|
+
abstract_by_id: dict[str, etree._Element] = {}
|
|
87
|
+
for abstract in numbering_root.xpath("//w:abstractNum", namespaces=NS):
|
|
88
|
+
abstract_by_id[abstract.get(f"{{{NS['w']}}}abstractNumId", "")] = abstract
|
|
89
|
+
|
|
90
|
+
numbering: dict[str, dict] = {}
|
|
91
|
+
for num in numbering_root.xpath("//w:num", namespaces=NS):
|
|
92
|
+
num_id = num.get(f"{{{NS['w']}}}numId", "")
|
|
93
|
+
abstract_id = num.xpath("string(w:abstractNumId/@w:val)", namespaces=NS)
|
|
94
|
+
abstract = abstract_by_id.get(abstract_id)
|
|
95
|
+
levels = {}
|
|
96
|
+
if abstract is not None:
|
|
97
|
+
for lvl in abstract.xpath("./w:lvl", namespaces=NS):
|
|
98
|
+
ilvl = lvl.get(f"{{{NS['w']}}}ilvl", "")
|
|
99
|
+
ppr = lvl.find("w:pPr", namespaces=NS)
|
|
100
|
+
ind = ppr.find("w:ind", namespaces=NS) if ppr is not None else None
|
|
101
|
+
levels[ilvl] = {
|
|
102
|
+
"pstyle": lvl.xpath("string(w:pStyle/@w:val)", namespaces=NS) or None,
|
|
103
|
+
"left": ind.get(f"{{{NS['w']}}}left") if ind is not None else None,
|
|
104
|
+
"first_line": ind.get(f"{{{NS['w']}}}firstLine") if ind is not None else None,
|
|
105
|
+
"first_line_chars": ind.get(f"{{{NS['w']}}}firstLineChars") if ind is not None else None,
|
|
106
|
+
"hanging": ind.get(f"{{{NS['w']}}}hanging") if ind is not None else None,
|
|
107
|
+
}
|
|
108
|
+
numbering[num_id] = {
|
|
109
|
+
"num_id": num_id,
|
|
110
|
+
"abstract_num_id": abstract_id,
|
|
111
|
+
"levels": levels,
|
|
112
|
+
}
|
|
113
|
+
return numbering
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def load_sections(zf: ZipFile, rel_targets: dict[str, str]) -> list[dict]:
|
|
117
|
+
document_root = etree.fromstring(zf.read("word/document.xml"))
|
|
118
|
+
sections = []
|
|
119
|
+
for idx, sect in enumerate(document_root.xpath("//w:sectPr", namespaces=NS)):
|
|
120
|
+
pg_sz = sect.find("w:pgSz", namespaces=NS)
|
|
121
|
+
pg_mar = sect.find("w:pgMar", namespaces=NS)
|
|
122
|
+
pg_num = sect.find("w:pgNumType", namespaces=NS)
|
|
123
|
+
sections.append(
|
|
124
|
+
{
|
|
125
|
+
"index": idx,
|
|
126
|
+
"title_pg": sect.find("w:titlePg", namespaces=NS) is not None,
|
|
127
|
+
"page_width_cm": cm_from_twips(pg_sz.get(f"{{{NS['w']}}}w")) if pg_sz is not None else None,
|
|
128
|
+
"page_height_cm": cm_from_twips(pg_sz.get(f"{{{NS['w']}}}h")) if pg_sz is not None else None,
|
|
129
|
+
"top_margin_cm": cm_from_twips(pg_mar.get(f"{{{NS['w']}}}top")) if pg_mar is not None else None,
|
|
130
|
+
"bottom_margin_cm": cm_from_twips(pg_mar.get(f"{{{NS['w']}}}bottom")) if pg_mar is not None else None,
|
|
131
|
+
"left_margin_cm": cm_from_twips(pg_mar.get(f"{{{NS['w']}}}left")) if pg_mar is not None else None,
|
|
132
|
+
"right_margin_cm": cm_from_twips(pg_mar.get(f"{{{NS['w']}}}right")) if pg_mar is not None else None,
|
|
133
|
+
"pg_num_type": dict(pg_num.attrib) if pg_num is not None else None,
|
|
134
|
+
"header_refs": [
|
|
135
|
+
{
|
|
136
|
+
"type": ref.get(f"{{{NS['w']}}}type"),
|
|
137
|
+
"target": rel_targets.get(ref.get(f"{{{NS['r']}}}id"), ""),
|
|
138
|
+
}
|
|
139
|
+
for ref in sect.findall("w:headerReference", namespaces=NS)
|
|
140
|
+
],
|
|
141
|
+
"footer_refs": [
|
|
142
|
+
{
|
|
143
|
+
"type": ref.get(f"{{{NS['w']}}}type"),
|
|
144
|
+
"target": rel_targets.get(ref.get(f"{{{NS['r']}}}id"), ""),
|
|
145
|
+
}
|
|
146
|
+
for ref in sect.findall("w:footerReference", namespaces=NS)
|
|
147
|
+
],
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
return sections
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def count_ref_result_runs(p_element) -> list[dict]:
|
|
154
|
+
runs = list(p_element.xpath("./w:r", namespaces=NS))
|
|
155
|
+
in_ref = False
|
|
156
|
+
current_instr = None
|
|
157
|
+
result_count = 0
|
|
158
|
+
results = []
|
|
159
|
+
for run in runs:
|
|
160
|
+
instr = "".join(run.xpath(".//w:instrText/text()", namespaces=NS))
|
|
161
|
+
if instr and " REF " in instr:
|
|
162
|
+
current_instr = instr.strip()
|
|
163
|
+
fld = run.find("w:fldChar", namespaces=NS)
|
|
164
|
+
if fld is not None:
|
|
165
|
+
fld_type = fld.get(f"{{{NS['w']}}}fldCharType")
|
|
166
|
+
if fld_type == "separate" and current_instr:
|
|
167
|
+
in_ref = True
|
|
168
|
+
result_count = 0
|
|
169
|
+
elif fld_type == "end" and current_instr:
|
|
170
|
+
results.append(
|
|
171
|
+
{
|
|
172
|
+
"instr": current_instr,
|
|
173
|
+
"result_run_count": result_count,
|
|
174
|
+
}
|
|
175
|
+
)
|
|
176
|
+
in_ref = False
|
|
177
|
+
current_instr = None
|
|
178
|
+
continue
|
|
179
|
+
if in_ref:
|
|
180
|
+
text_nodes = run.xpath(".//w:t/text()", namespaces=NS)
|
|
181
|
+
if any(t for t in text_nodes):
|
|
182
|
+
result_count += 1
|
|
183
|
+
return results
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def load_paragraphs(docx_path: Path, zf: ZipFile) -> list[dict]:
|
|
187
|
+
doc = Document(docx_path)
|
|
188
|
+
document_root = etree.fromstring(zf.read("word/document.xml"))
|
|
189
|
+
xml_paragraphs = document_root.xpath("//w:body/w:p", namespaces=NS)
|
|
190
|
+
|
|
191
|
+
results = []
|
|
192
|
+
for idx, para in enumerate(doc.paragraphs):
|
|
193
|
+
if idx >= len(xml_paragraphs):
|
|
194
|
+
break
|
|
195
|
+
pxml = xml_paragraphs[idx]
|
|
196
|
+
ppr = pxml.find("w:pPr", namespaces=NS)
|
|
197
|
+
ind = ppr.find("w:ind", namespaces=NS) if ppr is not None else None
|
|
198
|
+
style_id = pxml.xpath("string(w:pPr/w:pStyle/@w:val)", namespaces=NS) or None
|
|
199
|
+
ref_runs = count_ref_result_runs(pxml)
|
|
200
|
+
results.append(
|
|
201
|
+
{
|
|
202
|
+
"index": idx,
|
|
203
|
+
"text": para.text.strip(),
|
|
204
|
+
"style_name": para.style.name,
|
|
205
|
+
"style_id": style_id,
|
|
206
|
+
"direct_ind": {
|
|
207
|
+
"left": ind.get(f"{{{NS['w']}}}left") if ind is not None else None,
|
|
208
|
+
"right": ind.get(f"{{{NS['w']}}}right") if ind is not None else None,
|
|
209
|
+
"firstLine": ind.get(f"{{{NS['w']}}}firstLine") if ind is not None else None,
|
|
210
|
+
"firstLineChars": ind.get(f"{{{NS['w']}}}firstLineChars") if ind is not None else None,
|
|
211
|
+
"hanging": ind.get(f"{{{NS['w']}}}hanging") if ind is not None else None,
|
|
212
|
+
},
|
|
213
|
+
"has_ref_field": bool(ref_runs),
|
|
214
|
+
"ref_field_results": ref_runs,
|
|
215
|
+
"has_drawing": bool(para._p.xpath(".//w:drawing")),
|
|
216
|
+
}
|
|
217
|
+
)
|
|
218
|
+
return results
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
def build_flags(paragraphs: list[dict], sections: list[dict]) -> dict[str, list]:
|
|
222
|
+
heading_indent_overrides = []
|
|
223
|
+
paragraphs_with_firstlinechars = []
|
|
224
|
+
suspicious_ref_fields = []
|
|
225
|
+
title_pg_sections = []
|
|
226
|
+
|
|
227
|
+
for para in paragraphs:
|
|
228
|
+
ind = para["direct_ind"]
|
|
229
|
+
if ind["firstLineChars"] not in (None, "0"):
|
|
230
|
+
paragraphs_with_firstlinechars.append(
|
|
231
|
+
{
|
|
232
|
+
"index": para["index"],
|
|
233
|
+
"style_name": para["style_name"],
|
|
234
|
+
"text": para["text"][:120],
|
|
235
|
+
"firstLineChars": ind["firstLineChars"],
|
|
236
|
+
}
|
|
237
|
+
)
|
|
238
|
+
|
|
239
|
+
if para["style_id"] in HEADING_STYLE_IDS:
|
|
240
|
+
if any(ind[k] not in (None, "0") for k in ("firstLine", "firstLineChars", "hanging")):
|
|
241
|
+
heading_indent_overrides.append(
|
|
242
|
+
{
|
|
243
|
+
"index": para["index"],
|
|
244
|
+
"style_name": para["style_name"],
|
|
245
|
+
"style_id": para["style_id"],
|
|
246
|
+
"text": para["text"][:120],
|
|
247
|
+
"direct_ind": ind,
|
|
248
|
+
}
|
|
249
|
+
)
|
|
250
|
+
|
|
251
|
+
for ref in para["ref_field_results"]:
|
|
252
|
+
if ref["result_run_count"] > 1:
|
|
253
|
+
suspicious_ref_fields.append(
|
|
254
|
+
{
|
|
255
|
+
"index": para["index"],
|
|
256
|
+
"text": para["text"][:120],
|
|
257
|
+
"instr": ref["instr"],
|
|
258
|
+
"result_run_count": ref["result_run_count"],
|
|
259
|
+
}
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
for sec in sections:
|
|
263
|
+
if sec["title_pg"]:
|
|
264
|
+
title_pg_sections.append(sec)
|
|
265
|
+
|
|
266
|
+
return {
|
|
267
|
+
"heading_indent_overrides": heading_indent_overrides,
|
|
268
|
+
"paragraphs_with_firstLineChars": paragraphs_with_firstlinechars,
|
|
269
|
+
"suspicious_ref_fields": suspicious_ref_fields,
|
|
270
|
+
"title_pg_sections": title_pg_sections,
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
def build_report(docx_path: Path) -> dict:
|
|
275
|
+
with ZipFile(docx_path) as zf:
|
|
276
|
+
rel_targets = get_rel_targets(zf)
|
|
277
|
+
styles = load_styles(zf)
|
|
278
|
+
numbering = load_numbering(zf)
|
|
279
|
+
sections = load_sections(zf, rel_targets)
|
|
280
|
+
paragraphs = load_paragraphs(docx_path, zf)
|
|
281
|
+
|
|
282
|
+
style_counts = Counter(p["style_name"] for p in paragraphs if p["text"])
|
|
283
|
+
flags = build_flags(paragraphs, sections)
|
|
284
|
+
|
|
285
|
+
return {
|
|
286
|
+
"input": str(docx_path),
|
|
287
|
+
"summary": {
|
|
288
|
+
"paragraph_count": len(paragraphs),
|
|
289
|
+
"nonempty_style_counts": dict(style_counts),
|
|
290
|
+
"section_count": len(sections),
|
|
291
|
+
"style_count": len(styles),
|
|
292
|
+
"numbering_count": len(numbering),
|
|
293
|
+
},
|
|
294
|
+
"styles": {
|
|
295
|
+
sid: styles[sid]
|
|
296
|
+
for sid in sorted(styles)
|
|
297
|
+
if sid in {"1", "2", "3", "4"} or styles[sid]["name"] in {
|
|
298
|
+
"目录标题",
|
|
299
|
+
"中文摘要标题",
|
|
300
|
+
"英文摘要标题",
|
|
301
|
+
"参考文献",
|
|
302
|
+
"参考文献标题",
|
|
303
|
+
"致谢标题",
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"numbering": numbering,
|
|
307
|
+
"sections": sections,
|
|
308
|
+
"flags": flags,
|
|
309
|
+
"paragraph_samples": [
|
|
310
|
+
p
|
|
311
|
+
for p in paragraphs
|
|
312
|
+
if p["style_id"] in {"2", "3", "4"} or p["text"] in {"目录", "摘 要", "Abstract", "参考文献", "致谢"}
|
|
313
|
+
],
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
def build_text_report(report: dict) -> str:
|
|
318
|
+
lines: list[str] = []
|
|
319
|
+
lines.append("DOCX / OOXML Thesis Audit Report")
|
|
320
|
+
lines.append(f"input: {report['input']}")
|
|
321
|
+
lines.append("")
|
|
322
|
+
|
|
323
|
+
summary = report["summary"]
|
|
324
|
+
lines.append("Summary")
|
|
325
|
+
lines.append(f"- paragraphs: {summary['paragraph_count']}")
|
|
326
|
+
lines.append(f"- sections: {summary['section_count']}")
|
|
327
|
+
lines.append(f"- paragraph styles: {summary['style_count']}")
|
|
328
|
+
lines.append(f"- numbering definitions: {summary['numbering_count']}")
|
|
329
|
+
lines.append("")
|
|
330
|
+
|
|
331
|
+
lines.append("Style Counts")
|
|
332
|
+
for name, count in sorted(summary["nonempty_style_counts"].items()):
|
|
333
|
+
lines.append(f"- {name}: {count}")
|
|
334
|
+
lines.append("")
|
|
335
|
+
|
|
336
|
+
flags = report["flags"]
|
|
337
|
+
|
|
338
|
+
lines.append("Risk Flags")
|
|
339
|
+
lines.append(f"- heading_indent_overrides: {len(flags['heading_indent_overrides'])}")
|
|
340
|
+
lines.append(f"- paragraphs_with_firstLineChars: {len(flags['paragraphs_with_firstLineChars'])}")
|
|
341
|
+
lines.append(f"- suspicious_ref_fields: {len(flags['suspicious_ref_fields'])}")
|
|
342
|
+
lines.append(f"- title_pg_sections: {len(flags['title_pg_sections'])}")
|
|
343
|
+
lines.append("")
|
|
344
|
+
|
|
345
|
+
if flags["heading_indent_overrides"]:
|
|
346
|
+
lines.append("Heading Indent Overrides")
|
|
347
|
+
for row in flags["heading_indent_overrides"][:30]:
|
|
348
|
+
lines.append(
|
|
349
|
+
f"- para {row['index']} | {row['style_name']} | {row['text']} | direct_ind={row['direct_ind']}"
|
|
350
|
+
)
|
|
351
|
+
lines.append("")
|
|
352
|
+
|
|
353
|
+
if flags["paragraphs_with_firstLineChars"]:
|
|
354
|
+
lines.append("Paragraphs With firstLineChars")
|
|
355
|
+
for row in flags["paragraphs_with_firstLineChars"][:30]:
|
|
356
|
+
lines.append(
|
|
357
|
+
f"- para {row['index']} | {row['style_name']} | firstLineChars={row['firstLineChars']} | {row['text']}"
|
|
358
|
+
)
|
|
359
|
+
lines.append("")
|
|
360
|
+
|
|
361
|
+
if flags["suspicious_ref_fields"]:
|
|
362
|
+
lines.append("Suspicious REF Fields")
|
|
363
|
+
for row in flags["suspicious_ref_fields"][:30]:
|
|
364
|
+
lines.append(
|
|
365
|
+
f"- para {row['index']} | result_run_count={row['result_run_count']} | instr={row['instr']} | {row['text']}"
|
|
366
|
+
)
|
|
367
|
+
lines.append("")
|
|
368
|
+
|
|
369
|
+
if flags["title_pg_sections"]:
|
|
370
|
+
lines.append("Sections With titlePg")
|
|
371
|
+
for sec in flags["title_pg_sections"]:
|
|
372
|
+
lines.append(
|
|
373
|
+
f"- section {sec['index']} | page_num={sec['pg_num_type']} | header_refs={sec['header_refs']} | footer_refs={sec['footer_refs']}"
|
|
374
|
+
)
|
|
375
|
+
lines.append("")
|
|
376
|
+
|
|
377
|
+
lines.append("Tracked Styles")
|
|
378
|
+
for sid, style in sorted(report["styles"].items()):
|
|
379
|
+
lines.append(
|
|
380
|
+
f"- styleId {sid} | {style['name']} | basedOn={style['based_on']} | firstLine={style['first_line']} | firstLineChars={style['first_line_chars']} | left={style['left']} | right={style['right']}"
|
|
381
|
+
)
|
|
382
|
+
lines.append("")
|
|
383
|
+
|
|
384
|
+
lines.append("Section Summary")
|
|
385
|
+
for sec in report["sections"]:
|
|
386
|
+
lines.append(
|
|
387
|
+
f"- section {sec['index']} | titlePg={sec['title_pg']} | margins(cm)={sec['top_margin_cm']},{sec['right_margin_cm']},{sec['bottom_margin_cm']},{sec['left_margin_cm']} | pageNum={sec['pg_num_type']}"
|
|
388
|
+
)
|
|
389
|
+
lines.append("")
|
|
390
|
+
|
|
391
|
+
lines.append("Paragraph Samples")
|
|
392
|
+
for row in report["paragraph_samples"][:60]:
|
|
393
|
+
lines.append(
|
|
394
|
+
f"- para {row['index']} | style={row['style_name']}({row['style_id']}) | direct_ind={row['direct_ind']} | text={row['text']}"
|
|
395
|
+
)
|
|
396
|
+
|
|
397
|
+
return "\n".join(lines) + "\n"
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
def main() -> None:
|
|
401
|
+
parser = argparse.ArgumentParser(description="Audit a thesis DOCX for hidden OOXML formatting pitfalls.")
|
|
402
|
+
parser.add_argument("input_path", type=Path, help="Path to the DOCX file.")
|
|
403
|
+
parser.add_argument(
|
|
404
|
+
"--output_json",
|
|
405
|
+
type=Path,
|
|
406
|
+
default=None,
|
|
407
|
+
help="Optional path for the JSON report. Defaults next to the input as <name>.audit.json",
|
|
408
|
+
)
|
|
409
|
+
parser.add_argument(
|
|
410
|
+
"--output_txt",
|
|
411
|
+
type=Path,
|
|
412
|
+
default=None,
|
|
413
|
+
help="Optional path for a human-readable text report. Defaults next to the input as <name>.audit.txt",
|
|
414
|
+
)
|
|
415
|
+
args = parser.parse_args()
|
|
416
|
+
|
|
417
|
+
input_path = args.input_path.resolve()
|
|
418
|
+
output_json = args.output_json or input_path.with_suffix(".audit.json")
|
|
419
|
+
output_txt = args.output_txt or input_path.with_suffix(".audit.txt")
|
|
420
|
+
|
|
421
|
+
report = build_report(input_path)
|
|
422
|
+
output_json.write_text(json.dumps(report, ensure_ascii=False, indent=2), encoding="utf-8")
|
|
423
|
+
output_txt.write_text(build_text_report(report), encoding="utf-8")
|
|
424
|
+
print(output_json)
|
|
425
|
+
print(output_txt)
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
if __name__ == "__main__":
|
|
429
|
+
main()
|