moai-adk 0.15.1__py3-none-any.whl → 0.25.4__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 -2
- moai_adk/__main__.py +85 -2
- moai_adk/cli/__init__.py +0 -1
- moai_adk/cli/commands/__init__.py +0 -1
- moai_adk/cli/commands/analyze.py +127 -0
- moai_adk/cli/commands/backup.py +5 -3
- moai_adk/cli/commands/doctor.py +35 -11
- moai_adk/cli/commands/improve_user_experience.py +348 -0
- moai_adk/cli/commands/init.py +150 -23
- moai_adk/cli/commands/language.py +269 -0
- moai_adk/cli/commands/migrate.py +158 -0
- moai_adk/cli/commands/status.py +13 -12
- moai_adk/cli/commands/update.py +364 -60
- moai_adk/cli/commands/validate_links.py +118 -0
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +79 -82
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +439 -0
- moai_adk/core/claude_integration.py +421 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +346 -0
- moai_adk/core/config/migration.py +133 -12
- moai_adk/core/context_manager.py +279 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/error_recovery_system.py +1289 -0
- moai_adk/core/git/__init__.py +0 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +4 -4
- moai_adk/core/git/checkpoint.py +1 -5
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +0 -1
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +169 -0
- moai_adk/core/integration/integration_tester.py +225 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +28 -18
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_validator.py +556 -0
- moai_adk/core/mcp/setup.py +113 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/backup_manager.py +208 -0
- moai_adk/core/migration/file_migrator.py +218 -0
- moai_adk/core/migration/version_detector.py +143 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +318 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +3 -3
- moai_adk/core/project/detector.py +20 -40
- moai_adk/core/project/initializer.py +42 -17
- moai_adk/core/project/phase_executor.py +415 -58
- moai_adk/core/project/validator.py +6 -25
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +64 -110
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/rollback_manager.py +993 -0
- moai_adk/core/session_manager.py +667 -0
- moai_adk/core/spec/confidence_scoring.py +749 -0
- moai_adk/core/spec/ears_template_engine.py +1182 -0
- moai_adk/core/spec/quality_validator.py +721 -0
- moai_adk/core/spec_status_manager.py +488 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +41 -1
- moai_adk/core/template/config.py +11 -12
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +79 -22
- moai_adk/core/template/processor.py +614 -40
- moai_adk/core/template_engine.py +36 -27
- moai_adk/foundation/git/commit_templates.py +565 -0
- moai_adk/foundation/trust/trust_principles.py +725 -0
- moai_adk/foundation/trust/validation_checklist.py +1678 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +107 -0
- moai_adk/statusline/config.py +364 -0
- moai_adk/statusline/enhanced_output_style_detector.py +364 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +228 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +327 -0
- moai_adk/statusline/update_checker.py +135 -0
- moai_adk/statusline/version_reader.py +647 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +116 -4
- moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +44 -0
- moai_adk/templates/.mcp.json +22 -0
- moai_adk/templates/CLAUDE.md +450 -1071
- moai_adk/utils/__init__.py +0 -1
- moai_adk/utils/banner.py +0 -1
- moai_adk/utils/common.py +308 -0
- moai_adk/utils/link_validator.py +249 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +210 -0
- moai_adk/utils/user_experience.py +531 -0
- moai_adk-0.25.4.dist-info/METADATA +2279 -0
- moai_adk-0.25.4.dist-info/RECORD +112 -0
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -136
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -161
- moai_adk/templates/.claude/settings.json +0 -144
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -128
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.1.dist-info/METADATA +0 -3094
- moai_adk-0.15.1.dist-info/RECORD +0 -365
- {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/WHEEL +0 -0
- {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
# Skill Structure Generator
|
|
5
|
-
# Creates standardized directory structure for new Skills
|
|
6
|
-
# Usage: ./generate-structure.sh skill-name "Skill Display Name"
|
|
7
|
-
|
|
8
|
-
# Color codes
|
|
9
|
-
GREEN='\033[0;32m'
|
|
10
|
-
BLUE='\033[0;34m'
|
|
11
|
-
YELLOW='\033[1;33m'
|
|
12
|
-
NC='\033[0m'
|
|
13
|
-
|
|
14
|
-
# Arguments
|
|
15
|
-
SKILL_DIR="${1:-.}"
|
|
16
|
-
SKILL_NAME="${2:-New Skill}"
|
|
17
|
-
|
|
18
|
-
if [[ "$SKILL_DIR" == "." ]]; then
|
|
19
|
-
echo -e "${YELLOW}⚠ Usage: generate-structure.sh <skill-dir> <display-name>${NC}"
|
|
20
|
-
echo -e "Example: generate-structure.sh my-new-skill \"Processing CSV Files\""
|
|
21
|
-
exit 1
|
|
22
|
-
fi
|
|
23
|
-
|
|
24
|
-
# Normalize skill directory name (kebab-case)
|
|
25
|
-
SKILL_DIR=$(echo "$SKILL_DIR" | tr '[:upper:]' '[:lower:]' | sed 's/ /-/g')
|
|
26
|
-
|
|
27
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
28
|
-
echo -e "${BLUE}Skill Structure Generator${NC}"
|
|
29
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
30
|
-
echo
|
|
31
|
-
|
|
32
|
-
# Create directories
|
|
33
|
-
echo -e "${GREEN}Creating directories...${NC}"
|
|
34
|
-
mkdir -p "$SKILL_DIR/scripts"
|
|
35
|
-
mkdir -p "$SKILL_DIR/templates"
|
|
36
|
-
echo -e "${GREEN}✓ Directories created${NC}"
|
|
37
|
-
echo
|
|
38
|
-
|
|
39
|
-
# Create SKILL.md if not exists
|
|
40
|
-
if [[ ! -f "$SKILL_DIR/SKILL.md" ]]; then
|
|
41
|
-
cat > "$SKILL_DIR/SKILL.md" << 'EOF'
|
|
42
|
-
---
|
|
43
|
-
name: "Skill Name Here"
|
|
44
|
-
description: "What this Skill does and when to use it. Include 3+ discoverable keywords and trigger scenarios."
|
|
45
|
-
allowed-tools: "Tool1, Tool2"
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
# [Skill Name]
|
|
49
|
-
|
|
50
|
-
> **Quick Reference**: Links to supporting files go here.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Overview
|
|
55
|
-
|
|
56
|
-
Describe what this Skill provides and its core purpose.
|
|
57
|
-
|
|
58
|
-
## Quick Start
|
|
59
|
-
|
|
60
|
-
Provide the fastest path to getting started with this Skill.
|
|
61
|
-
|
|
62
|
-
## Main Framework
|
|
63
|
-
|
|
64
|
-
### Section 1: High Freedom (Principles)
|
|
65
|
-
|
|
66
|
-
Provide principles, considerations, and trade-offs.
|
|
67
|
-
|
|
68
|
-
### Section 2: Medium Freedom (Patterns)
|
|
69
|
-
|
|
70
|
-
Include pseudocode, flowcharts, and pattern examples.
|
|
71
|
-
|
|
72
|
-
### Section 3: Low Freedom (Scripts)
|
|
73
|
-
|
|
74
|
-
Provide ready-to-use scripts with error handling.
|
|
75
|
-
|
|
76
|
-
## See Also
|
|
77
|
-
|
|
78
|
-
- [reference.md](reference.md) for detailed reference
|
|
79
|
-
- [examples.md](examples.md) for real-world scenarios
|
|
80
|
-
- `scripts/` for automation utilities
|
|
81
|
-
- `templates/` for reusable templates
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
**Version**: 0.1.0
|
|
86
|
-
**Status**: Draft
|
|
87
|
-
**Last Updated**: 2025-10-22
|
|
88
|
-
EOF
|
|
89
|
-
echo -e "${GREEN}✓ Created SKILL.md${NC}"
|
|
90
|
-
else
|
|
91
|
-
echo -e "${YELLOW}⊘ SKILL.md already exists${NC}"
|
|
92
|
-
fi
|
|
93
|
-
echo
|
|
94
|
-
|
|
95
|
-
# Create reference.md if not exists
|
|
96
|
-
if [[ ! -f "$SKILL_DIR/reference.md" ]]; then
|
|
97
|
-
cat > "$SKILL_DIR/reference.md" << 'EOF'
|
|
98
|
-
# Reference: [Skill Name]
|
|
99
|
-
|
|
100
|
-
This document provides detailed reference information for [Skill Name].
|
|
101
|
-
|
|
102
|
-
## API Reference
|
|
103
|
-
|
|
104
|
-
### Function/Command 1
|
|
105
|
-
|
|
106
|
-
Description of what it does.
|
|
107
|
-
|
|
108
|
-
**Parameters**:
|
|
109
|
-
- `param1`: Description
|
|
110
|
-
- `param2`: Description
|
|
111
|
-
|
|
112
|
-
**Returns**: Description of return value
|
|
113
|
-
|
|
114
|
-
**Example**:
|
|
115
|
-
```
|
|
116
|
-
code example here
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Configuration
|
|
120
|
-
|
|
121
|
-
### Available Options
|
|
122
|
-
|
|
123
|
-
- Option 1: Description
|
|
124
|
-
- Option 2: Description
|
|
125
|
-
|
|
126
|
-
### Configuration Format
|
|
127
|
-
|
|
128
|
-
```yaml
|
|
129
|
-
example: configuration
|
|
130
|
-
structure: here
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## Edge Cases
|
|
134
|
-
|
|
135
|
-
### Known Limitations
|
|
136
|
-
|
|
137
|
-
- Limitation 1
|
|
138
|
-
- Limitation 2
|
|
139
|
-
|
|
140
|
-
### Workarounds
|
|
141
|
-
|
|
142
|
-
- Workaround for limitation 1
|
|
143
|
-
- Workaround for limitation 2
|
|
144
|
-
|
|
145
|
-
## Performance Considerations
|
|
146
|
-
|
|
147
|
-
- Consideration 1
|
|
148
|
-
- Consideration 2
|
|
149
|
-
|
|
150
|
-
## Glossary
|
|
151
|
-
|
|
152
|
-
- **Term 1**: Definition
|
|
153
|
-
- **Term 2**: Definition
|
|
154
|
-
|
|
155
|
-
## Related Resources
|
|
156
|
-
|
|
157
|
-
- [SKILL.md](SKILL.md) for main framework
|
|
158
|
-
- [examples.md](examples.md) for usage examples
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
**Version**: 0.1.0
|
|
163
|
-
**Last Updated**: 2025-10-22
|
|
164
|
-
EOF
|
|
165
|
-
echo -e "${GREEN}✓ Created reference.md${NC}"
|
|
166
|
-
else
|
|
167
|
-
echo -e "${YELLOW}⊘ reference.md already exists${NC}"
|
|
168
|
-
fi
|
|
169
|
-
echo
|
|
170
|
-
|
|
171
|
-
# Create examples.md if not exists
|
|
172
|
-
if [[ ! -f "$SKILL_DIR/examples.md" ]]; then
|
|
173
|
-
cat > "$SKILL_DIR/examples.md" << 'EOF'
|
|
174
|
-
# Examples: [Skill Name]
|
|
175
|
-
|
|
176
|
-
Real-world examples demonstrating [Skill Name] in practice.
|
|
177
|
-
|
|
178
|
-
## Example 1: Basic Usage
|
|
179
|
-
|
|
180
|
-
**Scenario**: [Describe a basic scenario]
|
|
181
|
-
|
|
182
|
-
**Code**:
|
|
183
|
-
```
|
|
184
|
-
example code here
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**Expected Output**:
|
|
188
|
-
```
|
|
189
|
-
expected output here
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
## Example 2: Intermediate Pattern
|
|
193
|
-
|
|
194
|
-
**Scenario**: [Describe an intermediate scenario]
|
|
195
|
-
|
|
196
|
-
**Code**:
|
|
197
|
-
```
|
|
198
|
-
example code here
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Expected Output**:
|
|
202
|
-
```
|
|
203
|
-
expected output here
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## Example 3: Advanced Use Case
|
|
207
|
-
|
|
208
|
-
**Scenario**: [Describe an advanced scenario]
|
|
209
|
-
|
|
210
|
-
**Code**:
|
|
211
|
-
```
|
|
212
|
-
example code here
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
**Expected Output**:
|
|
216
|
-
```
|
|
217
|
-
expected output here
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
## Example 4: Edge Case
|
|
221
|
-
|
|
222
|
-
**Scenario**: [Describe an edge case or unusual scenario]
|
|
223
|
-
|
|
224
|
-
**Code**:
|
|
225
|
-
```
|
|
226
|
-
example code here
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**Expected Output**:
|
|
230
|
-
```
|
|
231
|
-
expected output here
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
## Common Patterns
|
|
235
|
-
|
|
236
|
-
### Pattern 1
|
|
237
|
-
Description and example of a common pattern.
|
|
238
|
-
|
|
239
|
-
### Pattern 2
|
|
240
|
-
Description and example of another common pattern.
|
|
241
|
-
|
|
242
|
-
## See Also
|
|
243
|
-
|
|
244
|
-
- [SKILL.md](SKILL.md) for framework and concepts
|
|
245
|
-
- [reference.md](reference.md) for API details
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
**Version**: 0.1.0
|
|
250
|
-
**Last Updated**: 2025-10-22
|
|
251
|
-
EOF
|
|
252
|
-
echo -e "${GREEN}✓ Created examples.md${NC}"
|
|
253
|
-
else
|
|
254
|
-
echo -e "${YELLOW}⊘ examples.md already exists${NC}"
|
|
255
|
-
fi
|
|
256
|
-
echo
|
|
257
|
-
|
|
258
|
-
# Create sample script template
|
|
259
|
-
if [[ ! -f "$SKILL_DIR/scripts/.gitkeep" && ! -f "$SKILL_DIR/scripts"/*.sh ]]; then
|
|
260
|
-
touch "$SKILL_DIR/scripts/.gitkeep"
|
|
261
|
-
echo -e "${GREEN}✓ Created scripts/.gitkeep${NC}"
|
|
262
|
-
else
|
|
263
|
-
echo -e "${YELLOW}⊘ scripts directory already has content${NC}"
|
|
264
|
-
fi
|
|
265
|
-
echo
|
|
266
|
-
|
|
267
|
-
# Create sample template
|
|
268
|
-
if [[ ! -f "$SKILL_DIR/templates/.gitkeep" && ! -f "$SKILL_DIR/templates"/* ]]; then
|
|
269
|
-
touch "$SKILL_DIR/templates/.gitkeep"
|
|
270
|
-
echo -e "${GREEN}✓ Created templates/.gitkeep${NC}"
|
|
271
|
-
else
|
|
272
|
-
echo -e "${YELLOW}⊘ templates directory already has content${NC}"
|
|
273
|
-
fi
|
|
274
|
-
echo
|
|
275
|
-
|
|
276
|
-
# Create .gitignore if not exists
|
|
277
|
-
if [[ ! -f "$SKILL_DIR/.gitignore" ]]; then
|
|
278
|
-
cat > "$SKILL_DIR/.gitignore" << 'EOF'
|
|
279
|
-
# Temporary files
|
|
280
|
-
*.tmp
|
|
281
|
-
*.temp
|
|
282
|
-
.DS_Store
|
|
283
|
-
|
|
284
|
-
# IDE
|
|
285
|
-
.vscode/
|
|
286
|
-
.idea/
|
|
287
|
-
*.swp
|
|
288
|
-
*.swo
|
|
289
|
-
|
|
290
|
-
# Python
|
|
291
|
-
__pycache__/
|
|
292
|
-
*.py[cod]
|
|
293
|
-
.pytest_cache/
|
|
294
|
-
.coverage
|
|
295
|
-
|
|
296
|
-
# Node
|
|
297
|
-
node_modules/
|
|
298
|
-
.npm
|
|
299
|
-
EOF
|
|
300
|
-
echo -e "${GREEN}✓ Created .gitignore${NC}"
|
|
301
|
-
fi
|
|
302
|
-
echo
|
|
303
|
-
|
|
304
|
-
# Display summary
|
|
305
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
306
|
-
echo -e "${GREEN}✅ Skill Structure Created${NC}"
|
|
307
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
308
|
-
echo
|
|
309
|
-
echo "Directory: $SKILL_DIR"
|
|
310
|
-
echo "Files created:"
|
|
311
|
-
echo " ✓ SKILL.md (main content template)"
|
|
312
|
-
echo " ✓ reference.md (supporting reference)"
|
|
313
|
-
echo " ✓ examples.md (usage examples)"
|
|
314
|
-
echo " ✓ scripts/ (for utility scripts)"
|
|
315
|
-
echo " ✓ templates/ (for reusable templates)"
|
|
316
|
-
echo " ✓ .gitignore (version control)"
|
|
317
|
-
echo
|
|
318
|
-
echo -e "${BLUE}Next Steps:${NC}"
|
|
319
|
-
echo "1. Edit SKILL.md with your Skill content"
|
|
320
|
-
echo "2. Update metadata (name, description, allowed-tools)"
|
|
321
|
-
echo "3. Add examples to examples.md"
|
|
322
|
-
echo "4. Create scripts in scripts/ directory"
|
|
323
|
-
echo "5. Run validation: ../../scripts/validate-skill.sh $SKILL_DIR"
|
|
324
|
-
echo
|
|
325
|
-
echo -e "${BLUE}Documentation:${NC}"
|
|
326
|
-
echo "- See SKILL.md for content guidelines"
|
|
327
|
-
echo "- See templates/ for example structures"
|
|
328
|
-
echo
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
# Skill Validation Script
|
|
5
|
-
# Validates Skill packages against MoAI-ADK quality standards
|
|
6
|
-
# Usage: ./validate-skill.sh /path/to/skill-name
|
|
7
|
-
|
|
8
|
-
SKILL_PATH="${1:-.}"
|
|
9
|
-
SCORE=0
|
|
10
|
-
MAX_SCORE=85
|
|
11
|
-
WARNINGS=0
|
|
12
|
-
|
|
13
|
-
# Color codes
|
|
14
|
-
GREEN='\033[0;32m'
|
|
15
|
-
RED='\033[0;31m'
|
|
16
|
-
YELLOW='\033[1;33m'
|
|
17
|
-
BLUE='\033[0;34m'
|
|
18
|
-
NC='\033[0m' # No Color
|
|
19
|
-
|
|
20
|
-
# Functions
|
|
21
|
-
log_pass() {
|
|
22
|
-
echo -e "${GREEN}✓${NC} $1"
|
|
23
|
-
((SCORE+=1))
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
log_fail() {
|
|
27
|
-
echo -e "${RED}✗${NC} $1"
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
log_warn() {
|
|
31
|
-
echo -e "${YELLOW}⚠${NC} $1"
|
|
32
|
-
((WARNINGS+=1))
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
log_info() {
|
|
36
|
-
echo -e "${BLUE}ℹ${NC} $1"
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
# Header
|
|
40
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
41
|
-
echo -e "${BLUE}Skill Validation: $(basename "$SKILL_PATH")${NC}"
|
|
42
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
43
|
-
echo
|
|
44
|
-
|
|
45
|
-
# === METADATA COMPLETENESS (8 points) ===
|
|
46
|
-
echo -e "${BLUE}[Metadata Completeness]${NC}"
|
|
47
|
-
|
|
48
|
-
if [[ ! -f "$SKILL_PATH/SKILL.md" ]]; then
|
|
49
|
-
log_fail "SKILL.md not found"
|
|
50
|
-
exit 1
|
|
51
|
-
fi
|
|
52
|
-
|
|
53
|
-
# Check name field
|
|
54
|
-
if grep -q "^name:" "$SKILL_PATH/SKILL.md"; then
|
|
55
|
-
NAME=$(grep "^name:" "$SKILL_PATH/SKILL.md" | sed 's/^name: *"\(.*\)"/\1/')
|
|
56
|
-
NAME_LEN=${#NAME}
|
|
57
|
-
if [[ $NAME_LEN -le 64 ]]; then
|
|
58
|
-
log_pass "name field present and within limit ($NAME_LEN chars)"
|
|
59
|
-
((SCORE+=2))
|
|
60
|
-
else
|
|
61
|
-
log_fail "name field exceeds 64 characters ($NAME_LEN chars)"
|
|
62
|
-
fi
|
|
63
|
-
else
|
|
64
|
-
log_fail "name field missing"
|
|
65
|
-
fi
|
|
66
|
-
|
|
67
|
-
# Check description field
|
|
68
|
-
if grep -q "^description:" "$SKILL_PATH/SKILL.md"; then
|
|
69
|
-
log_pass "description field present"
|
|
70
|
-
((SCORE+=2))
|
|
71
|
-
DESC=$(grep "^description:" "$SKILL_PATH/SKILL.md" | sed 's/^description: *"\(.*\)"/\1/')
|
|
72
|
-
DESC_LEN=${#DESC}
|
|
73
|
-
if [[ $DESC_LEN -le 1024 ]]; then
|
|
74
|
-
log_pass "description within limit ($DESC_LEN chars)"
|
|
75
|
-
((SCORE+=1))
|
|
76
|
-
else
|
|
77
|
-
log_fail "description exceeds 1024 characters"
|
|
78
|
-
fi
|
|
79
|
-
else
|
|
80
|
-
log_fail "description field missing"
|
|
81
|
-
fi
|
|
82
|
-
|
|
83
|
-
# Check allowed-tools field
|
|
84
|
-
if grep -q "^allowed-tools:" "$SKILL_PATH/SKILL.md"; then
|
|
85
|
-
log_pass "allowed-tools field present"
|
|
86
|
-
((SCORE+=2))
|
|
87
|
-
else
|
|
88
|
-
log_warn "allowed-tools field missing (recommended)"
|
|
89
|
-
fi
|
|
90
|
-
|
|
91
|
-
# Check YAML validity
|
|
92
|
-
if head -n 10 "$SKILL_PATH/SKILL.md" | grep -q "^---$"; then
|
|
93
|
-
log_pass "YAML frontmatter starts with ---"
|
|
94
|
-
((SCORE+=1))
|
|
95
|
-
else
|
|
96
|
-
log_fail "YAML frontmatter missing ---"
|
|
97
|
-
fi
|
|
98
|
-
|
|
99
|
-
echo
|
|
100
|
-
|
|
101
|
-
# === CONTENT QUALITY (16 points) ===
|
|
102
|
-
echo -e "${BLUE}[Content Quality]${NC}"
|
|
103
|
-
|
|
104
|
-
# Check file size
|
|
105
|
-
LINE_COUNT=$(wc -l < "$SKILL_PATH/SKILL.md")
|
|
106
|
-
if [[ $LINE_COUNT -le 500 ]]; then
|
|
107
|
-
log_pass "SKILL.md within size limit ($LINE_COUNT lines)"
|
|
108
|
-
((SCORE+=2))
|
|
109
|
-
else
|
|
110
|
-
log_fail "SKILL.md exceeds 500 lines ($LINE_COUNT lines)"
|
|
111
|
-
fi
|
|
112
|
-
|
|
113
|
-
# Check for examples
|
|
114
|
-
if grep -q "^##.*[Ee]xample" "$SKILL_PATH/SKILL.md"; then
|
|
115
|
-
EXAMPLE_COUNT=$(grep -c "^###" "$SKILL_PATH/SKILL.md" || echo 0)
|
|
116
|
-
if [[ $EXAMPLE_COUNT -ge 1 ]]; then
|
|
117
|
-
log_pass "Examples found ($EXAMPLE_COUNT examples)"
|
|
118
|
-
((SCORE+=2))
|
|
119
|
-
else
|
|
120
|
-
log_warn "Few examples found"
|
|
121
|
-
fi
|
|
122
|
-
else
|
|
123
|
-
log_warn "No examples section detected"
|
|
124
|
-
fi
|
|
125
|
-
|
|
126
|
-
# Check for relative paths
|
|
127
|
-
if grep -q "\[.*\](.*)" "$SKILL_PATH/SKILL.md"; then
|
|
128
|
-
if grep -q "\[.*\](\.\./\|http\|/\|~" "$SKILL_PATH/SKILL.md"; then
|
|
129
|
-
log_warn "Some links may use absolute or external paths"
|
|
130
|
-
((WARNINGS+=1))
|
|
131
|
-
else
|
|
132
|
-
log_pass "Links use relative paths"
|
|
133
|
-
((SCORE+=2))
|
|
134
|
-
fi
|
|
135
|
-
else
|
|
136
|
-
log_pass "No external links detected"
|
|
137
|
-
((SCORE+=2))
|
|
138
|
-
fi
|
|
139
|
-
|
|
140
|
-
# Check for Windows paths
|
|
141
|
-
if grep -q "\\\\" "$SKILL_PATH/SKILL.md"; then
|
|
142
|
-
log_fail "Windows-style paths detected (use forward slashes)"
|
|
143
|
-
else
|
|
144
|
-
log_pass "No Windows-style paths"
|
|
145
|
-
((SCORE+=1))
|
|
146
|
-
fi
|
|
147
|
-
|
|
148
|
-
# Check for glossary/terminology
|
|
149
|
-
if grep -q "[Gg]lossary\|[Tt]ermino" "$SKILL_PATH/SKILL.md"; then
|
|
150
|
-
log_pass "Glossary or terminology section present"
|
|
151
|
-
((SCORE+=1))
|
|
152
|
-
else
|
|
153
|
-
log_warn "No glossary detected"
|
|
154
|
-
fi
|
|
155
|
-
|
|
156
|
-
# Check for time-sensitive data
|
|
157
|
-
if grep -q "20[0-9][0-9]-[0-9][0-9]-[0-9][0-9]\|today\|current date" "$SKILL_PATH/SKILL.md"; then
|
|
158
|
-
log_fail "Time-sensitive information detected"
|
|
159
|
-
else
|
|
160
|
-
log_pass "No time-sensitive data"
|
|
161
|
-
((SCORE+=1))
|
|
162
|
-
fi
|
|
163
|
-
|
|
164
|
-
echo
|
|
165
|
-
|
|
166
|
-
# === FILE STRUCTURE (6 points) ===
|
|
167
|
-
echo -e "${BLUE}[File Structure]${NC}"
|
|
168
|
-
|
|
169
|
-
# Check directory depth
|
|
170
|
-
MAX_DEPTH=$(find "$SKILL_PATH" -type d | sed "s|$SKILL_PATH||" | grep -v "^$" | awk -F/ '{print NF}' | sort -rn | head -1)
|
|
171
|
-
if [[ -z $MAX_DEPTH ]]; then
|
|
172
|
-
MAX_DEPTH=1
|
|
173
|
-
fi
|
|
174
|
-
|
|
175
|
-
if [[ $MAX_DEPTH -le 2 ]]; then
|
|
176
|
-
log_pass "Directory structure flat (max depth: $MAX_DEPTH)"
|
|
177
|
-
((SCORE+=2))
|
|
178
|
-
else
|
|
179
|
-
log_fail "Directory structure too nested (max depth: $MAX_DEPTH)"
|
|
180
|
-
fi
|
|
181
|
-
|
|
182
|
-
# Check for common subdirs
|
|
183
|
-
if [[ -d "$SKILL_PATH/scripts" ]]; then
|
|
184
|
-
SCRIPT_COUNT=$(find "$SKILL_PATH/scripts" -type f | wc -l)
|
|
185
|
-
log_pass "scripts/ directory present ($SCRIPT_COUNT files)"
|
|
186
|
-
((SCORE+=1))
|
|
187
|
-
fi
|
|
188
|
-
|
|
189
|
-
if [[ -d "$SKILL_PATH/templates" ]]; then
|
|
190
|
-
TEMPLATE_COUNT=$(find "$SKILL_PATH/templates" -type f | wc -l)
|
|
191
|
-
log_pass "templates/ directory present ($TEMPLATE_COUNT files)"
|
|
192
|
-
((SCORE+=1))
|
|
193
|
-
fi
|
|
194
|
-
|
|
195
|
-
# Check for supporting docs
|
|
196
|
-
if [[ -f "$SKILL_PATH/reference.md" ]]; then
|
|
197
|
-
log_pass "reference.md found"
|
|
198
|
-
((SCORE+=1))
|
|
199
|
-
fi
|
|
200
|
-
|
|
201
|
-
if [[ -f "$SKILL_PATH/examples.md" ]]; then
|
|
202
|
-
log_pass "examples.md found"
|
|
203
|
-
((SCORE+=1))
|
|
204
|
-
fi
|
|
205
|
-
|
|
206
|
-
echo
|
|
207
|
-
|
|
208
|
-
# === MARKDOWN VALIDITY (3 points) ===
|
|
209
|
-
echo -e "${BLUE}[Markdown Validity]${NC}"
|
|
210
|
-
|
|
211
|
-
# Check for proper headers
|
|
212
|
-
if grep -q "^#" "$SKILL_PATH/SKILL.md"; then
|
|
213
|
-
log_pass "Headers detected"
|
|
214
|
-
((SCORE+=1))
|
|
215
|
-
else
|
|
216
|
-
log_warn "No headers found"
|
|
217
|
-
fi
|
|
218
|
-
|
|
219
|
-
# Check for code blocks
|
|
220
|
-
if grep -q "^\`\`\`" "$SKILL_PATH/SKILL.md"; then
|
|
221
|
-
log_pass "Code blocks present"
|
|
222
|
-
((SCORE+=1))
|
|
223
|
-
else
|
|
224
|
-
log_warn "No code blocks found"
|
|
225
|
-
fi
|
|
226
|
-
|
|
227
|
-
# Check for lists
|
|
228
|
-
if grep -q "^- \|^ - " "$SKILL_PATH/SKILL.md"; then
|
|
229
|
-
log_pass "Lists present"
|
|
230
|
-
((SCORE+=1))
|
|
231
|
-
else
|
|
232
|
-
log_warn "No lists detected"
|
|
233
|
-
fi
|
|
234
|
-
|
|
235
|
-
echo
|
|
236
|
-
|
|
237
|
-
# === SCRIPT VALIDITY (if present) ===
|
|
238
|
-
if [[ -d "$SKILL_PATH/scripts" ]]; then
|
|
239
|
-
echo -e "${BLUE}[Script Validation]${NC}"
|
|
240
|
-
|
|
241
|
-
for script in "$SKILL_PATH"/scripts/*; do
|
|
242
|
-
if [[ -f "$script" && ! "$script" =~ \.gitkeep$ ]]; then
|
|
243
|
-
SCRIPT_NAME=$(basename "$script")
|
|
244
|
-
|
|
245
|
-
# Check shebang
|
|
246
|
-
if head -n 1 "$script" | grep -q "^#!/"; then
|
|
247
|
-
log_pass "$SCRIPT_NAME has shebang"
|
|
248
|
-
((SCORE+=1))
|
|
249
|
-
else
|
|
250
|
-
log_warn "$SCRIPT_NAME missing shebang"
|
|
251
|
-
fi
|
|
252
|
-
|
|
253
|
-
# Check for error handling (Bash scripts)
|
|
254
|
-
if [[ "$script" =~ \.sh$ ]]; then
|
|
255
|
-
if grep -q "set -euo pipefail\|set -e" "$script"; then
|
|
256
|
-
log_pass "$SCRIPT_NAME has error handling"
|
|
257
|
-
((SCORE+=1))
|
|
258
|
-
else
|
|
259
|
-
log_warn "$SCRIPT_NAME lacks error handling"
|
|
260
|
-
fi
|
|
261
|
-
fi
|
|
262
|
-
fi
|
|
263
|
-
done
|
|
264
|
-
echo
|
|
265
|
-
fi
|
|
266
|
-
|
|
267
|
-
# === SECURITY CHECK ===
|
|
268
|
-
echo -e "${BLUE}[Security Check]${NC}"
|
|
269
|
-
|
|
270
|
-
# Check for credentials
|
|
271
|
-
if grep -q "password\|api_key\|secret\|token.*=" "$SKILL_PATH/SKILL.md" -i; then
|
|
272
|
-
log_warn "Potential credentials detected in SKILL.md"
|
|
273
|
-
((WARNINGS+=1))
|
|
274
|
-
else
|
|
275
|
-
log_pass "No obvious credentials"
|
|
276
|
-
((SCORE+=1))
|
|
277
|
-
fi
|
|
278
|
-
|
|
279
|
-
# Check for no email
|
|
280
|
-
if grep -q "[a-z0-9._%+-]*@[a-z0-9.-]*\.[a-z]" "$SKILL_PATH/SKILL.md"; then
|
|
281
|
-
log_warn "Email addresses found (privacy concern?)"
|
|
282
|
-
((WARNINGS+=1))
|
|
283
|
-
else
|
|
284
|
-
log_pass "No email addresses"
|
|
285
|
-
((SCORE+=1))
|
|
286
|
-
fi
|
|
287
|
-
|
|
288
|
-
echo
|
|
289
|
-
|
|
290
|
-
# === SUMMARY ===
|
|
291
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
292
|
-
echo -e "Score: ${BLUE}$SCORE${NC}/$MAX_SCORE"
|
|
293
|
-
if [[ $WARNINGS -gt 0 ]]; then
|
|
294
|
-
echo -e "Warnings: ${YELLOW}$WARNINGS${NC}"
|
|
295
|
-
fi
|
|
296
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
297
|
-
|
|
298
|
-
# Determine pass/fail
|
|
299
|
-
if [[ $SCORE -ge 70 ]]; then
|
|
300
|
-
echo -e "${GREEN}✅ PASS${NC}"
|
|
301
|
-
if [[ $SCORE -ge 85 ]]; then
|
|
302
|
-
echo -e "${GREEN}Ready for publication${NC}"
|
|
303
|
-
exit 0
|
|
304
|
-
else
|
|
305
|
-
echo -e "${YELLOW}Minor issues detected; review warnings${NC}"
|
|
306
|
-
exit 0
|
|
307
|
-
fi
|
|
308
|
-
else
|
|
309
|
-
echo -e "${RED}❌ FAIL${NC}"
|
|
310
|
-
echo -e "${RED}Needs significant improvements${NC}"
|
|
311
|
-
exit 1
|
|
312
|
-
fi
|