بنقرة واحدة
std-orchestrator
Orchestrate STP → STD pipeline (generates comprehensive STD YAML only)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Orchestrate STP → STD pipeline (generates comprehensive STD YAML only)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Classify PR review comments on STP/STD documents into auto-fixable vs needs-human categories. Maps free-text feedback to QualityFlow domain rules for automated fix routing.
Resolve Jira ID to project configuration and load project context
Generate comprehensive v2.1-ENHANCED STD YAML with pattern metadata, variables, test structure from ALL STP scenarios (single file)
Generate test stubs with PSE docstrings from STD YAML — language and framework driven by project config
Detect test conventions from a codebase to drive test generation without tier config
Discover code entry points from Jira data when no PR data exists
| name | std-orchestrator |
| description | Orchestrate STP → STD pipeline (generates comprehensive STD YAML only) |
| model | claude-opus-4-6 |
| phase_support | true |
| default_phase | phase1 |
Coordinates the Software Test Description (STD) generation workflow by:
Output:
stp_file_path: Path to the STP markdown file (e.g., outputs/stp/PROJ-66855/PROJ-66855_test_plan.md)jira_id: The Jira ticket ID (e.g., "PROJ-66855")output_dir: Base directory for outputs (defaults to outputs/std/{JIRA_ID}/)phase: phase1 (default) or phase2Phase 1 (default):
phase=phase1pass body__test__ = False for Python, PendingIt() for Go)Phase 2:
phase=phase2Execute the following steps in order:
Read the STP file and extract all test scenarios from Section III (Test Scenarios & Traceability).
Expected bullet-based format:
- **[PROJ-12345]** — As a user, I want to reset a VM
- *Test Scenario:* [Tier 1] Verify basic reset operation succeeds
- *Priority:* P0
- **[PROJ-12345]** — As a user, I want to verify reset preserves state
- *Test Scenario:* [Tier 1] Verify reset preserves pod UID
- *Priority:* P0
Parse and extract:
**[ID]**)—)[Tier 1], [Tier 2][unit], [functional], [integration], [e2e]*Test Scenario:* line)[EXISTING_COVERAGE], [PARTIAL_COVERAGE]Store as:
scenarios:
- scenario_id: 1
tier: "Tier 1" # tier mode
test_type: "functional" # auto mode (one or the other)
priority: "P0"
description: "Verify basic reset operation succeeds"
coverage_status: "NEW" # optional, defaults to NEW
- scenario_id: 2
tier: "Tier 1"
priority: "P0"
description: "Verify reset preserves pod UID"
coverage_status: "EXISTING_COVERAGE"
covered_by:
- test_function: "TestResetPreservesPodUID"
test_file: "pkg/compute/reset_test.go"
Generate ONE comprehensive STD file for ALL scenarios:
1.5. Extract Source Constants (if present):
Check if the STP contains a ## Source Constants or #### Section III.2 — Source Constants section
If found, parse the markdown table into a structured array:
source_constants:
- name: "SENTINEL"
value: "# --- managed section - do not edit ---"
source_file: "pkg/scripts/sync.sh"
line: 14
Values are in backtick-wrapped cells — strip the backticks but preserve the exact content
If the section is not present, set source_constants to an empty array
Call std-generator skill ONCE with:
source_constants array (from Step 1.5, may be empty)Output file:
outputs/std/{JIRA_ID}/{JIRA_ID}_test_description.yamloutputs/std/PROJ-66855/PROJ-66855_test_description.yamlValidate STD output:
After STD YAML is validated, call appropriate code generators.
Routing depends on test_strategy_mode in the STD YAML document_metadata:
code_generation_config.language from STD YAML| Language | Generator | Output |
|---|---|---|
go | stub-generator / test-generator | Go test stubs/implementations |
python | stub-generator / test-generator | Python test stubs/implementations |
coverage_status: NEW or PARTIAL_COVERAGEEXISTING_COVERAGE scenarioscode_generation_config so the generator uses detected framework conventionsOutput files:
outputs/std/{JIRA_ID}/
├── go-tests/ (if language is Go, or Tier 1 in tier mode)
│ └── *_stubs_test.go (Phase 1: stubs, Phase 2: implementation)
└── python-tests/ (if language is Python, or Tier 2 in tier mode)
└── test_*_stubs.py (Phase 1: stubs, Phase 2: implementation)
Create a summary report with:
Output format:
---
status: success
component: std-orchestrator
jira_id: PROJ-66855
phase: phase1 # or phase2
stp_file: outputs/stp/PROJ-66855/PROJ-66855_test_plan.md
output_dir: outputs/std/PROJ-66855/
execution_summary:
total_stp_scenarios: 12
tier_1_scenarios: 9
tier_2_scenarios: 3
std_file_generated: "PROJ-66855_test_description.yaml"
scenarios_in_std: 12
total_duration: "2 minutes"
code_generation:
phase: phase1
go_tests:
file_count: 2
test_count: 9
status: "stubs_generated" # or "implementation_generated" for phase2
python_tests:
file_count: 1
test_count: 3
status: "stubs_generated"
validation_results:
std_file:
file: PROJ-66855_test_description.yaml
status: valid
yaml_syntax: passed
required_sections: passed
scenarios_count: 12
errors: []
warnings: []
notes:
- "STD YAML generated as internal format"
- "Use /generate-tests for implementations"
---
Simple structure (STD YAML only):
outputs/std/PROJ-66855/
├── PROJ-66855_test_description.yaml (NEW - comprehensive STD for ALL scenarios)
└── std_generation_summary.yaml (summary report)
Key design:
This orchestrator calls 1 specialized skill:
Architecture:
If STP parsing fails:
If std-generator fails for a scenario:
Set overall status to:
success: All scenarios processed successfullypartial: Some scenarios failed, but >50% succeedederror: >50% scenarios failed or critical errorThe orchestration is complete when:
Minimum acceptable outcome:
Before marking orchestration as complete, validate:
User command (Phase 1 - default):
Generate STD/PSE/Code for PROJ-66855
Orchestrator execution (Phase 1):
1. Read outputs/stp/PROJ-66855/PROJ-66855_test_plan.md
2. Parse Section III → 12 scenarios found (9 Tier 1, 3 Tier 2)
3. Call std-generator ONCE → PROJ-66855_test_description.yaml
4. Validate STD YAML
5. Call stub-generator → 9 Go stubs + 3 Python stubs
7. Generate summary → std_generation_summary.yaml
8. Report to user: "✅ Generated Phase 1 test stubs for 12 scenarios"
Example output (Phase 1):
✅ Phase 1 Test Stubs Generated!
📄 Input: outputs/stp/PROJ-66855/PROJ-66855_test_plan.md
📊 Summary:
- STP scenarios: 12 (9 Tier 1, 3 Tier 2)
- STD file: PROJ-66855_test_description.yaml (internal format)
- Phase: 1 (Design stubs with PSE docstrings)
📁 Output:
- outputs/std/PROJ-66855/PROJ-66855_test_description.yaml
- outputs/std/PROJ-66855/go-tests/ (9 test stubs with PSE comments)
- outputs/std/PROJ-66855/python-tests/ (3 test stubs with PSE docstrings)
📋 Phase 1 Checklist:
- [ ] STP link in module docstring
- [ ] Tests grouped in class with shared preconditions
- [ ] Each test has: Preconditions, Steps, Expected
- [ ] Each test verifies ONE thing with ONE Expected
- [ ] Test bodies contain only 'pass'
✅ Ready for design review!
📌 Next steps:
1. Review the test stubs
2. Submit PR for design review
3. After approval, run:
- /generate-tests PROJ-66855 (test implementations)
End of STD Orchestrator Skill