@rosetears/aili-pi 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +109 -0
- package/THIRD_PARTY_NOTICES.md +64 -0
- package/extensions/index.ts +6 -0
- package/install.sh +5 -0
- package/manifests/adapter-evidence.json +45 -0
- package/manifests/capabilities.json +124 -0
- package/manifests/live-verification.json +26 -0
- package/manifests/provenance.json +71 -0
- package/manifests/roles.json +474 -0
- package/manifests/sbom.json +7797 -0
- package/manifests/skill-compatibility.json +8100 -0
- package/manifests/subagent-provenance.json +37 -0
- package/package.json +91 -0
- package/prompts/build.md +8 -0
- package/prompts/define.md +8 -0
- package/prompts/ideate.md +8 -0
- package/prompts/local-review.md +8 -0
- package/prompts/ship.md +8 -0
- package/roles/agent-evaluator.md +47 -0
- package/roles/ai-regression-scout.md +47 -0
- package/roles/browser-qa-runner.md +47 -0
- package/roles/code-reviewer.md +47 -0
- package/roles/code-scout.md +47 -0
- package/roles/convergence-reviewer.md +55 -0
- package/roles/doc-researcher.md +47 -0
- package/roles/e2e-artifact-runner.md +47 -0
- package/roles/implementer.md +47 -0
- package/roles/opensource-sanitizer.md +47 -0
- package/roles/plan-auditor.md +47 -0
- package/roles/pr-test-analyzer.md +47 -0
- package/roles/security-auditor.md +47 -0
- package/roles/silent-failure-reviewer.md +47 -0
- package/roles/spec-miner.md +47 -0
- package/roles/test-coverage-reviewer.md +47 -0
- package/roles/test-engineer.md +48 -0
- package/roles/web-performance-auditor.md +47 -0
- package/roles/web-researcher.md +47 -0
- package/scripts/apply-adapter-evidence.ts +73 -0
- package/scripts/bootstrap.sh +180 -0
- package/scripts/generate-provenance.ts +143 -0
- package/scripts/local-package-e2e.ts +51 -0
- package/scripts/sync-roles.ts +213 -0
- package/scripts/sync-skills.ts +356 -0
- package/scripts/validate-runtime.ts +11 -0
- package/skills/academic-paper-review/SKILL.md +81 -0
- package/skills/agents-md-initialization/SKILL.md +121 -0
- package/skills/agents-md-initialization/references/agents-template.md +83 -0
- package/skills/agents-md-initialization/references/agents_md.py +215 -0
- package/skills/ai-regression-scout/SKILL.md +24 -0
- package/skills/aili-delivery-flow/SKILL.md +125 -0
- package/skills/aili-delivery-flow/references/artifact-contracts.md +138 -0
- package/skills/aili-delivery-flow/references/backend-routing.md +40 -0
- package/skills/aili-delivery-flow/references/build-execution-loop.md +113 -0
- package/skills/aili-delivery-flow/references/build-goal-mode.md +3 -0
- package/skills/aili-delivery-flow/references/direct-vs-delegated-work.md +38 -0
- package/skills/aili-delivery-flow/references/implementation-packages.md +54 -0
- package/skills/aili-delivery-flow/references/lifecycle.md +127 -0
- package/skills/aili-delivery-flow/references/protocols/acceptance-test-plan.md +18 -0
- package/skills/aili-delivery-flow/references/protocols/alignment-questionnaire.md +10 -0
- package/skills/aili-delivery-flow/references/protocols/closeout-report.md +101 -0
- package/skills/aili-delivery-flow/references/protocols/compact-evidence-pack.md +46 -0
- package/skills/aili-delivery-flow/references/protocols/idea-brief.md +10 -0
- package/skills/aili-delivery-flow/references/protocols/implementation-package.md +53 -0
- package/skills/aili-delivery-flow/references/protocols/research-evidence-pack.md +19 -0
- package/skills/aili-delivery-flow/references/protocols/review-report.md +7 -0
- package/skills/aili-delivery-flow/references/protocols/spec-draft.md +12 -0
- package/skills/aili-delivery-flow/references/protocols/subagent-result.md +60 -0
- package/skills/aili-delivery-flow/references/protocols/subagent-task-packet.md +29 -0
- package/skills/aili-delivery-flow/references/protocols/worktree-context.md +109 -0
- package/skills/aili-delivery-flow/references/questionnaire-policy.md +62 -0
- package/skills/aili-delivery-flow/references/review-repair-loop.md +16 -0
- package/skills/aili-delivery-flow/references/test-document-policy.md +35 -0
- package/skills/android-native-dev/SKILL.md +722 -0
- package/skills/android-native-dev/references/accessibility.md +209 -0
- package/skills/android-native-dev/references/adaptive-screens.md +231 -0
- package/skills/android-native-dev/references/design-style-guide.md +365 -0
- package/skills/android-native-dev/references/functional-requirements.md +229 -0
- package/skills/android-native-dev/references/motion-system.md +203 -0
- package/skills/android-native-dev/references/performance-stability.md +223 -0
- package/skills/android-native-dev/references/privacy-security.md +244 -0
- package/skills/android-native-dev/references/testing.md +554 -0
- package/skills/android-native-dev/references/visual-design.md +246 -0
- package/skills/api-and-interface-design/SKILL.md +318 -0
- package/skills/browser-qa/SKILL.md +32 -0
- package/skills/browser-testing-with-devtools/SKILL.md +323 -0
- package/skills/build-failure-repair/SKILL.md +49 -0
- package/skills/chart-visualization/SKILL.md +73 -0
- package/skills/ci-cd-and-automation/SKILL.md +353 -0
- package/skills/code-review-and-quality/SKILL.md +375 -0
- package/skills/code-review-quality-gates/SKILL.md +132 -0
- package/skills/code-simplification/SKILL.md +371 -0
- package/skills/comment-accuracy-review/SKILL.md +37 -0
- package/skills/consulting-analysis/SKILL.md +69 -0
- package/skills/context-engineering/SKILL.md +375 -0
- package/skills/coverage-review/SKILL.md +24 -0
- package/skills/data-analysis/SKILL.md +74 -0
- package/skills/deprecation-and-migration/SKILL.md +222 -0
- package/skills/documentation-and-adrs/SKILL.md +330 -0
- package/skills/e2e-artifact-handling/SKILL.md +30 -0
- package/skills/evidence-scoped-retrospective/SKILL.md +156 -0
- package/skills/explain-by-allegory/SKILL.md +99 -0
- package/skills/flutter-dev/SKILL.md +162 -0
- package/skills/flutter-dev/references/animations.md +497 -0
- package/skills/flutter-dev/references/bloc-state.md +281 -0
- package/skills/flutter-dev/references/forms.md +656 -0
- package/skills/flutter-dev/references/gorouter-navigation.md +257 -0
- package/skills/flutter-dev/references/localization.md +510 -0
- package/skills/flutter-dev/references/networking.md +566 -0
- package/skills/flutter-dev/references/performance.md +305 -0
- package/skills/flutter-dev/references/platform-specific.md +417 -0
- package/skills/flutter-dev/references/project-structure.md +273 -0
- package/skills/flutter-dev/references/riverpod-state.md +232 -0
- package/skills/flutter-dev/references/testing.md +364 -0
- package/skills/flutter-dev/references/widget-patterns.md +233 -0
- package/skills/frontend-dev/SKILL.md +468 -0
- package/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/frontend-dev/references/asset-prompt-guide.md +43 -0
- package/skills/frontend-dev/references/env-setup.md +33 -0
- package/skills/frontend-dev/references/minimax-cli-reference.md +133 -0
- package/skills/frontend-dev/references/minimax-image-guide.md +65 -0
- package/skills/frontend-dev/references/minimax-music-guide.md +216 -0
- package/skills/frontend-dev/references/minimax-tts-guide.md +78 -0
- package/skills/frontend-dev/references/minimax-video-guide.md +82 -0
- package/skills/frontend-dev/references/minimax-voice-catalog.md +685 -0
- package/skills/frontend-dev/references/motion-recipes.md +407 -0
- package/skills/frontend-dev/references/troubleshooting.md +85 -0
- package/skills/frontend-dev/scripts/minimax_image.py +137 -0
- package/skills/frontend-dev/scripts/minimax_music.py +157 -0
- package/skills/frontend-dev/scripts/minimax_tts.py +127 -0
- package/skills/frontend-dev/scripts/minimax_video.py +187 -0
- package/skills/frontend-dev/templates/generator_template.js +223 -0
- package/skills/frontend-dev/templates/viewer.html +599 -0
- package/skills/frontend-ui-engineering/SKILL.md +367 -0
- package/skills/fullstack-dev/SKILL.md +819 -0
- package/skills/fullstack-dev/references/api-design.md +444 -0
- package/skills/fullstack-dev/references/auth-flow.md +165 -0
- package/skills/fullstack-dev/references/db-schema.md +706 -0
- package/skills/fullstack-dev/references/django-best-practices.md +466 -0
- package/skills/fullstack-dev/references/environment-management.md +78 -0
- package/skills/fullstack-dev/references/release-checklist.md +278 -0
- package/skills/fullstack-dev/references/technology-selection.md +254 -0
- package/skills/fullstack-dev/references/testing-strategy.md +404 -0
- package/skills/git-workflow-and-versioning/SKILL.md +446 -0
- package/skills/github-evidence-triage/SKILL.md +115 -0
- package/skills/harness-evolution/SKILL.md +59 -0
- package/skills/harness-evolution/references/activation-matrix.md +13 -0
- package/skills/harness-evolution/references/approval-policy.md +20 -0
- package/skills/harness-evolution/references/change-report-template.md +33 -0
- package/skills/harness-evolution/references/component-taxonomy.md +19 -0
- package/skills/harness-evolution/references/verdict-policy.md +13 -0
- package/skills/harness-issue-triage/SKILL.md +72 -0
- package/skills/harness-issue-triage/references/component-diagnosis.md +25 -0
- package/skills/harness-issue-triage/references/triage-report-template.md +34 -0
- package/skills/harness-optimization-audit/SKILL.md +125 -0
- package/skills/idea-refine/SKILL.md +191 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/SKILL.upstream.md +178 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/examples.md +238 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/frameworks.md +99 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/refinement-criteria.md +113 -0
- package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/scripts/idea-refine.upstream.sh +15 -0
- package/skills/incremental-implementation/SKILL.md +252 -0
- package/skills/ios-application-dev/SKILL.md +212 -0
- package/skills/ios-application-dev/references/accessibility.md +259 -0
- package/skills/ios-application-dev/references/graphics-animation.md +350 -0
- package/skills/ios-application-dev/references/layout-system.md +199 -0
- package/skills/ios-application-dev/references/metal-shader.md +178 -0
- package/skills/ios-application-dev/references/navigation-patterns.md +175 -0
- package/skills/ios-application-dev/references/swift-coding-standards.md +757 -0
- package/skills/ios-application-dev/references/swiftui-design-guidelines.md +1167 -0
- package/skills/ios-application-dev/references/system-integration.md +401 -0
- package/skills/ios-application-dev/references/uikit-components.md +297 -0
- package/skills/local-review-gate/SKILL.md +207 -0
- package/skills/local-review-gate/references/addyosmani-code-review-rubric.md +33 -0
- package/skills/local-review-gate/references/codex-github-compatibility.md +26 -0
- package/skills/local-review-gate/references/ecc-code-review-adaptation.md +40 -0
- package/skills/local-review-gate/references/graphify-local-review.md +33 -0
- package/skills/local-review-gate/references/orchestration-adaptation.md +51 -0
- package/skills/local-review-gate/references/review-repair-lane-adaptation.md +46 -0
- package/skills/local-review-gate/references/upstream-provenance.md +61 -0
- package/skills/mature-project-pattern-research/SKILL.md +155 -0
- package/skills/mature-project-pattern-research/references/research-rubric.md +45 -0
- package/skills/minimax-docx/LICENSE +21 -0
- package/skills/minimax-docx/SKILL.md +273 -0
- package/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
- package/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
- package/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
- package/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
- package/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
- package/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
- package/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
- package/skills/minimax-docx/references/cjk_typography.md +357 -0
- package/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
- package/skills/minimax-docx/references/comments_guide.md +191 -0
- package/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
- package/skills/minimax-docx/references/design_principles.md +819 -0
- package/skills/minimax-docx/references/openxml_element_order.md +308 -0
- package/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
- package/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
- package/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
- package/skills/minimax-docx/references/openxml_namespaces.md +82 -0
- package/skills/minimax-docx/references/openxml_units.md +72 -0
- package/skills/minimax-docx/references/scenario_a_create.md +284 -0
- package/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
- package/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
- package/skills/minimax-docx/references/track_changes_guide.md +200 -0
- package/skills/minimax-docx/references/troubleshooting.md +506 -0
- package/skills/minimax-docx/references/typography_guide.md +294 -0
- package/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
- package/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
- package/skills/minimax-docx/scripts/docx_preview.sh +37 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
- package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
- package/skills/minimax-docx/scripts/env_check.sh +196 -0
- package/skills/minimax-docx/scripts/setup.ps1 +274 -0
- package/skills/minimax-docx/scripts/setup.sh +504 -0
- package/skills/minimax-pdf/README.md +222 -0
- package/skills/minimax-pdf/SKILL.md +218 -0
- package/skills/minimax-pdf/design/design.md +381 -0
- package/skills/minimax-pdf/scripts/cover.py +1579 -0
- package/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
- package/skills/minimax-pdf/scripts/fill_write.py +242 -0
- package/skills/minimax-pdf/scripts/make.sh +491 -0
- package/skills/minimax-pdf/scripts/merge.py +112 -0
- package/skills/minimax-pdf/scripts/palette.py +521 -0
- package/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
- package/skills/minimax-pdf/scripts/render_body.py +1052 -0
- package/skills/minimax-pdf/scripts/render_cover.js +111 -0
- package/skills/minimax-xlsx/SKILL.md +156 -0
- package/skills/minimax-xlsx/references/create.md +691 -0
- package/skills/minimax-xlsx/references/edit.md +684 -0
- package/skills/minimax-xlsx/references/fix.md +37 -0
- package/skills/minimax-xlsx/references/format.md +768 -0
- package/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
- package/skills/minimax-xlsx/references/read-analyze.md +97 -0
- package/skills/minimax-xlsx/references/validate.md +772 -0
- package/skills/minimax-xlsx/scripts/formula_check.py +422 -0
- package/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
- package/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
- package/skills/minimax-xlsx/scripts/style_audit.py +575 -0
- package/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
- package/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
- package/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
- package/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
- package/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
- package/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
- package/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
- package/skills/newsletter-generation/SKILL.md +71 -0
- package/skills/oss-release-readiness/SKILL.md +47 -0
- package/skills/parallel-subagent-dispatch/SKILL.md +58 -0
- package/skills/performance-optimization/SKILL.md +364 -0
- package/skills/planning-and-task-breakdown/SKILL.md +290 -0
- package/skills/pptx-generator/SKILL.md +275 -0
- package/skills/pptx-generator/references/design-system.md +392 -0
- package/skills/pptx-generator/references/editing.md +162 -0
- package/skills/pptx-generator/references/pitfalls.md +112 -0
- package/skills/pptx-generator/references/pptxgenjs.md +420 -0
- package/skills/pptx-generator/references/slide-types.md +413 -0
- package/skills/pr-test-analysis/SKILL.md +24 -0
- package/skills/react-native-dev/SKILL.md +180 -0
- package/skills/react-native-dev/references/animations.md +254 -0
- package/skills/react-native-dev/references/components.md +124 -0
- package/skills/react-native-dev/references/engineering.md +527 -0
- package/skills/react-native-dev/references/forms.md +300 -0
- package/skills/react-native-dev/references/native-capabilities.md +163 -0
- package/skills/react-native-dev/references/navigation.md +271 -0
- package/skills/react-native-dev/references/networking.md +346 -0
- package/skills/react-native-dev/references/performance.md +215 -0
- package/skills/react-native-dev/references/state-management.md +230 -0
- package/skills/react-native-dev/references/styling.md +117 -0
- package/skills/react-native-dev/references/testing.md +341 -0
- package/skills/requirements-grilling/SKILL.md +447 -0
- package/skills/requirements-grilling/references/ADR-FORMAT.md +46 -0
- package/skills/requirements-grilling/references/CONTEXT-FORMAT.md +41 -0
- package/skills/requirements-grilling/references/INTERVIEW-PACKET-FORMAT.md +62 -0
- package/skills/requirements-grilling/references/MIT-LICENSE-MATT-POCOCK.md +25 -0
- package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
- package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
- package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/interview-me/SKILL.upstream.md +225 -0
- package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/LICENSE +21 -0
- package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/NOTICE.md +12 -0
- package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/batch-grill-me/SKILL.upstream.md +15 -0
- package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grill-me/SKILL.upstream.md +7 -0
- package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grilling/SKILL.upstream.md +12 -0
- package/skills/review-pipeline/SKILL.md +38 -0
- package/skills/rose-memory/SKILL.md +210 -0
- package/skills/rose-memory/references/README.md +48 -0
- package/skills/rose-memory/references/memory_cli.py +2384 -0
- package/skills/rose-memory/references/schema.sql +315 -0
- package/skills/security-and-hardening/SKILL.md +369 -0
- package/skills/session-handoff/SKILL.md +88 -0
- package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE +21 -0
- package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md +9 -0
- package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/handoff/SKILL.upstream.md +16 -0
- package/skills/session-handoff/scripts/session_handoff.py +764 -0
- package/skills/shader-dev/SKILL.md +316 -0
- package/skills/shader-dev/reference/ambient-occlusion.md +382 -0
- package/skills/shader-dev/reference/analytic-ray-tracing.md +651 -0
- package/skills/shader-dev/reference/anti-aliasing.md +71 -0
- package/skills/shader-dev/reference/atmospheric-scattering.md +571 -0
- package/skills/shader-dev/reference/camera-effects.md +80 -0
- package/skills/shader-dev/reference/cellular-automata.md +635 -0
- package/skills/shader-dev/reference/color-palette.md +481 -0
- package/skills/shader-dev/reference/csg-boolean-operations.md +466 -0
- package/skills/shader-dev/reference/domain-repetition.md +436 -0
- package/skills/shader-dev/reference/domain-warping.md +419 -0
- package/skills/shader-dev/reference/fluid-simulation.md +425 -0
- package/skills/shader-dev/reference/fractal-rendering.md +525 -0
- package/skills/shader-dev/reference/lighting-model.md +639 -0
- package/skills/shader-dev/reference/matrix-transform.md +535 -0
- package/skills/shader-dev/reference/multipass-buffer.md +571 -0
- package/skills/shader-dev/reference/normal-estimation.md +418 -0
- package/skills/shader-dev/reference/particle-system.md +589 -0
- package/skills/shader-dev/reference/path-tracing-gi.md +602 -0
- package/skills/shader-dev/reference/polar-uv-manipulation.md +521 -0
- package/skills/shader-dev/reference/post-processing.md +375 -0
- package/skills/shader-dev/reference/procedural-2d-pattern.md +439 -0
- package/skills/shader-dev/reference/procedural-noise.md +551 -0
- package/skills/shader-dev/reference/ray-marching.md +396 -0
- package/skills/shader-dev/reference/sdf-2d.md +724 -0
- package/skills/shader-dev/reference/sdf-3d.md +805 -0
- package/skills/shader-dev/reference/sdf-tricks.md +63 -0
- package/skills/shader-dev/reference/shadow-techniques.md +476 -0
- package/skills/shader-dev/reference/simulation-physics.md +644 -0
- package/skills/shader-dev/reference/sound-synthesis.md +578 -0
- package/skills/shader-dev/reference/terrain-rendering.md +839 -0
- package/skills/shader-dev/reference/texture-mapping-advanced.md +87 -0
- package/skills/shader-dev/reference/texture-sampling.md +553 -0
- package/skills/shader-dev/reference/volumetric-rendering.md +608 -0
- package/skills/shader-dev/reference/voronoi-cellular-noise.md +486 -0
- package/skills/shader-dev/reference/voxel-rendering.md +701 -0
- package/skills/shader-dev/reference/water-ocean.md +445 -0
- package/skills/shader-dev/reference/webgl-pitfalls.md +41 -0
- package/skills/shader-dev/techniques/ambient-occlusion.md +364 -0
- package/skills/shader-dev/techniques/analytic-ray-tracing.md +542 -0
- package/skills/shader-dev/techniques/anti-aliasing.md +124 -0
- package/skills/shader-dev/techniques/atmospheric-scattering.md +522 -0
- package/skills/shader-dev/techniques/camera-effects.md +115 -0
- package/skills/shader-dev/techniques/cellular-automata.md +531 -0
- package/skills/shader-dev/techniques/color-palette.md +380 -0
- package/skills/shader-dev/techniques/csg-boolean-operations.md +491 -0
- package/skills/shader-dev/techniques/domain-repetition.md +333 -0
- package/skills/shader-dev/techniques/domain-warping.md +414 -0
- package/skills/shader-dev/techniques/fluid-simulation.md +1175 -0
- package/skills/shader-dev/techniques/fractal-rendering.md +436 -0
- package/skills/shader-dev/techniques/lighting-model.md +527 -0
- package/skills/shader-dev/techniques/matrix-transform.md +455 -0
- package/skills/shader-dev/techniques/multipass-buffer.md +922 -0
- package/skills/shader-dev/techniques/normal-estimation.md +318 -0
- package/skills/shader-dev/techniques/particle-system.md +1203 -0
- package/skills/shader-dev/techniques/path-tracing-gi.md +623 -0
- package/skills/shader-dev/techniques/polar-uv-manipulation.md +373 -0
- package/skills/shader-dev/techniques/post-processing.md +788 -0
- package/skills/shader-dev/techniques/procedural-2d-pattern.md +346 -0
- package/skills/shader-dev/techniques/procedural-noise.md +554 -0
- package/skills/shader-dev/techniques/ray-marching.md +467 -0
- package/skills/shader-dev/techniques/sdf-2d.md +631 -0
- package/skills/shader-dev/techniques/sdf-3d.md +589 -0
- package/skills/shader-dev/techniques/sdf-tricks.md +100 -0
- package/skills/shader-dev/techniques/shadow-techniques.md +776 -0
- package/skills/shader-dev/techniques/simulation-physics.md +1542 -0
- package/skills/shader-dev/techniques/sound-synthesis.md +490 -0
- package/skills/shader-dev/techniques/terrain-rendering.md +408 -0
- package/skills/shader-dev/techniques/texture-mapping-advanced.md +121 -0
- package/skills/shader-dev/techniques/texture-sampling.md +382 -0
- package/skills/shader-dev/techniques/volumetric-rendering.md +375 -0
- package/skills/shader-dev/techniques/voronoi-cellular-noise.md +458 -0
- package/skills/shader-dev/techniques/voxel-rendering.md +985 -0
- package/skills/shader-dev/techniques/water-ocean.md +490 -0
- package/skills/shader-dev/techniques/webgl-pitfalls.md +170 -0
- package/skills/shipping-and-launch/SKILL.md +334 -0
- package/skills/silent-failure-hunting/SKILL.md +24 -0
- package/skills/source-driven-development/SKILL.md +223 -0
- package/skills/spec-driven-development/SKILL.md +235 -0
- package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
- package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
- package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/spec-driven-development/SKILL.upstream.md +206 -0
- package/skills/strategy-stress-test/SKILL.md +185 -0
- package/skills/systematic-literature-review/SKILL.md +77 -0
- package/skills/test-document-generator/SKILL.md +152 -0
- package/skills/test-document-generator/references/test-document-template.md +45 -0
- package/skills/test-driven-development/SKILL.md +399 -0
- package/skills/write-skills/GLOSSARY.md +113 -0
- package/skills/write-skills/SKILL.md +133 -0
- package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE +21 -0
- package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md +9 -0
- package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/GLOSSARY.md +201 -0
- package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/SKILL.upstream.md +83 -0
- package/src/runtime/child-guard.ts +70 -0
- package/src/runtime/conflicts.ts +25 -0
- package/src/runtime/contracts.ts +9 -0
- package/src/runtime/doctor.ts +134 -0
- package/src/runtime/global-resources.ts +152 -0
- package/src/runtime/index.ts +23 -0
- package/src/runtime/lifecycle.ts +19 -0
- package/src/runtime/native-integrations.ts +44 -0
- package/src/runtime/path-boundaries.ts +69 -0
- package/src/runtime/registry.ts +213 -0
- package/src/runtime/roles.ts +64 -0
- package/src/runtime/rose-context.ts +24 -0
- package/src/runtime/subagents.ts +426 -0
- package/templates/APPEND_SYSTEM.md +12 -0
- package/upstream/aili-workflows.lock.json +3226 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-simplification
|
|
3
|
+
description: Simplify a bounded code area when the user explicitly requests behavior-preserving refactoring or a named complexity/readability problem is the accepted task; do not trigger automatically after implementation, during every review, for adjacent cleanup, or when behavior may change.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Simplification
|
|
7
|
+
|
|
8
|
+
> Inspired by the [Claude Code Simplifier plugin](https://github.com/anthropics/claude-plugins-official/blob/main/plugins/code-simplifier/agents/code-simplifier.md). Adapted here as a model-agnostic, process-driven skill for any AI coding agent.
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Simplify code by reducing complexity while preserving exact behavior. The goal is not fewer lines — it's code that is easier to read, understand, modify, and debug. Every simplification must pass a simple test: "Would a new team member understand this faster than the original?"
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- The user explicitly requests a behavior-preserving simplification/refactor
|
|
17
|
+
- A named review finding or accepted task identifies a concrete readability/complexity problem
|
|
18
|
+
- When you encounter deeply nested logic, long functions, or unclear names
|
|
19
|
+
- When refactoring code written under time pressure
|
|
20
|
+
- When consolidating related logic scattered across files
|
|
21
|
+
- A bounded accepted cleanup identifies duplication or inconsistency
|
|
22
|
+
|
|
23
|
+
**When NOT to use:**
|
|
24
|
+
|
|
25
|
+
- Code is already clean and readable — don't simplify for the sake of it
|
|
26
|
+
- You don't understand what the code does yet — comprehend before you simplify
|
|
27
|
+
- The code is performance-critical and the "simpler" version would be measurably slower
|
|
28
|
+
- You're about to rewrite the module entirely — simplifying throwaway code wastes effort
|
|
29
|
+
|
|
30
|
+
ROSE/`aili-delivery-flow` owns scope, material decisions, approvals, Git actions, and verification. This skill runs one bounded simplification loop and does not invoke review, Git, testing, or another process skill. Return `complete`, `need-user`, `need-evidence`, `material-delta`, `blocked`, or `Unverified`; canonical claim-matched verification wins.
|
|
31
|
+
|
|
32
|
+
## The Five Principles
|
|
33
|
+
|
|
34
|
+
### 1. Preserve Behavior Exactly
|
|
35
|
+
|
|
36
|
+
Don't change what the code does — only how it expresses it. All inputs, outputs, side effects, error behavior, and edge cases must remain identical. If you're not sure a simplification preserves behavior, don't make it.
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
SELF-CHECK EACH CANDIDATE CHANGE:
|
|
40
|
+
→ Does this produce the same output for every input?
|
|
41
|
+
→ Does this maintain the same error behavior?
|
|
42
|
+
→ Does this preserve the same side effects and ordering?
|
|
43
|
+
→ What focused evidence can prove behavior equivalence without changing tests?
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. Follow Project Conventions
|
|
47
|
+
|
|
48
|
+
Simplification means making code more consistent with the codebase, not imposing external preferences. Before simplifying:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
1. Read CLAUDE.md / project conventions
|
|
52
|
+
2. Study how neighboring code handles similar patterns
|
|
53
|
+
3. Match the project's style for:
|
|
54
|
+
- Import ordering and module system
|
|
55
|
+
- Function declaration style
|
|
56
|
+
- Naming conventions
|
|
57
|
+
- Error handling patterns
|
|
58
|
+
- Type annotation depth
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Simplification that breaks project consistency is not simplification — it's churn.
|
|
62
|
+
|
|
63
|
+
### 3. Prefer Clarity Over Cleverness
|
|
64
|
+
|
|
65
|
+
Explicit code is better than compact code when the compact version requires a mental pause to parse.
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
// UNCLEAR: Dense ternary chain
|
|
69
|
+
const label = isNew ? 'New' : isUpdated ? 'Updated' : isArchived ? 'Archived' : 'Active';
|
|
70
|
+
|
|
71
|
+
// CLEAR: Readable mapping
|
|
72
|
+
function getStatusLabel(item: Item): string {
|
|
73
|
+
if (item.isNew) return 'New';
|
|
74
|
+
if (item.isUpdated) return 'Updated';
|
|
75
|
+
if (item.isArchived) return 'Archived';
|
|
76
|
+
return 'Active';
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// UNCLEAR: Chained reduces with inline logic
|
|
82
|
+
const result = items.reduce((acc, item) => ({
|
|
83
|
+
...acc,
|
|
84
|
+
[item.id]: { ...acc[item.id], count: (acc[item.id]?.count ?? 0) + 1 }
|
|
85
|
+
}), {});
|
|
86
|
+
|
|
87
|
+
// CLEAR: Named intermediate step
|
|
88
|
+
const countById = new Map<string, number>();
|
|
89
|
+
for (const item of items) {
|
|
90
|
+
countById.set(item.id, (countById.get(item.id) ?? 0) + 1);
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 4. Maintain Balance
|
|
95
|
+
|
|
96
|
+
Simplification has a failure mode: over-simplification. Watch for these traps:
|
|
97
|
+
|
|
98
|
+
- **Inlining too aggressively** — removing a helper that gave a concept a name makes the call site harder to read
|
|
99
|
+
- **Combining unrelated logic** — two simple functions merged into one complex function is not simpler
|
|
100
|
+
- **Removing "unnecessary" abstraction** — some abstractions exist for extensibility or testability, not complexity
|
|
101
|
+
- **Optimizing for line count** — fewer lines is not the goal; easier comprehension is
|
|
102
|
+
|
|
103
|
+
### Architecture Deepening Checks
|
|
104
|
+
|
|
105
|
+
Use these terms when deciding whether a simplification should remove, keep, or reshape a boundary:
|
|
106
|
+
|
|
107
|
+
- **Module:** a unit with a responsibility and callers.
|
|
108
|
+
- **Interface:** the public surface callers depend on.
|
|
109
|
+
- **Implementation:** the hidden complexity behind the interface.
|
|
110
|
+
- **Deep module:** small interface, meaningful hidden implementation.
|
|
111
|
+
- **Shallow module:** public surface is as complex as the thing it wraps.
|
|
112
|
+
- **Seam:** a boundary where alternative implementations or tests can attach.
|
|
113
|
+
- **Adapter:** implementation behind a seam for a concrete external system or variation.
|
|
114
|
+
- **Leverage:** how much caller complexity disappears because the module exists.
|
|
115
|
+
- **Locality:** how much related behavior stays in one place.
|
|
116
|
+
|
|
117
|
+
Apply the deletion test: if deleting a module makes the complexity disappear, it was probably a pass-through wrapper. If deleting it spreads complexity across callers, the module is earning its keep.
|
|
118
|
+
|
|
119
|
+
Do not invent interfaces too early. One adapter usually means a hypothetical seam; two real adapters, or a concrete near-term need, can justify a seam.
|
|
120
|
+
|
|
121
|
+
### 5. Scope to What Changed
|
|
122
|
+
|
|
123
|
+
Default to simplifying recently modified code. Avoid drive-by refactors of unrelated code unless explicitly asked to broaden scope. Unscoped simplification creates noise in diffs and risks unintended regressions.
|
|
124
|
+
|
|
125
|
+
## The Simplification Process
|
|
126
|
+
|
|
127
|
+
### Step 1: Understand Before Touching (Chesterton's Fence)
|
|
128
|
+
|
|
129
|
+
Before changing or removing anything, understand why it exists. This is Chesterton's Fence: if you see a fence across a road and don't understand why it's there, don't tear it down. First understand the reason, then decide if the reason still applies.
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
BEFORE SIMPLIFYING, ANSWER:
|
|
133
|
+
- What is this code's responsibility?
|
|
134
|
+
- What calls it? What does it call?
|
|
135
|
+
- What are the edge cases and error paths?
|
|
136
|
+
- Are there tests that define the expected behavior?
|
|
137
|
+
- Why might it have been written this way? (Performance? Platform constraint? Historical reason?)
|
|
138
|
+
- Check git blame: what was the original context for this code?
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
If you can't answer these, you're not ready to simplify. Read more context first.
|
|
142
|
+
|
|
143
|
+
### 🔴 CHECKPOINT · Behavior-Risk Gate
|
|
144
|
+
|
|
145
|
+
🛑 STOP before editing when a simplification would touch any of these behavior-risky areas:
|
|
146
|
+
|
|
147
|
+
- public interfaces, exported types, API routes, schemas, migrations, auth, permissions, or persistence
|
|
148
|
+
- error handling, retry behavior, ordering, concurrency, caching, validation, or side effects
|
|
149
|
+
- performance-critical paths where the simpler version may change complexity or allocation patterns
|
|
150
|
+
- code without tests or without enough context to prove equivalent behavior
|
|
151
|
+
|
|
152
|
+
At this gate, either narrow the change to a behavior-neutral refactor with claim-matched verification or return the exact behavior/scope decision to ROSE. Do not treat a behavior-changing cleanup as simplification.
|
|
153
|
+
|
|
154
|
+
### Step 2: Identify Simplification Opportunities
|
|
155
|
+
|
|
156
|
+
Scan for these patterns — each one is a concrete signal, not a vague smell:
|
|
157
|
+
|
|
158
|
+
**Structural complexity:**
|
|
159
|
+
|
|
160
|
+
| Pattern | Signal | Simplification |
|
|
161
|
+
|---------|--------|----------------|
|
|
162
|
+
| Deep nesting (3+ levels) | Hard to follow control flow | Extract conditions into guard clauses or helper functions |
|
|
163
|
+
| Long functions (50+ lines) | Multiple responsibilities | Split into focused functions with descriptive names |
|
|
164
|
+
| Nested ternaries | Requires mental stack to parse | Replace with if/else chains, switch, or lookup objects |
|
|
165
|
+
| Boolean parameter flags | `doThing(true, false, true)` | Replace with options objects or separate functions |
|
|
166
|
+
| Repeated conditionals | Same `if` check in multiple places | Extract to a well-named predicate function |
|
|
167
|
+
|
|
168
|
+
**Naming and readability:**
|
|
169
|
+
|
|
170
|
+
| Pattern | Signal | Simplification |
|
|
171
|
+
|---------|--------|----------------|
|
|
172
|
+
| Generic names | `data`, `result`, `temp`, `val`, `item` | Rename to describe the content: `userProfile`, `validationErrors` |
|
|
173
|
+
| Abbreviated names | `usr`, `cfg`, `btn`, `evt` | Use full words unless the abbreviation is universal (`id`, `url`, `api`) |
|
|
174
|
+
| Misleading names | Function named `get` that also mutates state | Rename to reflect actual behavior |
|
|
175
|
+
| Comments explaining "what" | `// increment counter` above `count++` | Delete the comment — the code is clear enough |
|
|
176
|
+
| Comments explaining "why" | `// Retry because the API is flaky under load` | Keep these — they carry intent the code can't express |
|
|
177
|
+
|
|
178
|
+
**Redundancy:**
|
|
179
|
+
|
|
180
|
+
| Pattern | Signal | Simplification |
|
|
181
|
+
|---------|--------|----------------|
|
|
182
|
+
| Duplicated logic | Same 5+ lines in multiple places | Extract to a shared function |
|
|
183
|
+
| Dead code | Unreachable branches, unused variables, commented-out blocks | Remove (after confirming it's truly dead) |
|
|
184
|
+
| Unnecessary abstractions | Wrapper that adds no value | Inline the wrapper, call the underlying function directly |
|
|
185
|
+
| Over-engineered patterns | Factory-for-a-factory, strategy-with-one-strategy | Replace with the simple direct approach |
|
|
186
|
+
| Redundant type assertions | Casting to a type that's already inferred | Remove the assertion |
|
|
187
|
+
|
|
188
|
+
### Step 3: Apply a Bounded Simplification
|
|
189
|
+
|
|
190
|
+
Apply the smallest coherent simplification set whose behavior-equivalence evidence can be isolated. Do not add tests, commits, PR splits, or approval checkpoints after each edit; the canonical owner selects one focused check for the resulting claim.
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
FOR THE BOUNDED SET:
|
|
194
|
+
1. Make only the accepted behavior-preserving edits
|
|
195
|
+
2. Inspect the focused diff and selected equivalence evidence
|
|
196
|
+
3. Run the canonical owner's smallest claim-matched check once
|
|
197
|
+
4. If the check fails, apply at most one targeted repair/recheck or keep the original code and report the blocker
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Avoid unrelated cleanup or a broad rewrite. Keep the resulting diff small enough to localize a failed equivalence claim without creating per-edit ceremony.
|
|
201
|
+
|
|
202
|
+
### Failure and Fallback Table
|
|
203
|
+
|
|
204
|
+
| Trigger | First response | If still unresolved |
|
|
205
|
+
|---|---|---|
|
|
206
|
+
| Tests fail after a simplification | Revert that one simplification and inspect the failing behavior | Keep the original code and report the simplification as rejected |
|
|
207
|
+
| Behavior equivalence cannot be proven | Stop before editing and gather focused tests, callers, or examples | Return the exact scope/behavior decision to ROSE or leave the code unchanged |
|
|
208
|
+
| Simplification requires changing tests | Treat it as a behavior change, not simplification | Split into a separate feature/bug-fix task |
|
|
209
|
+
| Public interface or schema would change | Stop and return the exact material decision to ROSE | Do not make the change under this skill |
|
|
210
|
+
| The diff grows large or hard to review | Break into smaller independent simplifications | Abandon the broad pass and keep only verified local changes |
|
|
211
|
+
|
|
212
|
+
**The Rule of 500:** If a refactoring would touch more than 500 lines, invest in automation (codemods, sed scripts, AST transforms) rather than making the changes by hand. Manual edits at that scale are error-prone and exhausting to review.
|
|
213
|
+
|
|
214
|
+
### Step 4: Verify the Result
|
|
215
|
+
|
|
216
|
+
After all simplifications, step back and evaluate the whole:
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
COMPARE BEFORE AND AFTER:
|
|
220
|
+
- Is the simplified version genuinely easier to understand?
|
|
221
|
+
- Did you introduce any new patterns inconsistent with the codebase?
|
|
222
|
+
- Is the diff clean and reviewable?
|
|
223
|
+
- Would a teammate approve this change?
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
If the "simplified" version is harder to understand or review, revert. Not every simplification attempt succeeds.
|
|
227
|
+
|
|
228
|
+
## Language-Specific Guidance
|
|
229
|
+
|
|
230
|
+
### TypeScript / JavaScript
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
// SIMPLIFY: Unnecessary async wrapper
|
|
234
|
+
// Before
|
|
235
|
+
async function getUser(id: string): Promise<User> {
|
|
236
|
+
return await userService.findById(id);
|
|
237
|
+
}
|
|
238
|
+
// After
|
|
239
|
+
function getUser(id: string): Promise<User> {
|
|
240
|
+
return userService.findById(id);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// SIMPLIFY: Verbose conditional assignment
|
|
244
|
+
// Before
|
|
245
|
+
let displayName: string;
|
|
246
|
+
if (user.nickname) {
|
|
247
|
+
displayName = user.nickname;
|
|
248
|
+
} else {
|
|
249
|
+
displayName = user.fullName;
|
|
250
|
+
}
|
|
251
|
+
// After
|
|
252
|
+
const displayName = user.nickname || user.fullName;
|
|
253
|
+
|
|
254
|
+
// SIMPLIFY: Manual array building
|
|
255
|
+
// Before
|
|
256
|
+
const activeUsers: User[] = [];
|
|
257
|
+
for (const user of users) {
|
|
258
|
+
if (user.isActive) {
|
|
259
|
+
activeUsers.push(user);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// After
|
|
263
|
+
const activeUsers = users.filter((user) => user.isActive);
|
|
264
|
+
|
|
265
|
+
// SIMPLIFY: Redundant boolean return
|
|
266
|
+
// Before
|
|
267
|
+
function isValid(input: string): boolean {
|
|
268
|
+
if (input.length > 0 && input.length < 100) {
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
// After
|
|
274
|
+
function isValid(input: string): boolean {
|
|
275
|
+
return input.length > 0 && input.length < 100;
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Python
|
|
280
|
+
|
|
281
|
+
```python
|
|
282
|
+
# SIMPLIFY: Verbose dictionary building
|
|
283
|
+
# Before
|
|
284
|
+
result = {}
|
|
285
|
+
for item in items:
|
|
286
|
+
result[item.id] = item.name
|
|
287
|
+
# After
|
|
288
|
+
result = {item.id: item.name for item in items}
|
|
289
|
+
|
|
290
|
+
# SIMPLIFY: Nested conditionals with early return
|
|
291
|
+
# Before
|
|
292
|
+
def process(data):
|
|
293
|
+
if data is not None:
|
|
294
|
+
if data.is_valid():
|
|
295
|
+
if data.has_permission():
|
|
296
|
+
return do_work(data)
|
|
297
|
+
else:
|
|
298
|
+
raise PermissionError("No permission")
|
|
299
|
+
else:
|
|
300
|
+
raise ValueError("Invalid data")
|
|
301
|
+
else:
|
|
302
|
+
raise TypeError("Data is None")
|
|
303
|
+
# After
|
|
304
|
+
def process(data):
|
|
305
|
+
if data is None:
|
|
306
|
+
raise TypeError("Data is None")
|
|
307
|
+
if not data.is_valid():
|
|
308
|
+
raise ValueError("Invalid data")
|
|
309
|
+
if not data.has_permission():
|
|
310
|
+
raise PermissionError("No permission")
|
|
311
|
+
return do_work(data)
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### React / JSX
|
|
315
|
+
|
|
316
|
+
```tsx
|
|
317
|
+
// SIMPLIFY: Verbose conditional rendering
|
|
318
|
+
// Before
|
|
319
|
+
function UserBadge({ user }: Props) {
|
|
320
|
+
if (user.isAdmin) {
|
|
321
|
+
return <Badge variant="admin">Admin</Badge>;
|
|
322
|
+
} else {
|
|
323
|
+
return <Badge variant="default">User</Badge>;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// After
|
|
327
|
+
function UserBadge({ user }: Props) {
|
|
328
|
+
const variant = user.isAdmin ? 'admin' : 'default';
|
|
329
|
+
const label = user.isAdmin ? 'Admin' : 'User';
|
|
330
|
+
return <Badge variant={variant}>{label}</Badge>;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// SIMPLIFY: Prop drilling through intermediate components
|
|
334
|
+
// Before — consider whether context or composition solves this better.
|
|
335
|
+
// This is a judgment call — flag it, don't auto-refactor.
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
## Common Rationalizations
|
|
339
|
+
|
|
340
|
+
| Rationalization | Reality |
|
|
341
|
+
|---|---|
|
|
342
|
+
| "It's working, no need to touch it" | Working code that's hard to read will be hard to fix when it breaks. Simplifying now saves time on every future change. |
|
|
343
|
+
| "Fewer lines is always simpler" | A 1-line nested ternary is not simpler than a 5-line if/else. Simplicity is about comprehension speed, not line count. |
|
|
344
|
+
| "I'll just quickly simplify this unrelated code too" | Unscoped simplification creates noisy diffs and risks regressions in code you didn't intend to change. Stay focused. |
|
|
345
|
+
| "The types make it self-documenting" | Types document structure, not intent. A well-named function explains *why* better than a type signature explains *what*. |
|
|
346
|
+
| "This abstraction might be useful later" | Don't preserve speculative abstractions. If it's not used now, it's complexity without value. Remove it and re-add when needed. |
|
|
347
|
+
| "The original author must have had a reason" | Maybe. Check git blame — apply Chesterton's Fence. But accumulated complexity often has no reason; it's just the residue of iteration under pressure. |
|
|
348
|
+
| "I'll refactor while adding this feature" | Separate refactoring from feature work. Mixed changes are harder to review, revert, and understand in history. |
|
|
349
|
+
|
|
350
|
+
## Red Flags
|
|
351
|
+
|
|
352
|
+
- Simplification that requires modifying tests to pass (you likely changed behavior)
|
|
353
|
+
- "Simplified" code that is longer and harder to follow than the original
|
|
354
|
+
- Renaming things to match your preferences rather than project conventions
|
|
355
|
+
- Removing error handling because "it makes the code cleaner"
|
|
356
|
+
- Simplifying code you don't fully understand
|
|
357
|
+
- Batching many simplifications into one large, hard-to-review commit
|
|
358
|
+
- Refactoring code outside the scope of the current task without being asked
|
|
359
|
+
|
|
360
|
+
## Verification
|
|
361
|
+
|
|
362
|
+
After completing the bounded simplification:
|
|
363
|
+
|
|
364
|
+
- [ ] The canonical owner's smallest behavior-equivalence check passes without modifying tests to excuse a change
|
|
365
|
+
- [ ] Any broader build/lint/test evidence is run only when required by the exact claim
|
|
366
|
+
- [ ] The simplification is a focused, reviewable change
|
|
367
|
+
- [ ] The diff is clean — no unrelated changes mixed in
|
|
368
|
+
- [ ] Simplified code follows project conventions (checked against CLAUDE.md or equivalent)
|
|
369
|
+
- [ ] No error handling was removed or weakened
|
|
370
|
+
- [ ] No dead code was left behind (unused imports, unreachable branches)
|
|
371
|
+
- [ ] The evidence supports only the reported behavior-preserving claim; no automatic review gate was added
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: comment-accuracy-review
|
|
3
|
+
description: Review comment, JSDoc, TODO, README, and docs-to-code factual consistency, stale or low-value comments, and Chinese comment/variable appropriateness; do not use for general code review, broad documentation rewrites, or auto-editing comments without approval.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comment Accuracy Review
|
|
7
|
+
|
|
8
|
+
Use this skill when ROSE needs a narrow, read-only pass over whether explanatory text still matches the code it describes.
|
|
9
|
+
|
|
10
|
+
## Trigger
|
|
11
|
+
|
|
12
|
+
- Comments, JSDoc, TODOs, README snippets, or nearby docs may be stale, misleading, redundant, or contradicted by implementation.
|
|
13
|
+
- A review asks whether docs-to-code claims, examples, parameters, return values, errors, environment notes, or operational steps are factually accurate.
|
|
14
|
+
- Chinese comments, Chinese variable names, or bilingual text need appropriateness checks for clarity, tone, maintainability, and consistency with repository language patterns.
|
|
15
|
+
|
|
16
|
+
## Near Misses
|
|
17
|
+
|
|
18
|
+
- General review, large documentation authoring, style-only writing, or implementation are different primary intents. Return the exact mismatch or approved edit need to ROSE; do not invoke another skill or agent here.
|
|
19
|
+
|
|
20
|
+
## Required Routing
|
|
21
|
+
|
|
22
|
+
- Owner: ROSE/`aili-delivery-flow`; direct read-only inspection is the default.
|
|
23
|
+
- Optional agent: one fresh code-review or docs-research assignment only when a concrete capability/context gap independently passes the delegation gate.
|
|
24
|
+
- Default mode: read-only; report findings and recommended edits, but do not modify comments automatically.
|
|
25
|
+
|
|
26
|
+
## Boundaries
|
|
27
|
+
|
|
28
|
+
- Compare text claims to the current repository evidence, not to intent or stale plans.
|
|
29
|
+
- Flag comments that restate obvious code, describe old behavior, overpromise guarantees, hide uncertainty, or use TODOs as unmanaged task trackers.
|
|
30
|
+
- Preserve useful intent comments that explain non-obvious constraints, trade-offs, invariants, data formats, or external behavior.
|
|
31
|
+
- Treat generated, vendored, third-party, or upstream-copied comments as out of scope unless the task explicitly includes them.
|
|
32
|
+
|
|
33
|
+
## Verification
|
|
34
|
+
|
|
35
|
+
- Cite file paths and line anchors for both the questioned text and the code evidence that confirms or contradicts it.
|
|
36
|
+
- Classify each finding as inaccurate, stale, unverifiable, redundant, language/terminology concern, or acceptable.
|
|
37
|
+
- If edits are later approved, require focused diff inspection and any relevant docs/build/typecheck command for the touched surface.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: consulting-analysis
|
|
3
|
+
description: Structure source-grounded consulting-style analysis for strategy, market, product, operations, or decision memos. Use for MECE problem framing, hypotheses, options, tradeoffs, executive recommendations, or "consulting analysis" requests; do not use for legal/financial advice, implementation, data computation, chart rendering, or unsourced business claims.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Consulting Analysis
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Convert an ambiguous business or product question into a clear, evidence-backed recommendation with assumptions, options, risks, and next decisions.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
Use for:
|
|
15
|
+
|
|
16
|
+
- strategy memos, product/business case analysis, market-entry framing, operational diagnosis, or option comparison
|
|
17
|
+
- MECE issue trees, hypotheses, criteria, tradeoff tables, and executive summaries
|
|
18
|
+
- turning research notes into a decision-ready recommendation
|
|
19
|
+
|
|
20
|
+
Do not use for:
|
|
21
|
+
|
|
22
|
+
- regulated legal, investment, tax, medical, or HR advice
|
|
23
|
+
- numeric analysis of a dataset; use `data-analysis`
|
|
24
|
+
- chart design; use `chart-visualization`
|
|
25
|
+
- implementing the recommendation
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
1. Clarify the decision owner, decision deadline, success metric, constraints, and non-goals.
|
|
30
|
+
2. Frame the problem as a decision question, then split it into MECE drivers or hypotheses.
|
|
31
|
+
3. Inventory evidence by source type and reliability. Mark assumptions separately from facts.
|
|
32
|
+
4. Compare options against explicit criteria: impact, cost, speed, risk, reversibility, evidence strength, and strategic fit.
|
|
33
|
+
5. Synthesize a recommendation plus alternatives, not just a list of pros/cons.
|
|
34
|
+
6. State what would change the recommendation and what evidence should be gathered next.
|
|
35
|
+
|
|
36
|
+
## Authenticity Rules
|
|
37
|
+
|
|
38
|
+
- Do not invent market sizes, competitor facts, customer quotes, financial projections, or benchmark numbers.
|
|
39
|
+
- If the user supplies estimates, label them user-provided unless independently verified.
|
|
40
|
+
- Keep confidence tied to evidence quality; weak evidence can still support a hypothesis, not a final claim.
|
|
41
|
+
|
|
42
|
+
## Output Contract
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
STATUS: ANALYZED | PARTIAL | BLOCKED
|
|
46
|
+
CONFIDENCE: high | medium | low
|
|
47
|
+
|
|
48
|
+
DECISION QUESTION:
|
|
49
|
+
- <question, owner, timing, constraints>
|
|
50
|
+
|
|
51
|
+
ISSUE TREE / HYPOTHESES:
|
|
52
|
+
- <driver or hypothesis> - Evidence/assumption:
|
|
53
|
+
|
|
54
|
+
OPTIONS:
|
|
55
|
+
- <option> | impact | cost | risk | reversibility | evidence strength
|
|
56
|
+
|
|
57
|
+
RECOMMENDATION:
|
|
58
|
+
- <recommended option and why>
|
|
59
|
+
|
|
60
|
+
RISKS / WATCHPOINTS:
|
|
61
|
+
- <risk and mitigation>
|
|
62
|
+
|
|
63
|
+
NEXT EVIDENCE:
|
|
64
|
+
- <source or experiment that would change confidence>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Provenance
|
|
68
|
+
|
|
69
|
+
Clean-room AILI/OpenCode adaptation inspired by the public DeerFlow `consulting-analysis` skill pattern. No upstream skill text, runtime paths, tools, generated assets, or provider assumptions are copied. Source family: [bytedance/deer-flow](https://github.com/bytedance/deer-flow), MIT License.
|