moai-adk 0.4.5__py3-none-any.whl → 0.20.1__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +1 -1
- moai_adk/__main__.py +74 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/analyze.py +119 -0
- moai_adk/cli/commands/backup.py +25 -1
- moai_adk/cli/commands/doctor.py +31 -5
- moai_adk/cli/commands/improve_user_experience.py +307 -0
- moai_adk/cli/commands/init.py +111 -10
- moai_adk/cli/commands/status.py +33 -3
- moai_adk/cli/commands/update.py +921 -130
- moai_adk/cli/commands/validate_links.py +120 -0
- moai_adk/cli/prompts/init_prompts.py +22 -87
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +388 -0
- moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
- moai_adk/core/analysis/tag_chain_repair.py +879 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/migration.py +235 -0
- moai_adk/core/git/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/commit.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/issue_creator.py +313 -0
- moai_adk/core/mcp/setup.py +56 -0
- moai_adk/core/mcp/setup_old.py +296 -0
- moai_adk/core/project/backup_utils.py +1 -1
- moai_adk/core/project/checker.py +2 -2
- moai_adk/core/project/detector.py +211 -12
- moai_adk/core/project/initializer.py +85 -15
- moai_adk/core/project/phase_executor.py +76 -13
- moai_adk/core/project/validator.py +13 -13
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/tags/__init__.py +86 -0
- moai_adk/core/tags/auto_corrector.py +693 -0
- moai_adk/core/tags/ci_validator.py +463 -0
- moai_adk/core/tags/cli.py +283 -0
- moai_adk/core/tags/generator.py +109 -0
- moai_adk/core/tags/inserter.py +99 -0
- moai_adk/core/tags/mapper.py +126 -0
- moai_adk/core/tags/parser.py +76 -0
- moai_adk/core/tags/policy_validator.py +580 -0
- moai_adk/core/tags/pre_commit_validator.py +421 -0
- moai_adk/core/tags/reporter.py +956 -0
- moai_adk/core/tags/rollback_manager.py +525 -0
- moai_adk/core/tags/tags.py +149 -0
- moai_adk/core/tags/validator.py +897 -0
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +1 -1
- moai_adk/core/template/merger.py +50 -1
- moai_adk/core/template/processor.py +119 -13
- moai_adk/core/template_engine.py +268 -0
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
- moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
- moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
- moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
- moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
- moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
- moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
- moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
- moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
- moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
- moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
- moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
- moai_adk/templates/.claude/settings.json +96 -14
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
- moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
- moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
- moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
- moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
- moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
- moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +255 -0
- moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
- moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
- moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
- moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
- moai_adk/templates/.github/workflows/release.yml +118 -0
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/tag-report.yml +269 -0
- moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
- moai_adk/templates/.mcp.json +31 -0
- moai_adk/templates/.moai/config.json +80 -7
- moai_adk/templates/CLAUDE.md +562 -546
- moai_adk/utils/banner.py +5 -5
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +235 -0
- moai_adk/utils/logger.py +8 -8
- moai_adk/utils/user_experience.py +451 -0
- moai_adk-0.20.1.dist-info/METADATA +233 -0
- moai_adk-0.20.1.dist-info/RECORD +404 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
- moai_adk/templates/.moai/memory/development-guide.md +0 -344
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
- moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk/templates/__init__.py +0 -2
- moai_adk-0.4.5.dist-info/METADATA +0 -369
- moai_adk-0.4.5.dist-info/RECORD +0 -152
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,577 @@
|
|
|
1
|
+
# Skill Update Advisor: Analysis & Update Recommendations
|
|
2
|
+
|
|
3
|
+
This guide covers how **skill-factory** analyzes existing Skills and proposes updates based on latest information, official documentation, and best practices.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview: Keeping Skills Current
|
|
8
|
+
|
|
9
|
+
### The Challenge: Skill Drift
|
|
10
|
+
|
|
11
|
+
Skills created 6+ months ago can become outdated:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Original Skill (2025-04):
|
|
15
|
+
├─ Framework: TypeScript 4.9
|
|
16
|
+
├─ Best practice: Approach X
|
|
17
|
+
├─ Example: Code pattern A
|
|
18
|
+
└─ Status: ✅ Current at that time
|
|
19
|
+
|
|
20
|
+
Today (2025-10):
|
|
21
|
+
├─ Framework: TypeScript 5.3 (current)
|
|
22
|
+
├─ Best practice: Approach Y (official recommendation changed)
|
|
23
|
+
├─ Example: Code pattern A (now considered legacy)
|
|
24
|
+
└─ Status: ⚠️ Partially outdated
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### The Solution: Automated Analysis & Recommendations
|
|
28
|
+
|
|
29
|
+
skill-factory can **analyze existing Skill folders** and propose updates:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Input: Path to existing Skill directory
|
|
33
|
+
↓
|
|
34
|
+
skill-factory Analysis:
|
|
35
|
+
├─ Read all files (SKILL.md, reference.md, examples.md, etc.)
|
|
36
|
+
├─ Extract stated versions & frameworks
|
|
37
|
+
├─ Research current versions
|
|
38
|
+
├─ Compare against current best practices
|
|
39
|
+
├─ Identify deprecated features
|
|
40
|
+
├─ Check security implications
|
|
41
|
+
↓
|
|
42
|
+
Output: Update Proposal Report
|
|
43
|
+
├─ Issues found
|
|
44
|
+
├─ Recommended changes
|
|
45
|
+
├─ Priority level (Critical/High/Medium/Low)
|
|
46
|
+
├─ Before/after comparisons
|
|
47
|
+
├─ Migration guide (if needed)
|
|
48
|
+
└─ Official resources to reference
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Analysis Workflow
|
|
54
|
+
|
|
55
|
+
### Phase 1: Skill Content Extraction
|
|
56
|
+
|
|
57
|
+
**Analyze existing Skill to extract:**
|
|
58
|
+
|
|
59
|
+
```yaml
|
|
60
|
+
Metadata:
|
|
61
|
+
name: "[Extracted from frontmatter]"
|
|
62
|
+
description: "[Extracted from frontmatter]"
|
|
63
|
+
last_updated: "[Determined from file content or git]"
|
|
64
|
+
|
|
65
|
+
Content Inventory:
|
|
66
|
+
sections_in_skill_md: "[List of headers]"
|
|
67
|
+
frameworks_mentioned: "[Detect versions: v7.2, 3.9, etc.]"
|
|
68
|
+
deprecated_features: "[Detect known-deprecated patterns]"
|
|
69
|
+
external_links: "[Count & validate]"
|
|
70
|
+
|
|
71
|
+
Examples:
|
|
72
|
+
code_samples_found: "[Count]"
|
|
73
|
+
languages_used: "[Extract: Python, TypeScript, etc.]"
|
|
74
|
+
working_tested: "[Try to execute or validate syntax]"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Phase 2: Version Detection & Current Status
|
|
78
|
+
|
|
79
|
+
**Identify what versions are referenced:**
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Skill states:
|
|
83
|
+
SKILL.md line 42: "Using Pytest 7.2"
|
|
84
|
+
examples.md line 15: "@pytest.fixture"
|
|
85
|
+
reference.md line 8: "pytest==7.2"
|
|
86
|
+
|
|
87
|
+
Current reality (WebSearch):
|
|
88
|
+
Latest pytest: 8.0.0 (released 2025-10)
|
|
89
|
+
Previous version: 7.4.3 (will EOL 2025-12)
|
|
90
|
+
|
|
91
|
+
Analysis result:
|
|
92
|
+
Status: ⚠️ Outdated (7 months behind)
|
|
93
|
+
Priority: HIGH (1 minor version behind)
|
|
94
|
+
Impact: Low (basic API compatible)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Phase 3: Best Practices Comparison
|
|
98
|
+
|
|
99
|
+
**Check against current best practices:**
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Skill recommends:
|
|
103
|
+
├─ Pattern A (setup/teardown)
|
|
104
|
+
├─ Pattern B (fixture usage)
|
|
105
|
+
└─ Pattern C (mocking approach)
|
|
106
|
+
|
|
107
|
+
Current best practices (from WebSearch):
|
|
108
|
+
├─ Pattern A (outdated, Pattern A' recommended)
|
|
109
|
+
├─ Pattern B ✓ (still current)
|
|
110
|
+
└─ Pattern C (replaced by Pattern C++)
|
|
111
|
+
|
|
112
|
+
Findings:
|
|
113
|
+
🔴 Pattern A: DEPRECATED
|
|
114
|
+
Current recommendation: Pattern A'
|
|
115
|
+
Official source: https://docs.pytest.org/...
|
|
116
|
+
|
|
117
|
+
🟢 Pattern B: CURRENT
|
|
118
|
+
Still recommended
|
|
119
|
+
No changes needed
|
|
120
|
+
|
|
121
|
+
🟡 Pattern C: ENHANCED
|
|
122
|
+
Pattern C still works but Pattern C++ is better
|
|
123
|
+
C++ has better error handling, security
|
|
124
|
+
Upgrade recommended but not critical
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Phase 4: Security & Deprecation Audit
|
|
128
|
+
|
|
129
|
+
**Search for security & deprecation issues:**
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Analysis:
|
|
133
|
+
|
|
134
|
+
Security Checks:
|
|
135
|
+
├─ Credentials hardcoded? (RED FLAG)
|
|
136
|
+
├─ Outdated dependencies? (WARN)
|
|
137
|
+
├─ Known vulnerabilities? (URGENT)
|
|
138
|
+
└─ Insecure practices? (WARN)
|
|
139
|
+
|
|
140
|
+
Deprecation Audit:
|
|
141
|
+
├─ Deprecated syntax used?
|
|
142
|
+
├─ Removed in new version?
|
|
143
|
+
├─ Legacy patterns recommended?
|
|
144
|
+
└─ EOL frameworks mentioned?
|
|
145
|
+
|
|
146
|
+
Breaking Changes:
|
|
147
|
+
├─ API changes?
|
|
148
|
+
├─ Behavior changes?
|
|
149
|
+
├─ Removed features?
|
|
150
|
+
└─ Parameter changes?
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Phase 5: Generate Update Report
|
|
154
|
+
|
|
155
|
+
**Produce structured update proposal:**
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
# Skill Update Proposal: [Skill Name]
|
|
159
|
+
|
|
160
|
+
## Summary
|
|
161
|
+
|
|
162
|
+
Status: ⚠️ UPDATE RECOMMENDED
|
|
163
|
+
Analyzed: 2025-10-22
|
|
164
|
+
Last Updated: 2025-05-15 (5 months old)
|
|
165
|
+
Overall Priority: HIGH
|
|
166
|
+
|
|
167
|
+
## Version Analysis
|
|
168
|
+
|
|
169
|
+
| Component | Current | Latest | Status | Update |
|
|
170
|
+
|-----------|---------|--------|--------|--------|
|
|
171
|
+
| Framework | 7.2 | 8.0 | 🔴 Critical | Recommend |
|
|
172
|
+
| Python | 3.9+ | 3.12 | 🟡 Warning | Optional |
|
|
173
|
+
| Dependency X | 2.1 | 3.0 | 🟡 Warning | Check compat |
|
|
174
|
+
|
|
175
|
+
## Issues Found
|
|
176
|
+
|
|
177
|
+
### 🔴 Critical (Update Required)
|
|
178
|
+
1. Pytest version outdated
|
|
179
|
+
- Current: 7.2 (EOL 2025-12)
|
|
180
|
+
- Recommended: 8.0
|
|
181
|
+
- Impact: Performance +30%, new features
|
|
182
|
+
- Effort: LOW (API compatible)
|
|
183
|
+
|
|
184
|
+
### 🟡 Warning (Recommended)
|
|
185
|
+
1. Python 3.9 approaching EOL
|
|
186
|
+
- EOL date: Oct 2025
|
|
187
|
+
- Recommended: Python 3.11+
|
|
188
|
+
- Effort: MEDIUM (update examples)
|
|
189
|
+
|
|
190
|
+
### 🟢 Good (No action needed)
|
|
191
|
+
1. Best practices still current
|
|
192
|
+
2. Examples follow conventions
|
|
193
|
+
3. Security practices sound
|
|
194
|
+
|
|
195
|
+
## Files Requiring Updates
|
|
196
|
+
|
|
197
|
+
1. SKILL.md (420 → 500 lines)
|
|
198
|
+
- Update framework version
|
|
199
|
+
- Add new features section
|
|
200
|
+
- Update examples
|
|
201
|
+
|
|
202
|
+
2. reference.md (300 → 370 lines)
|
|
203
|
+
- API changes documented
|
|
204
|
+
- Deprecations noted
|
|
205
|
+
- Migration guide added
|
|
206
|
+
|
|
207
|
+
3. examples.md (200 → 280 lines)
|
|
208
|
+
- Modernize code samples
|
|
209
|
+
- Add new patterns
|
|
210
|
+
- Update dependencies
|
|
211
|
+
|
|
212
|
+
## Specific Recommendations
|
|
213
|
+
|
|
214
|
+
### Update 1: Framework Version
|
|
215
|
+
Location: SKILL.md line 42, examples.md lines 15-28
|
|
216
|
+
Change: pytest==7.2 → pytest==8.0
|
|
217
|
+
Justification: Current stable, 30% performance improvement
|
|
218
|
+
Breaking changes: None for basic usage
|
|
219
|
+
Migration effort: <1 hour
|
|
220
|
+
|
|
221
|
+
### Update 2: Async Testing Support
|
|
222
|
+
Location: SKILL.md (NEW SECTION)
|
|
223
|
+
Add: pytest-asyncio patterns
|
|
224
|
+
Justification: Modern Python uses async/await
|
|
225
|
+
User impact: NEW capability, no breakage
|
|
226
|
+
Effort: NEW content (~100 lines)
|
|
227
|
+
|
|
228
|
+
### Update 3: Type Hints
|
|
229
|
+
Location: All code examples
|
|
230
|
+
Change: Add type annotations
|
|
231
|
+
Example: def test_foo(client: pytest.Client) -> None:
|
|
232
|
+
Justification: Official recommendation, better IDE support
|
|
233
|
+
Effort: MEDIUM (refactor examples)
|
|
234
|
+
|
|
235
|
+
## Migration Path for Users
|
|
236
|
+
|
|
237
|
+
If users are on Pytest 7.2:
|
|
238
|
+
|
|
239
|
+
1. Pytest 7.2 → 8.0 migration
|
|
240
|
+
Time: ~15 minutes
|
|
241
|
+
Breaking changes: None for basic fixtures
|
|
242
|
+
New features available: Full async support
|
|
243
|
+
|
|
244
|
+
2. Step-by-step guide
|
|
245
|
+
- Step 1: pip install --upgrade pytest
|
|
246
|
+
- Step 2: Run existing tests (should pass)
|
|
247
|
+
- Step 3: Adopt new async patterns (optional)
|
|
248
|
+
|
|
249
|
+
3. Full migration guide
|
|
250
|
+
- Detailed in MIGRATION-GUIDE.md (NEW)
|
|
251
|
+
|
|
252
|
+
## Official Resources
|
|
253
|
+
|
|
254
|
+
- Pytest 8.0 Release: https://docs.pytest.org/8.0/release.html
|
|
255
|
+
- Async Testing: https://docs.pytest.org/asyncio.html
|
|
256
|
+
- Python 3.12 Support: https://python.org/dev/peps/pep-0715
|
|
257
|
+
- Migration Guide: https://docs.pytest.org/migration.html
|
|
258
|
+
|
|
259
|
+
## Generated Update Preview
|
|
260
|
+
|
|
261
|
+
[Show before/after code snippets for reviewers]
|
|
262
|
+
|
|
263
|
+
## Approval Workflow
|
|
264
|
+
|
|
265
|
+
Ready for update?
|
|
266
|
+
☐ Review all changes
|
|
267
|
+
☐ Test migration guide
|
|
268
|
+
☐ Update dates & versions
|
|
269
|
+
☐ Get peer review
|
|
270
|
+
→ Apply updates (with --apply flag)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Analyzing Different Skill Types
|
|
276
|
+
|
|
277
|
+
### Type 1: Language/Framework Basics
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
Skill: "Testing with Python"
|
|
281
|
+
|
|
282
|
+
Analysis focuses on:
|
|
283
|
+
├─ Python version (3.9, 3.10, 3.11, 3.12?)
|
|
284
|
+
├─ Testing framework version (pytest X.Y.Z)
|
|
285
|
+
├─ Core library versions (unittest, mock, etc.)
|
|
286
|
+
├─ Best practices (fixtures, parametrization, etc.)
|
|
287
|
+
└─ Deprecations (nose, testtools, etc.)
|
|
288
|
+
|
|
289
|
+
Update priority:
|
|
290
|
+
├─ Version updates: HIGH (affects compatibility)
|
|
291
|
+
├─ Best practice updates: MEDIUM
|
|
292
|
+
├─ New patterns: LOW (backward compatible)
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Type 2: Advanced Patterns
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
Skill: "Performance Optimization Patterns"
|
|
299
|
+
|
|
300
|
+
Analysis focuses on:
|
|
301
|
+
├─ Timing/profiling tool versions
|
|
302
|
+
├─ Algorithm recommendations (newer = better?)
|
|
303
|
+
├─ Hardware considerations (changed?)
|
|
304
|
+
├─ Benchmark data (outdated?)
|
|
305
|
+
└─ Performance regressions
|
|
306
|
+
|
|
307
|
+
Update priority:
|
|
308
|
+
├─ Tool updates: MEDIUM
|
|
309
|
+
├─ Algorithmic advances: MEDIUM
|
|
310
|
+
├─ Benchmark data: HIGH (can be misleading if stale)
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Type 3: Infrastructure/DevOps
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
Skill: "Container Deployment with Docker"
|
|
317
|
+
|
|
318
|
+
Analysis focuses on:
|
|
319
|
+
├─ Docker version (currently 24.x+)
|
|
320
|
+
├─ Base images (Alpine? Ubuntu? Security patches?)
|
|
321
|
+
├─ Orchestration tools (Kubernetes 1.29+?)
|
|
322
|
+
├─ Security practices (latest vulnerabilities?)
|
|
323
|
+
└─ Compatibility (breaking changes?)
|
|
324
|
+
|
|
325
|
+
Update priority:
|
|
326
|
+
├─ Security patches: CRITICAL
|
|
327
|
+
├─ Version updates: HIGH
|
|
328
|
+
├─ Tool alternatives: MEDIUM
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## Implementation: Analysis Commands
|
|
334
|
+
|
|
335
|
+
### Command Pattern
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# Basic analysis
|
|
339
|
+
/alfred:update-skill /path/to/skill-name
|
|
340
|
+
|
|
341
|
+
# Generate report only (don't apply changes)
|
|
342
|
+
/alfred:update-skill --report moai-skill-testing
|
|
343
|
+
|
|
344
|
+
# Show detailed analysis
|
|
345
|
+
/alfred:update-skill --analyze moai-skill-testing
|
|
346
|
+
|
|
347
|
+
# Compare before/after
|
|
348
|
+
/alfred:update-skill --diff moai-skill-testing
|
|
349
|
+
|
|
350
|
+
# Apply recommended updates (requires approval)
|
|
351
|
+
/alfred:update-skill --apply moai-skill-testing
|
|
352
|
+
|
|
353
|
+
# Dry run (show what would be changed)
|
|
354
|
+
/alfred:update-skill --dry-run moai-skill-testing
|
|
355
|
+
|
|
356
|
+
# Force re-analysis (bypass cache)
|
|
357
|
+
/alfred:update-skill --force moai-skill-testing
|
|
358
|
+
|
|
359
|
+
# Generate migration guide for users
|
|
360
|
+
/alfred:update-skill --migration moai-skill-testing
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## Automated Analysis Checks
|
|
366
|
+
|
|
367
|
+
### Version Scanning
|
|
368
|
+
|
|
369
|
+
```python
|
|
370
|
+
def scan_versions(skill_content):
|
|
371
|
+
"""Extract and validate framework versions"""
|
|
372
|
+
|
|
373
|
+
patterns_found = {
|
|
374
|
+
'pytest': ['7.2', '==7.2'],
|
|
375
|
+
'python': ['3.9', '3.9+'],
|
|
376
|
+
'typescript': ['4.9', 'typescript@4.9'],
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
for framework, versions in patterns_found.items():
|
|
380
|
+
current = websearch(f"{framework} latest version 2025")
|
|
381
|
+
if current != versions[-1]:
|
|
382
|
+
flag_as_outdated(framework, versions[-1], current)
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### Deprecation Checking
|
|
386
|
+
|
|
387
|
+
```python
|
|
388
|
+
def check_deprecations(skill_content):
|
|
389
|
+
"""Find deprecated patterns"""
|
|
390
|
+
|
|
391
|
+
deprecated_patterns = {
|
|
392
|
+
'pytest': ['class-based fixtures', 'nose integration'],
|
|
393
|
+
'python': ['collections.abc', 'typing.Dict'],
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
for deprecated in deprecated_patterns:
|
|
397
|
+
if deprecated in skill_content:
|
|
398
|
+
flag_as_deprecated(deprecated)
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Security Audit
|
|
402
|
+
|
|
403
|
+
```python
|
|
404
|
+
def audit_security(skill_content):
|
|
405
|
+
"""Check for security issues"""
|
|
406
|
+
|
|
407
|
+
security_patterns = {
|
|
408
|
+
'secrets_hardcoded': [r'password.*=.*"', r'api_key.*=.*"'],
|
|
409
|
+
'insecure_code': [r'eval\(', r'pickle\.loads'],
|
|
410
|
+
'outdated_crypto': [r'md5', r'sha1', r'DES'],
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
for issue_type, patterns in security_patterns.items():
|
|
414
|
+
if pattern_found in skill_content:
|
|
415
|
+
flag_security_issue(issue_type)
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### Link Validation
|
|
419
|
+
|
|
420
|
+
```python
|
|
421
|
+
def validate_links(skill_content):
|
|
422
|
+
"""Check all external links are working"""
|
|
423
|
+
|
|
424
|
+
links_found = extract_urls(skill_content)
|
|
425
|
+
|
|
426
|
+
for url in links_found:
|
|
427
|
+
status = webfetch(url, check_only=True)
|
|
428
|
+
if status != 200:
|
|
429
|
+
flag_broken_link(url, status)
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## Update Proposal Examples
|
|
435
|
+
|
|
436
|
+
### Example 1: Minor Version Update
|
|
437
|
+
|
|
438
|
+
```
|
|
439
|
+
Skill: moai-skill-logging-python
|
|
440
|
+
Current: Python logging module (3.9 base)
|
|
441
|
+
Latest: Python logging (3.12 base)
|
|
442
|
+
Impact: MINIMAL
|
|
443
|
+
|
|
444
|
+
Recommendation:
|
|
445
|
+
Priority: LOW
|
|
446
|
+
Justification: Basic logging API unchanged
|
|
447
|
+
Update: Update example Python version requirement only
|
|
448
|
+
Effort: 5 minutes
|
|
449
|
+
Risk: Very low
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### Example 2: Major Framework Update
|
|
453
|
+
|
|
454
|
+
```
|
|
455
|
+
Skill: moai-skill-web-django
|
|
456
|
+
Current: Django 3.2 LTS
|
|
457
|
+
Latest: Django 5.0 (released 2025-09)
|
|
458
|
+
Impact: SIGNIFICANT
|
|
459
|
+
|
|
460
|
+
Recommendation:
|
|
461
|
+
Priority: HIGH
|
|
462
|
+
Justification: New major version with new features
|
|
463
|
+
Updates needed:
|
|
464
|
+
1. Update dependency version
|
|
465
|
+
2. New async views patterns
|
|
466
|
+
3. New security features
|
|
467
|
+
4. Breaking changes documented
|
|
468
|
+
Effort: 2-3 hours
|
|
469
|
+
Risk: Requires testing
|
|
470
|
+
Migration guide: Essential
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### Example 3: Best Practice Shift
|
|
474
|
+
|
|
475
|
+
```
|
|
476
|
+
Skill: moai-skill-error-handling-js
|
|
477
|
+
Current: Error handling with try/catch
|
|
478
|
+
Latest: Error handling with Promise chains AND try/await
|
|
479
|
+
Impact: MODERATE
|
|
480
|
+
|
|
481
|
+
Recommendation:
|
|
482
|
+
Priority: MEDIUM
|
|
483
|
+
Justification: Community evolved best practice
|
|
484
|
+
Updates:
|
|
485
|
+
1. Keep current patterns (still valid)
|
|
486
|
+
2. Add modern async/await approach
|
|
487
|
+
3. Show when to use each
|
|
488
|
+
Effort: 1 hour
|
|
489
|
+
Risk: Low (new content, not breaking)
|
|
490
|
+
Migration: Not needed (backward compatible)
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## Preventing Update Fatigue
|
|
496
|
+
|
|
497
|
+
### Update Cadence
|
|
498
|
+
|
|
499
|
+
```
|
|
500
|
+
Framework Type:
|
|
501
|
+
├─ Stable/LTS: Check quarterly (3-4 times/year)
|
|
502
|
+
├─ Regular release: Check monthly (12 times/year)
|
|
503
|
+
├─ Rapid development: Check biweekly (24 times/year)
|
|
504
|
+
└─ Cutting edge: Check weekly (52 times/year)
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
### Priority Filtering
|
|
508
|
+
|
|
509
|
+
```
|
|
510
|
+
Only flag critical updates:
|
|
511
|
+
├─ 🔴 Security issues (ALWAYS)
|
|
512
|
+
├─ 🔴 Breaking changes (ALWAYS)
|
|
513
|
+
├─ 🟠 Version EOL (IF actively used)
|
|
514
|
+
├─ 🟡 New best practices (IF significant)
|
|
515
|
+
└─ 🟢 Minor updates (BATCH quarterly)
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
### Grouped Updates
|
|
519
|
+
|
|
520
|
+
```
|
|
521
|
+
Don't update every small change:
|
|
522
|
+
├─ Batch 3-4 minor updates together
|
|
523
|
+
├─ Wait for quarterly review window
|
|
524
|
+
├─ Combine with community feedback
|
|
525
|
+
|
|
526
|
+
But DO update immediately if:
|
|
527
|
+
├─ Security vulnerability discovered
|
|
528
|
+
├─ Breaking change announced
|
|
529
|
+
├─ Official API changed
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
---
|
|
533
|
+
|
|
534
|
+
## Skill Update Metadata
|
|
535
|
+
|
|
536
|
+
Add to each Skill for tracking:
|
|
537
|
+
|
|
538
|
+
```yaml
|
|
539
|
+
# Update Tracking
|
|
540
|
+
|
|
541
|
+
last_analysis: 2025-10-22
|
|
542
|
+
next_analysis: 2025-11-22 (monthly)
|
|
543
|
+
framework_version: "Pytest 8.0.0"
|
|
544
|
+
framework_version_date: 2025-10-15
|
|
545
|
+
|
|
546
|
+
update_history:
|
|
547
|
+
- date: 2025-10-22
|
|
548
|
+
type: "version update"
|
|
549
|
+
from: "Pytest 7.2 → 8.0"
|
|
550
|
+
priority: "HIGH"
|
|
551
|
+
effort: "LOW"
|
|
552
|
+
status: "approved"
|
|
553
|
+
|
|
554
|
+
- date: 2025-09-15
|
|
555
|
+
type: "best practice update"
|
|
556
|
+
changes: "Added async testing patterns"
|
|
557
|
+
priority: "MEDIUM"
|
|
558
|
+
status: "completed"
|
|
559
|
+
|
|
560
|
+
security_review: 2025-10-22 (No issues)
|
|
561
|
+
deprecation_review: 2025-10-22 (No deprecations found)
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
566
|
+
## Related Resources
|
|
567
|
+
|
|
568
|
+
- [SKILL.md](SKILL.md) — Main Skill framework
|
|
569
|
+
- [WEB-RESEARCH.md](WEB-RESEARCH.md) — Research techniques
|
|
570
|
+
- [INTERACTIVE-DISCOVERY.md](INTERACTIVE-DISCOVERY.md) — Discovery process
|
|
571
|
+
- [skill-factory.md](../../agents/alfred/skill-factory.md) — Orchestration
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
**Version**: 0.1.0
|
|
576
|
+
**Last Updated**: 2025-10-22
|
|
577
|
+
**Framework**: MoAI-ADK + Claude Skills + skill-factory
|