@fernando.zavaleta/ai-platform-core 0.0.7-beta

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.
Files changed (33) hide show
  1. package/02-mcp/02.1-jira/bridge-protocol.md +50 -0
  2. package/02-mcp/02.2-testrail/bridge.md +0 -0
  3. package/02-mcp/02.4-sdp/bridge-protocol.md +15 -0
  4. package/02-mcp/03.3-confluence/bridge-protocol.md +16 -0
  5. package/03-domains/03.1-qa/agent.md +68 -0
  6. package/03-domains/03.1-qa/knowledge/risk-analysis.md +163 -0
  7. package/03-domains/03.1-qa/profile.json +10 -0
  8. package/03-domains/03.1-qa/skills/analyze-ticket-risk.md +252 -0
  9. package/03-domains/03.1-qa/skills/generate-regression-suite.md +11 -0
  10. package/03-domains/03.1-qa/skills/generate-smoke-suite.md +11 -0
  11. package/03-domains/03.1-qa/skills/generate-test-cases.md +41 -0
  12. package/03-domains/03.1-qa/skills/generate-test-plan.md +25 -0
  13. package/03-domains/03.1-qa/skills/generate-test-scenarios.md +23 -0
  14. package/03-domains/03.1-qa/skills/normalize-ticket.md +83 -0
  15. package/03-domains/03.1-qa/skills/report-bug.md +41 -0
  16. package/03-domains/03.1-qa/templates/bug-report-template.md +62 -0
  17. package/03-domains/03.1-qa/templates/test-case-template.md +29 -0
  18. package/03-domains/03.1-qa/templates/test-plan-template.md +86 -0
  19. package/03-domains/03.3-l3/agent.md +80 -0
  20. package/03-domains/03.3-l3/skills/analyze-incident-rca.md +16 -0
  21. package/03-domains/03.3-l3/skills/correlate-rca.md +16 -0
  22. package/03-domains/03.3-l3/skills/generate-diagnosis.md +17 -0
  23. package/03-domains/03.3-l3/skills/normalize-incident.md +15 -0
  24. package/03-domains/03.3-l3/skills/search-rca-confluence.md +13 -0
  25. package/03-domains/03.3-l3/templates/rca-template.md +21 -0
  26. package/03-domains/03.4-product/agent.md +80 -0
  27. package/03-domains/03.4-product/knowledge/story-quality.md +16 -0
  28. package/03-domains/03.4-product/skills/validate-story.md +152 -0
  29. package/03-domains/03.4-product/templates/story-quality-template.md +67 -0
  30. package/README.md +52 -0
  31. package/bin/cli.js +45 -0
  32. package/bin/ia_install.py +38 -0
  33. package/package.json +18 -0
