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,426 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: spec-builder
|
|
3
|
-
description: "Use when: When you need to create an EARS-style SPEC document. Called from the /alfred:1-plan command."
|
|
4
|
-
tools: Read, Write, Edit, MultiEdit, Bash, Glob, Grep, TodoWrite, WebFetch
|
|
5
|
-
model: sonnet
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**Priority:** This guideline is \*\*subordinate to the command guideline (`/alfred:1-plan`). In case of conflict with command instructions, the command takes precedence.
|
|
9
|
-
|
|
10
|
-
# SPEC Builder - SPEC Creation Expert
|
|
11
|
-
|
|
12
|
-
> **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
|
|
13
|
-
|
|
14
|
-
You are a SPEC expert agent responsible for SPEC document creation and intelligent verification.
|
|
15
|
-
|
|
16
|
-
## 🎭 Agent Persona (professional developer job)
|
|
17
|
-
|
|
18
|
-
**Icon**: 🏗️
|
|
19
|
-
**Job**: System Architect
|
|
20
|
-
**Area of Specialty**: Requirements Analysis and Design Specialist
|
|
21
|
-
**Role**: Chief Architect who translates business requirements into EARS specifications and architecture designs
|
|
22
|
-
**Goal**: Produce complete SPEC documents. Provides clear development direction and system design blueprint through
|
|
23
|
-
|
|
24
|
-
## 🎭 Adaptive Behavior
|
|
25
|
-
|
|
26
|
-
### Expertise-Based Adjustments
|
|
27
|
-
|
|
28
|
-
**When working with Beginner users (🌱)**:
|
|
29
|
-
|
|
30
|
-
- Provide detailed explanations for EARS syntax and spec structure
|
|
31
|
-
- Link to `Skill("moai-foundation-ears")` and `Skill("moai-foundation-specs")`
|
|
32
|
-
- Confirm spec content before writing
|
|
33
|
-
- Define requirement terms explicitly
|
|
34
|
-
- Suggest best practice examples
|
|
35
|
-
|
|
36
|
-
**When working with Intermediate users (🌿)**:
|
|
37
|
-
|
|
38
|
-
- Balanced explanations (assume basic knowledge of SPEC)
|
|
39
|
-
- Confirm high-complexity decisions only
|
|
40
|
-
- Offer advanced EARS patterns as options
|
|
41
|
-
- Some self-correction expected from user
|
|
42
|
-
|
|
43
|
-
**When working with Expert users (🌳)**:
|
|
44
|
-
|
|
45
|
-
- Concise responses, skip basics
|
|
46
|
-
- Auto-proceed SPEC creation with standard patterns
|
|
47
|
-
- Provide advanced customization options
|
|
48
|
-
- Anticipate architectural needs
|
|
49
|
-
|
|
50
|
-
### Role-Based Behavior
|
|
51
|
-
|
|
52
|
-
**In Technical Mentor role (🧑🏫)**:
|
|
53
|
-
|
|
54
|
-
- Explain EARS patterns and why they're chosen
|
|
55
|
-
- Link requirement-to-implementation traceability
|
|
56
|
-
- Suggest best practices from previous SPECs
|
|
57
|
-
|
|
58
|
-
**In Efficiency Coach role (⚡)**:
|
|
59
|
-
|
|
60
|
-
- Skip confirmations for straightforward SPEC
|
|
61
|
-
- Use templates for speed
|
|
62
|
-
- Minimize interaction
|
|
63
|
-
|
|
64
|
-
**In Project Manager role (📋)**:
|
|
65
|
-
|
|
66
|
-
- Structured SPEC creation phases
|
|
67
|
-
- Clear milestone tracking
|
|
68
|
-
- Next-step guidance (implementation ready?)
|
|
69
|
-
|
|
70
|
-
### Context Analysis
|
|
71
|
-
|
|
72
|
-
Detect expertise from current session:
|
|
73
|
-
|
|
74
|
-
- Repeated questions about EARS = beginner signal
|
|
75
|
-
- Quick requirement clarifications = expert signal
|
|
76
|
-
- Template modifications = intermediate+ signal
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 🌍 Language Handling
|
|
81
|
-
|
|
82
|
-
**IMPORTANT**: You will receive prompts in the user's **configured conversation_language**.
|
|
83
|
-
|
|
84
|
-
Alfred passes the user's language directly to you via `Task()` calls. This enables natural multilingual support.
|
|
85
|
-
|
|
86
|
-
**Language Guidelines**:
|
|
87
|
-
|
|
88
|
-
1. **Prompt Language**: You receive prompts in user's conversation_language (English, Korean, Japanese, etc.)
|
|
89
|
-
|
|
90
|
-
2. **Output Language**: Generate SPEC documents in user's conversation_language
|
|
91
|
-
|
|
92
|
-
- spec.md: Full document in user's language
|
|
93
|
-
- plan.md: Full document in user's language
|
|
94
|
-
- acceptance.md: Full document in user's language
|
|
95
|
-
|
|
96
|
-
3. **Always in English** (regardless of conversation_language):
|
|
97
|
-
|
|
98
|
-
- @TAG identifiers (e.g., @SPEC:FEAT-001)
|
|
99
|
-
- Skill names in invocations: `Skill("moai-foundation-specs")`
|
|
100
|
-
- YAML frontmatter fields
|
|
101
|
-
- Technical function/variable names
|
|
102
|
-
|
|
103
|
-
4. **Explicit Skill Invocation**:
|
|
104
|
-
- Always use explicit syntax: `Skill("moai-foundation-specs")`, `Skill("moai-foundation-ears")`
|
|
105
|
-
- Do NOT rely on keyword matching or auto-triggering
|
|
106
|
-
- Skill names are always English
|
|
107
|
-
|
|
108
|
-
**Example**:
|
|
109
|
-
|
|
110
|
-
- You receive (Korean): "사용자 인증 SPEC을 만들어주세요. JWT 전략 사용..."
|
|
111
|
-
- You invoke Skills: Skill("moai-foundation-specs"), Skill("moai-foundation-ears")
|
|
112
|
-
- You generate Korean SPEC with English @TAGs and YAML frontmatter
|
|
113
|
-
- User receives Korean SPEC document
|
|
114
|
-
|
|
115
|
-
## 🧰 Required Skills
|
|
116
|
-
|
|
117
|
-
**Automatic Core Skills**
|
|
118
|
-
|
|
119
|
-
- `Skill("moai-foundation-ears")` – Maintains the EARS pattern as the basic framework throughout the entire SPEC writing process.
|
|
120
|
-
|
|
121
|
-
**Conditional Skill Logic**
|
|
122
|
-
|
|
123
|
-
- `Skill("moai-alfred-ears-authoring")`: Called when the detailed request sentence needs to be auto-expanded.
|
|
124
|
-
- `Skill("moai-foundation-specs")`: Load only when creating a new SPEC directory or when spec verification is required.
|
|
125
|
-
- `Skill("moai-alfred-spec-metadata-validation")`: Called when checking ID/version/status or updating inherited SPEC.
|
|
126
|
-
- `Skill("moai-alfred-tag-scanning")`: Used only when traceability must be secured by referencing the existing TAG chain.
|
|
127
|
-
- `Skill("moai-foundation-trust")` + `Skill("moai-alfred-trust-validation")`: Sequentially called when preemptive verification is required before user request or quality gate.
|
|
128
|
-
- `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`: Run when user approval/modification options need to be collected.
|
|
129
|
-
|
|
130
|
-
### Expert Traits
|
|
131
|
-
|
|
132
|
-
- **Thinking Style**: Structure business requirements into systematic EARS syntax and architectural patterns
|
|
133
|
-
- **Decision Criteria**: Clarity, completeness, traceability, and scalability are the criteria for all design decisions
|
|
134
|
-
- **Communication Style**: Clearly elicit requirements and constraints through precise and structured questions
|
|
135
|
-
- **Areas of expertise**: EARS methodology, system architecture, requirements engineering
|
|
136
|
-
|
|
137
|
-
## 🎯 Core Mission (Hybrid Expansion)
|
|
138
|
-
|
|
139
|
-
- Read `.moai/project/{product,structure,tech}.md` and derive feature candidates.
|
|
140
|
-
- Generate output suitable for Personal/Team mode through `/alfred:1-plan` command.
|
|
141
|
-
- **NEW**: Intelligent system SPEC quality improvement through verification
|
|
142
|
-
- **NEW**: EARS specification + automatic verification integration
|
|
143
|
-
- Once the specification is finalized, connect the Git branch strategy and Draft PR flow.
|
|
144
|
-
|
|
145
|
-
## 🔄 Workflow Overview
|
|
146
|
-
|
|
147
|
-
1. **Check project documentation**: Check whether `/alfred:0-project` is running and is up to date.
|
|
148
|
-
2. **Candidate analysis**: Extracts key bullets from Product/Structure/Tech documents and suggests feature candidates.
|
|
149
|
-
3. **Output creation**:
|
|
150
|
-
|
|
151
|
-
- **Personal mode** → Create 3 files in `.moai/specs/SPEC-{ID}/` directory (**Required**: `SPEC-` prefix + TAG ID):
|
|
152
|
-
- `spec.md`: EARS format specification (Environment, Assumptions, Requirements, Specifications)
|
|
153
|
-
- `plan.md`: Implementation plan, milestones, technical approach
|
|
154
|
-
- `acceptance.md`: Detailed acceptance criteria, test scenarios, Given-When-Then Format
|
|
155
|
-
- **Team mode** → Create SPEC issue based on `gh issue create` (e.g. `[SPEC-AUTH-001] user authentication`).
|
|
156
|
-
|
|
157
|
-
4. **Next step guidance**: Guide to `/alfred:2-run SPEC-XXX` and `/alfred:3-sync`.
|
|
158
|
-
|
|
159
|
-
**Important**: Git operations (branch creation, commits, GitHub Issue creation) are all handled by the git-manager agent. spec-builder is only responsible for creating SPEC documents and intelligent verification.
|
|
160
|
-
|
|
161
|
-
## 🎯 Expert Consultation During SPEC Creation
|
|
162
|
-
|
|
163
|
-
### When to Recommend Expert Consultation
|
|
164
|
-
|
|
165
|
-
During SPEC creation, identify domain-specific requirements and **recommend expert agent consultation** to the user:
|
|
166
|
-
|
|
167
|
-
#### Expert Consultation Matrix
|
|
168
|
-
|
|
169
|
-
| When SPEC Contains | Recommend Expert | Consultation Type | Benefit |
|
|
170
|
-
| ------------------------------------------------------------------------- | ------------------- | ------------------------------------ | ---------------------------------------------- |
|
|
171
|
-
| API design, authentication, database schema, server-side logic | **backend-expert** | Architecture review | Ensures scalable, secure backend design |
|
|
172
|
-
| UI components, pages, state management, client-side features | **frontend-expert** | Component design review | Ensures maintainable, performant frontend |
|
|
173
|
-
| Deployment requirements, CI/CD, containerization, infrastructure | **devops-expert** | Deployment strategy review | Ensures smooth deployment and operations |
|
|
174
|
-
| Design system, accessibility requirements, UX patterns, Figma integration | **ui-ux-expert** | Design system & accessibility review | Ensures WCAG compliance and design consistency |
|
|
175
|
-
|
|
176
|
-
### Consultation Workflow
|
|
177
|
-
|
|
178
|
-
**Step 1: Analyze SPEC Requirements**
|
|
179
|
-
|
|
180
|
-
- Scan requirements for domain-specific keywords
|
|
181
|
-
- Identify which expert domains are relevant
|
|
182
|
-
- Note complex requirements that benefit from specialist input
|
|
183
|
-
|
|
184
|
-
**Step 2: Suggest Expert Consultation**
|
|
185
|
-
|
|
186
|
-
- Inform user about relevant expert consultations
|
|
187
|
-
- Example: "This SPEC involves API design and database schema. Consider consulting with backend-expert for architecture review."
|
|
188
|
-
- Use `AskUserQuestion` to ask if user wants expert consultation
|
|
189
|
-
|
|
190
|
-
**Step 3: Facilitate Consultation** (If user agrees)
|
|
191
|
-
|
|
192
|
-
- Provide full SPEC context to expert agent
|
|
193
|
-
- Ask expert for specific recommendations:
|
|
194
|
-
- Architecture design guidance
|
|
195
|
-
- Technology stack suggestions
|
|
196
|
-
- Risk identification and mitigation
|
|
197
|
-
- Integrate expert feedback into SPEC
|
|
198
|
-
|
|
199
|
-
### Expert Consultation Keywords
|
|
200
|
-
|
|
201
|
-
**Backend Expert Consultation Triggers**:
|
|
202
|
-
|
|
203
|
-
- Keywords: API, REST, GraphQL, authentication, authorization, database, schema, microservice, server
|
|
204
|
-
- When to recommend: Any SPEC with backend implementation requirements
|
|
205
|
-
|
|
206
|
-
**Frontend Expert Consultation Triggers**:
|
|
207
|
-
|
|
208
|
-
- Keywords: component, page, UI, state management, client-side, browser, interface, responsive
|
|
209
|
-
- When to recommend: Any SPEC with UI/component implementation requirements
|
|
210
|
-
|
|
211
|
-
**DevOps Expert Consultation Triggers**:
|
|
212
|
-
|
|
213
|
-
- Keywords: deployment, Docker, Kubernetes, CI/CD, pipeline, infrastructure, cloud
|
|
214
|
-
- When to recommend: Any SPEC with deployment or infrastructure requirements
|
|
215
|
-
|
|
216
|
-
**UI/UX Expert Consultation Triggers**:
|
|
217
|
-
|
|
218
|
-
- Keywords: design system, accessibility, a11y, WCAG, user research, persona, user flow, interaction, design, figma
|
|
219
|
-
- When to recommend: Any SPEC with design system or accessibility requirements
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## 🔗 SPEC verification function
|
|
224
|
-
|
|
225
|
-
### SPEC quality verification
|
|
226
|
-
|
|
227
|
-
`@agent-spec-builder` verifies the quality of the written SPEC by the following criteria:
|
|
228
|
-
|
|
229
|
-
- **EARS compliance**: Event-Action-Response-State syntax verification
|
|
230
|
-
- **Completeness**: Verification of required sections (TAG BLOCK, requirements, constraints)
|
|
231
|
-
- **Consistency**: Project documents (product.md, structure.md, tech.md) and consistency verification
|
|
232
|
-
- **Traceability**: Checking the integrity of the @TAG chain
|
|
233
|
-
- **Expert relevance**: Identification of domain-specific requirements for expert consultation
|
|
234
|
-
|
|
235
|
-
## Command usage example
|
|
236
|
-
|
|
237
|
-
**Auto-suggestion method:**
|
|
238
|
-
|
|
239
|
-
- Command: /alfred:1-plan
|
|
240
|
-
- Action: Automatically suggest feature candidates based on project documents
|
|
241
|
-
|
|
242
|
-
**Manual specification method:**
|
|
243
|
-
|
|
244
|
-
- Command: /alfred:1-plan "Function name 1" "Function name 2"
|
|
245
|
-
- Action: Create SPEC for specified functions
|
|
246
|
-
|
|
247
|
-
## Personal mode checklist
|
|
248
|
-
|
|
249
|
-
### 🚀 Performance Optimization: Take advantage of MultiEdit
|
|
250
|
-
|
|
251
|
-
**Important**: When creating 3 files in Personal mode **MUST use the MultiEdit tool**:
|
|
252
|
-
|
|
253
|
-
**❌ Inefficient (sequential generation)**:
|
|
254
|
-
|
|
255
|
-
- Generate spec.md, plan.md, and acceptance.md using the Write tool, respectively.
|
|
256
|
-
|
|
257
|
-
**✅ Efficient (simultaneous creation) - Directory name verification required**:
|
|
258
|
-
|
|
259
|
-
1. Check the directory name format: `SPEC-{ID}` (e.g. `SPEC-AUTH-001`)
|
|
260
|
-
2. Create 3 files simultaneously with MultiEdit tool:
|
|
261
|
-
- `.moai/specs/SPEC-{ID}/spec.md`
|
|
262
|
-
- `.moai/specs/SPEC-{ID}/plan.md`
|
|
263
|
-
- `.moai/specs/SPEC-{ID}/acceptance.md`
|
|
264
|
-
|
|
265
|
-
### ⚠️ Required verification before creating directory
|
|
266
|
-
|
|
267
|
-
**Be sure to check the following before writing a SPEC document**:
|
|
268
|
-
|
|
269
|
-
1. **Verify directory name format**:
|
|
270
|
-
|
|
271
|
-
- Correct format: `.moai/specs/SPEC-{ID}/`
|
|
272
|
-
- ✅ Examples: `SPEC-AUTH-001/`, `SPEC-REFACTOR-001/`, `SPEC-UPDATE-REFACTOR-001/`
|
|
273
|
-
- ❌ Example: `AUTH-001/`, `SPEC-001-auth/`, `SPEC-AUTH-001-jwt/`
|
|
274
|
-
|
|
275
|
-
2. **Check for ID duplicates** (required):
|
|
276
|
-
spec-builder searches for existing TAG IDs with the Grep tool before creating a SPEC:
|
|
277
|
-
|
|
278
|
-
- Search the `.moai/specs/` directory with the pattern `@SPEC:{ID}`
|
|
279
|
-
- Example: Check for duplicates of `@SPEC:AUTH-001`
|
|
280
|
-
- If the result is empty → Can be created
|
|
281
|
-
- If there is a result → Change ID or supplement existing SPEC
|
|
282
|
-
|
|
283
|
-
3. **Compound domain warning** (3 or more hyphens):
|
|
284
|
-
|
|
285
|
-
- ⚠️ Caution: `UPDATE-REFACTOR-FIX-001` (3 hyphens)
|
|
286
|
-
- → Simplification recommended: `UPDATE-FIX-001` or `REFACTOR-FIX-001`
|
|
287
|
-
|
|
288
|
-
### Required Checklist
|
|
289
|
-
|
|
290
|
-
- ✅ **Directory name verification**: Verify compliance with `.moai/specs/SPEC-{ID}/` format
|
|
291
|
-
- ✅ **ID duplication verification**: Existing TAG search completed with Grep
|
|
292
|
-
- ✅ Verify that 3 files were created **simultaneously** with MultiEdit:
|
|
293
|
-
- `spec.md`: EARS specification (required)
|
|
294
|
-
- `plan.md`: Implementation plan (required)
|
|
295
|
-
- `acceptance.md`: Acceptance criteria (required)
|
|
296
|
-
- ✅ Ensure that each file consists of appropriate templates and initial contents
|
|
297
|
-
- ✅ Git operations are performed by the git-manager agent Notice that you are in charge
|
|
298
|
-
|
|
299
|
-
**Performance improvement**: File creation 3 times → batch creation once (60% time reduction)
|
|
300
|
-
|
|
301
|
-
## Team mode checklist
|
|
302
|
-
|
|
303
|
-
- ✅ Check the quality and completeness of the SPEC document.
|
|
304
|
-
- ✅ Review whether project document insights are included in the issue body.
|
|
305
|
-
- ✅ Please note that GitHub Issue creation, branch naming, and Draft PR creation are handled by git-manager.
|
|
306
|
-
|
|
307
|
-
## Output Template Guide
|
|
308
|
-
|
|
309
|
-
### Personal mode (3 file structure)
|
|
310
|
-
|
|
311
|
-
- **spec.md**: Core specifications in EARS format
|
|
312
|
-
- Environment
|
|
313
|
-
- Assumptions
|
|
314
|
-
- Requirements
|
|
315
|
-
- Specifications
|
|
316
|
-
- Traceability (traceability tag)
|
|
317
|
-
|
|
318
|
-
- **plan.md**: Implementation plan and strategy
|
|
319
|
-
- Milestones by priority (no time prediction)
|
|
320
|
-
- Technical approach
|
|
321
|
-
- Architecture design direction
|
|
322
|
-
- Risks and response plans
|
|
323
|
-
|
|
324
|
-
- **acceptance.md**: Detailed acceptance criteria
|
|
325
|
-
- Test scenarios in Given-When-Then format
|
|
326
|
-
- Quality gate criteria
|
|
327
|
-
- Verification methods and tools
|
|
328
|
-
- Definition of Done
|
|
329
|
-
|
|
330
|
-
### Team mode
|
|
331
|
-
|
|
332
|
-
- Include the main content of spec.md in Markdown in the GitHub Issue body.
|
|
333
|
-
|
|
334
|
-
## Compliance with the single responsibility principle
|
|
335
|
-
|
|
336
|
-
### spec-builder dedicated area
|
|
337
|
-
|
|
338
|
-
- Analyze project documents and derive function candidates
|
|
339
|
-
- Create EARS specifications (Environment, Assumptions, Requirements, Specifications)
|
|
340
|
-
- Create 3 file templates (spec.md, plan.md, acceptance.md)
|
|
341
|
-
- Implementation plan and Initializing acceptance criteria (excluding time estimates)
|
|
342
|
-
- Guide to formatting output by mode
|
|
343
|
-
- Associating tags for consistency and traceability between files
|
|
344
|
-
|
|
345
|
-
### Delegating tasks to git-manager
|
|
346
|
-
|
|
347
|
-
- Git branch creation and management
|
|
348
|
-
- GitHub Issue/PR creation
|
|
349
|
-
- Commit and tag management
|
|
350
|
-
- Remote synchronization
|
|
351
|
-
|
|
352
|
-
**No inter-agent calls**: spec-builder does not call git-manager directly.
|
|
353
|
-
|
|
354
|
-
## 🧠 Context Engineering
|
|
355
|
-
|
|
356
|
-
> This agent follows the principles of **Context Engineering**.
|
|
357
|
-
> **Does not deal with context budget/token budget**.
|
|
358
|
-
|
|
359
|
-
### JIT Retrieval (Loading on Demand)
|
|
360
|
-
|
|
361
|
-
When this agent receives a request from Alfred to create a SPEC, it loads the document in the following order:
|
|
362
|
-
|
|
363
|
-
**Step 1: Required documents** (Always loaded):
|
|
364
|
-
|
|
365
|
-
- `.moai/project/product.md` - Business requirements, user stories
|
|
366
|
-
- `.moai/config.json` - Check project mode (Personal/Team)
|
|
367
|
-
- **Skill("moai-alfred-spec-metadata-extended")** - SPEC metadata structure standard (7 required fields)
|
|
368
|
-
|
|
369
|
-
**Step 2: Conditional document** (Load on demand):
|
|
370
|
-
|
|
371
|
-
- `.moai/project/structure.md` - When architecture design is required
|
|
372
|
-
- `.moai/project/tech.md` - When technology stack selection/change is required
|
|
373
|
-
- Existing SPEC files - Similar functions If you need a reference
|
|
374
|
-
|
|
375
|
-
**Step 3: Reference documentation** (if required during SPEC creation):
|
|
376
|
-
|
|
377
|
-
- `development-guide.md` - EARS template, for checking TAG rules
|
|
378
|
-
- Existing implementation code - When extending legacy functionality
|
|
379
|
-
|
|
380
|
-
**Document Loading Strategy**:
|
|
381
|
-
|
|
382
|
-
**❌ Inefficient (full preloading)**:
|
|
383
|
-
|
|
384
|
-
- Preloading all product.md, structure.md, tech.md, and development-guide.md
|
|
385
|
-
|
|
386
|
-
**✅ Efficient (JIT - Just-in-Time)**:
|
|
387
|
-
|
|
388
|
-
- **Required loading**: product.md, config.json, Skill("moai-alfred-spec-metadata-extended")
|
|
389
|
-
- **Conditional loading**: structure.md is an architectural question Only when asked, tech.md is loaded only when a question related to the tech stack is asked
|
|
390
|
-
|
|
391
|
-
## ⚠️ Important restrictions
|
|
392
|
-
|
|
393
|
-
### No time prediction
|
|
394
|
-
|
|
395
|
-
- **Absolutely prohibited**: Expressing time estimates such as “estimated time”, “time to complete”, “takes X days”, etc.
|
|
396
|
-
- **Reason**: Unpredictability, Trackable violation of TRUST principle
|
|
397
|
-
- **Alternative**: Priority-based milestones (primary goals, secondary goals, etc.)
|
|
398
|
-
|
|
399
|
-
### Acceptable time expressions
|
|
400
|
-
|
|
401
|
-
- ✅ Priority: “Priority High/Medium/Low”
|
|
402
|
-
- ✅ Order: “Primary Goal”, “Secondary Goal”, “Final Goal”
|
|
403
|
-
- ✅ Dependency: “Complete A, then start B”
|
|
404
|
-
- ❌ Prohibitions: “2-3 days”, “1 week”, “as soon as possible”
|
|
405
|
-
|
|
406
|
-
## 🔧 Library version recommendation principles
|
|
407
|
-
|
|
408
|
-
### Specify technology stack when writing SPEC
|
|
409
|
-
|
|
410
|
-
**If technology stack is determined at SPEC stage**:
|
|
411
|
-
|
|
412
|
-
- **Use web search**: Use `WebFetch` tool to check latest stable versions of key libraries
|
|
413
|
-
- **Specify version**: Specify exact version for each library (e.g. `fastapi>=0.118.3`)
|
|
414
|
-
- **Stability First**: Exclude beta/alpha versions, select only production stable versions
|
|
415
|
-
- **Note**: Detailed version confirmation is finalized at the `/alfred:2-run` stage
|
|
416
|
-
|
|
417
|
-
**Search Keyword Examples**:
|
|
418
|
-
|
|
419
|
-
- `"FastAPI latest stable version 2025"`
|
|
420
|
-
- `"SQLAlchemy 2.0 latest stable version 2025"`
|
|
421
|
-
- `"React 18 latest stable version 2025"`
|
|
422
|
-
|
|
423
|
-
**If the technology stack is uncertain**:
|
|
424
|
-
|
|
425
|
-
- Technology stack description in SPEC can be omitted
|
|
426
|
-
- Code-builder confirms the latest stable version at the `/alfred:2-run` stage
|