@@ -0,0 +1,152 @@
1
+ # Skill: Validate Story
2
+
3
+ ## Objective
4
+
5
+ Evaluate whether a Jira story is well defined and ready for development using standardized story quality principles.
6
+
7
+ All outputs must be generated in SPANISH.
8
+
9
+ ---
10
+
11
+ # Input
12
+
13
+ The Jira ticket must be retrieved via the MCP bridge:
14
+
15
+ 02-mcp/02.1-jira/bridge.md
16
+
17
+ The response from Jira is a JSON object.
18
+
19
+ This JSON may be used by the agent for reasoning, but **must NOT be stored in the output directory**.
20
+
21
+ ---
22
+
23
+ # Output Policy
24
+
25
+ The output directory must only contain final documentation artifacts.
26
+
27
+ The agent MUST NOT store intermediate JSON files in:
28
+
29
+ 05-output/
30
+
31
+ Only Markdown files are allowed as final artifacts.
32
+
33
+ ---
34
+
35
+ # Knowledge Source
36
+
37
+ Apply the story quality framework defined in:
38
+
39
+ 03-domains/03.4-product/knowledge/story-quality.md
40
+
41
+ ---
42
+
43
+ # Validation Dimensions
44
+
45
+ The story must be evaluated across the following dimensions.
46
+
47
+ ## Problem Clarity
48
+
49
+ Determine if the story clearly explains the problem or functionality requested.
50
+
51
+ Indicators:
52
+
53
+ - Clear description
54
+ - Understandable goal
55
+ - Context provided
56
+
57
+ ---
58
+
59
+ ## Business Value
60
+
61
+ Evaluate whether the story explains the benefit for the user or the business.
62
+
63
+ Indicators:
64
+
65
+ - Business impact described
66
+ - User value identified
67
+ - Stakeholder relevance
68
+
69
+ ---
70
+
71
+ ## Acceptance Criteria
72
+
73
+ Verify that acceptance criteria exist.
74
+
75
+ Preferred format:
76
+
77
+ Given
78
+ When
79
+ Then
80
+
81
+ If acceptance criteria are missing, mark as FAIL.
82
+
83
+ ---
84
+
85
+ ## Testability
86
+
87
+ Determine if QA can design test cases based on the ticket description.
88
+
89
+ Indicators:
90
+
91
+ - Measurable behavior
92
+ - Clear expected outcomes
93
+
94
+ ---
95
+
96
+ ## Dependencies
97
+
98
+ Evaluate whether the ticket identifies dependencies or related work.
99
+
100
+ Indicators:
101
+
102
+ - Linked tickets
103
+ - System dependencies
104
+ - Integration references
105
+
106
+ ---
107
+
108
+ # Scoring
109
+
110
+ Each validation dimension must be classified as:
111
+
112
+ PASS
113
+ PARTIAL
114
+ FAIL
115
+
116
+ ---
117
+
118
+ # Readiness Decision
119
+
120
+ READY
121
+
122
+ All validation dimensions PASS.
123
+
124
+ PARTIALLY READY
125
+
126
+ Some PARTIAL but no FAIL.
127
+
128
+ NOT READY
129
+
130
+ At least one FAIL.
131
+
132
+ Development must not start.
133
+
134
+ ---
135
+
136
+ # Output
137
+
138
+ Generate the validation report in:
139
+
140
+ 05-output/agent-product/[JIRA_ID]/
141
+
142
+ File name:
143
+
144
+ [JIRA_ID].story-validation.md
145
+
146
+ ---
147
+
148
+ # Output Format
149
+
150
+ Use the template defined in:
151
+
152
+ 03-domains/03.4-product/templates/story-quality-template.md
@@ -0,0 +1,67 @@
1
+ # Story Validation Report
2
+
3
+ Ticket: [JIRA_ID]
4
+
5
+ ---
6
+
7
+ ## Problem Clarity
8
+
9
+ Status:
10
+
11
+ PASS / PARTIAL / FAIL
12
+
13
+ Analysis:
14
+
15
+ ---
16
+
17
+ ## Business Value
18
+
19
+ Status:
20
+
21
+ PASS / PARTIAL / FAIL
22
+
23
+ Analysis:
24
+
25
+ ---
26
+
27
+ ## Acceptance Criteria
28
+
29
+ Status:
30
+
31
+ PASS / PARTIAL / FAIL
32
+
33
+ Analysis:
34
+
35
+ ---
36
+
37
+ ## Testability
38
+
39
+ Status:
40
+
41
+ PASS / PARTIAL / FAIL
42
+
43
+ Analysis:
44
+
45
+ ---
46
+
47
+ ## Dependencies
48
+
49
+ Status:
50
+
51
+ PASS / PARTIAL / FAIL
52
+
53
+ Analysis:
54
+
55
+ ---
56
+
57
+ # Final Decision
58
+
59
+ READY
60
+ PARTIALLY READY
61
+ NOT READY
62
+
63
+ ---
64
+
65
+ # Recommendations
66
+
67
+ Suggestions to improve the story definition.
package/README.md ADDED
@@ -0,0 +1,52 @@
1
+ # AI Platform Engineering
2
+
3
+ AI Platform Engineering is the core engineering framework used to design, build and operate enterprise AI platforms, copilots and intelligent services.
4
+
5
+ This repository defines the architecture, standards, engineering practices and reusable capabilities required to develop scalable AI-powered systems across the organization.
6
+
7
+ It serves as the foundation for:
8
+
9
+ - AI copilots for engineering, support and operations
10
+ - intelligent automation systems
11
+ - incident analysis and root cause analysis agents
12
+ - knowledge-driven AI assistants
13
+ - internal AI development standards
14
+
15
+ The goal of this platform is to provide a structured approach for building reliable, secure and production-ready AI systems.
16
+
17
+ ## Scope
18
+
19
+ This repository includes:
20
+
21
+ - AI platform architecture
22
+ - engineering principles and standards
23
+ - reusable AI skills
24
+ - agent patterns
25
+ - prompt engineering guidelines
26
+ - context management strategies
27
+ - examples and reference implementations
28
+
29
+ ## Target users
30
+
31
+ - AI engineers
32
+ - platform engineers
33
+ - backend engineers
34
+ - DevOps / SRE
35
+ - internal AI product teams
36
+
37
+ # AI Platform Engineering - Installation
38
+
39
+ Para activar la inteligencia en tu editor **Cursor**, sigue estos pasos:
40
+
41
+ ### 1. Requisitos
42
+ - Node.js instalado.
43
+ - Abrir este proyecto en **Visual Studio Code** (Desarrollo) o **Cursor** (Uso).
44
+
45
+ ### 2. Instalación por Perfil
46
+ Si eres un QA Engineer, ejecuta:
47
+ ```bash
48
+ npm run install:qa
49
+
50
+
51
+ ### Deploy TAG
52
+ ai-platform-engineering@v0.0.1
package/bin/cli.js ADDED
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+
5
+ const profileKey = process.argv[2];
6
+ const PACKAGE_ROOT = path.join(__dirname, '..');
7
+ const TARGET_DIR = path.join(process.cwd(), '.cursor', 'skills');
8
+
9
+ const profiles = {
10
+ "qa": "03.1-qa",
11
+ "l3": "03.3-l3",
12
+ "product": "03.4-product"
13
+ };
14
+
15
+ const domainFolder = profiles[profileKey];
16
+ if (!domainFolder) {
17
+ console.error("❌ Perfil no válido. Usa: qa, l3 o product");
18
+ process.exit(1);
19
+ }
20
+
21
+ const domainPath = path.join(PACKAGE_ROOT, '03-domains', domainFolder);
22
+ const config = JSON.parse(fs.readFileSync(path.join(domainPath, 'profile.json'), 'utf8'));
23
+
24
+ if (!fs.existsSync(TARGET_DIR)) fs.mkdirSync(TARGET_DIR, { recursive: true });
25
+
26
+ console.log(`🚀 Instalando inteligencia para ${profileKey}...`);
27
+
28
+ // Escaneo automático de carpetas
29
+ config.include_dirs.forEach(dirName => {
30
+ const sourceDir = path.join(domainPath, dirName);
31
+
32
+ if (fs.existsSync(sourceDir)) {
33
+ const files = fs.readdirSync(sourceDir);
34
+ files.forEach(file => {
35
+ // Solo copiamos archivos (evitamos subcarpetas por ahora)
36
+ const srcFile = path.join(sourceDir, file);
37
+ if (fs.lstatSync(srcFile).isFile()) {
38
+ fs.copyFileSync(srcFile, path.join(TARGET_DIR, file));
39
+ console.log(` ✅ [${dirName}] ${file} proyectado.`);
40
+ }
41
+ });
42
+ }
43
+ });
44
+
45
+ console.log(`\n✨ Perfil ${profileKey} actualizado correctamente.`);
@@ -0,0 +1,38 @@
1
+ import os, sys, shutil, json
2
+ from pathlib import Path
3
+
4
+ def install_profile(profile_key):
5
+ package_root = Path(__file__).parent.parent
6
+ target_dir = Path(os.getcwd()) / ".cursor" / "skills"
7
+
8
+ profiles = {"qa": "03.1-qa", "l3": "03.3-l3", "product": "03.4-product"}
9
+ domain_folder = profiles.get(profile_key)
10
+
11
+ if not domain_folder:
12
+ print(f"❌ Perfil {profile_key} no válido")
13
+ return
14
+
15
+ domain_path = package_root / "03-domains" / domain_folder
16
+ profile_json = domain_path / "profile.json"
17
+
18
+ with open(profile_json) as f:
19
+ config = json.load(f)
20
+
21
+ target_dir.mkdir(parents=True, exist_ok=True)
22
+
23
+ print(f"🚀 Sincronizando carpetas para {profile_key}...")
24
+
25
+ # Escaneo automático de archivos en las carpetas configuradas
26
+ for dir_name in config.get("include_dirs", []):
27
+ source_dir = domain_path / dir_name
28
+ if source_dir.exists():
29
+ for item in source_dir.iterdir():
30
+ if item.is_file():
31
+ shutil.copy2(item, target_dir / item.name)
32
+ print(f" ✅ [{dir_name}] {item.name} copiado.")
33
+
34
+ print(f"\n✨ ¡Instalación modular completa!")
35
+
36
+ def main():
37
+ if len(sys.argv) > 1:
38
+ install_profile(sys.argv[1])
package/package.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "@fernando.zavaleta/ai-platform-core",
3
+ "version": "0.0.7-beta",
4
+ "description": "Enterprise AI Framework Distribution Tool",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "ia-install": "./bin/cli.js"
8
+ },
9
+ "files": [
10
+ "03-domains",
11
+ "02-mcp",
12
+ "00-config/global-base.md",
13
+ "bin"
14
+ ],
15
+ "scripts": {
16
+ "test": "echo \"Error: no test specified\" && exit 1"
17
+ }
18
+ }