x-ipe 1.0.24__py3-none-any.whl → 1.0.25__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.
Files changed (139) hide show
  1. x_ipe/app.py +25 -3
  2. x_ipe/handlers/terminal_handlers.py +6 -0
  3. x_ipe/handlers/voice_handlers.py +5 -0
  4. x_ipe/resources/copilot-instructions.md +19 -6
  5. x_ipe/resources/skills/lesson-learned/SKILL.md +208 -0
  6. x_ipe/resources/skills/lesson-learned/references/examples.md +238 -0
  7. x_ipe/resources/skills/project-quality-board-management/SKILL.md +135 -298
  8. x_ipe/resources/skills/project-quality-board-management/references/evaluation-principles.md +213 -0
  9. x_ipe/resources/skills/project-quality-board-management/references/evaluation-procedures.md +214 -0
  10. x_ipe/resources/skills/project-quality-board-management/templates/quality-report.md +70 -18
  11. x_ipe/resources/skills/task-execution-guideline/SKILL.md +2 -2
  12. x_ipe/resources/skills/task-execution-guideline/templates/task-record.yaml +1 -1
  13. x_ipe/resources/skills/task-type-code-implementation/SKILL.md +72 -270
  14. x_ipe/resources/skills/task-type-code-implementation/references/implementation-guidelines.md +432 -0
  15. x_ipe/resources/skills/task-type-code-refactor-v2/SKILL.md +127 -353
  16. x_ipe/resources/skills/task-type-code-refactor-v2/references/refactoring-techniques.md +373 -0
  17. x_ipe/resources/skills/task-type-feature-breakdown/SKILL.md +31 -243
  18. x_ipe/resources/skills/task-type-feature-breakdown/references/breakdown-guidelines.md +330 -0
  19. x_ipe/resources/skills/task-type-feature-refinement/SKILL.md +27 -180
  20. x_ipe/resources/skills/task-type-feature-refinement/references/specification-writing-guide.md +267 -0
  21. x_ipe/resources/skills/task-type-idea-mockup/SKILL.md +38 -276
  22. x_ipe/resources/skills/task-type-idea-mockup/references/mockup-guidelines.md +299 -0
  23. x_ipe/resources/skills/task-type-idea-to-architecture/SKILL.md +20 -218
  24. x_ipe/resources/skills/task-type-idea-to-architecture/references/architecture-patterns.md +342 -0
  25. x_ipe/resources/skills/task-type-ideation/SKILL.md +10 -266
  26. x_ipe/resources/skills/task-type-ideation/references/folder-naming-guide.md +55 -0
  27. x_ipe/resources/skills/task-type-ideation/references/tool-usage-guide.md +236 -0
  28. x_ipe/resources/skills/task-type-ideation-v2/SKILL.md +488 -0
  29. x_ipe/resources/skills/task-type-ideation-v2/references/examples.md +377 -0
  30. x_ipe/resources/skills/task-type-ideation-v2/references/folder-naming-guide.md +74 -0
  31. x_ipe/resources/skills/task-type-ideation-v2/references/tool-usage-guide.md +145 -0
  32. x_ipe/resources/skills/task-type-ideation-v2/references/visualization-guide.md +160 -0
  33. x_ipe/resources/skills/task-type-ideation-v2/templates/idea-summary.md +86 -0
  34. x_ipe/resources/skills/task-type-refactoring-analysis/SKILL.md +83 -145
  35. x_ipe/resources/skills/task-type-refactoring-analysis/references/output-schema.md +172 -0
  36. x_ipe/resources/skills/task-type-technical-design/SKILL.md +28 -214
  37. x_ipe/resources/skills/task-type-technical-design/references/design-templates.md +422 -0
  38. x_ipe/resources/skills/task-type-test-generation/SKILL.md +47 -332
  39. x_ipe/resources/skills/task-type-test-generation/references/test-patterns.md +368 -0
  40. x_ipe/resources/skills/tool-tracing-creator/SKILL.md +312 -0
  41. x_ipe/resources/skills/tool-tracing-creator/references/examples.md +324 -0
  42. x_ipe/resources/skills/tool-tracing-instrumentation/SKILL.md +373 -0
  43. x_ipe/resources/skills/tool-tracing-instrumentation/references/examples.md +264 -0
  44. x_ipe/resources/skills/x-ipe-skill-creator-v3/SKILL.md +486 -0
  45. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/10. example-gate-conditions.md +73 -0
  46. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/11. reference-quality-standards.md +127 -0
  47. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/2. reference-section-order.md +127 -0
  48. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/3. example-step-based-code-review.md +84 -0
  49. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/4. example-step-based-feature-implementation.md +113 -0
  50. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/5. example-function-based-validation.md +73 -0
  51. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/6. example-function-based-analysis.md +94 -0
  52. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/7. example-task-io-code-implementation.md +36 -0
  53. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/8. example-structured-summary.md +43 -0
  54. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/9. example-dor-dod.md +77 -0
  55. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/examples.md +429 -0
  56. x_ipe/resources/skills/x-ipe-skill-creator-v3/references/skill-general-guidelines-v2.md +611 -0
  57. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-meta.md +153 -0
  58. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-based.md +324 -0
  59. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-category.md +109 -0
  60. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-tool.md +205 -0
  61. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-meta.md +334 -0
  62. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-task-based.md +279 -0
  63. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-tool.md +175 -0
  64. x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-workflow-orchestration.md +329 -0
  65. x_ipe/resources/skills/x-ipe-task-based-ideation/SKILL.md +487 -0
  66. x_ipe/resources/skills/x-ipe-task-based-ideation/references/examples.md +377 -0
  67. x_ipe/resources/skills/x-ipe-task-based-ideation/references/folder-naming-guide.md +74 -0
  68. x_ipe/resources/skills/x-ipe-task-based-ideation/references/tool-usage-guide.md +145 -0
  69. x_ipe/resources/skills/x-ipe-task-based-ideation/references/visualization-guide.md +160 -0
  70. x_ipe/resources/skills/x-ipe-task-based-ideation/templates/idea-summary.md +86 -0
  71. x_ipe/routes/__init__.py +2 -0
  72. x_ipe/routes/ideas_routes.py +17 -0
  73. x_ipe/routes/kb_routes.py +80 -0
  74. x_ipe/routes/main_routes.py +18 -0
  75. x_ipe/routes/project_routes.py +7 -0
  76. x_ipe/routes/proxy_routes.py +2 -0
  77. x_ipe/routes/quality_evaluation_routes.py +193 -0
  78. x_ipe/routes/settings_routes.py +6 -0
  79. x_ipe/routes/tools_routes.py +6 -0
  80. x_ipe/routes/tracing_routes.py +232 -0
  81. x_ipe/routes/uiux_feedback_routes.py +30 -0
  82. x_ipe/services/__init__.py +5 -0
  83. x_ipe/services/config_service.py +6 -0
  84. x_ipe/services/file_service.py +20 -0
  85. x_ipe/services/homepage_service.py +160 -0
  86. x_ipe/services/ideas_service.py +19 -0
  87. x_ipe/services/kb_service.py +378 -0
  88. x_ipe/services/proxy_service.py +4 -0
  89. x_ipe/services/settings_service.py +13 -0
  90. x_ipe/services/skills_service.py +4 -0
  91. x_ipe/services/terminal_service.py +24 -0
  92. x_ipe/services/themes_service.py +4 -0
  93. x_ipe/services/tools_config_service.py +4 -0
  94. x_ipe/services/tracing_service.py +333 -0
  95. x_ipe/services/uiux_feedback_service.py +32 -0
  96. x_ipe/services/voice_input_service_v2.py +11 -0
  97. x_ipe/static/css/base.css +7 -0
  98. x_ipe/static/css/homepage-infinity.css +330 -0
  99. x_ipe/static/css/kb-core.css +301 -0
  100. x_ipe/static/css/quality-evaluation.css +345 -0
  101. x_ipe/static/css/sidebar.css +14 -4
  102. x_ipe/static/css/terminal.css +1 -0
  103. x_ipe/static/css/tracing-dashboard.css +796 -0
  104. x_ipe/static/css/workplace.css +20 -0
  105. x_ipe/static/img/homepage-infinity-loop.png +0 -0
  106. x_ipe/static/js/features/homepage-infinity.js +314 -0
  107. x_ipe/static/js/features/kb-core.js +371 -0
  108. x_ipe/static/js/features/quality-evaluation.js +387 -0
  109. x_ipe/static/js/features/sidebar.js +255 -12
  110. x_ipe/static/js/features/tracing-dashboard.js +855 -0
  111. x_ipe/static/js/features/tracing-graph.js +1031 -0
  112. x_ipe/static/js/features/tree-search.js +6 -2
  113. x_ipe/static/js/features/workplace.js +200 -6
  114. x_ipe/static/js/init.js +76 -0
  115. x_ipe/static/js/uiux-feedback.js +18 -2
  116. x_ipe/templates/base.html +19 -0
  117. x_ipe/templates/index.html +7 -1
  118. x_ipe/templates/knowledge-base.html +110 -0
  119. x_ipe/templates/workplace.html +4 -0
  120. x_ipe/tracing/__init__.py +37 -0
  121. x_ipe/tracing/buffer.py +135 -0
  122. x_ipe/tracing/context.py +125 -0
  123. x_ipe/tracing/decorator.py +288 -0
  124. x_ipe/tracing/middleware.py +197 -0
  125. x_ipe/tracing/parser.py +235 -0
  126. x_ipe/tracing/redactor.py +111 -0
  127. x_ipe/tracing/writer.py +122 -0
  128. {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/METADATA +2 -2
  129. {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/RECORD +132 -62
  130. x_ipe/resources/skills/x-ipe-skill-creator/SKILL.md +0 -329
  131. x_ipe/resources/skills/x-ipe-skill-creator/references/output-patterns.md +0 -169
  132. x_ipe/resources/skills/x-ipe-skill-creator/references/skill-structure.md +0 -162
  133. x_ipe/resources/skills/x-ipe-skill-creator/references/workflows.md +0 -110
  134. x_ipe/resources/skills/x-ipe-skill-creator/templates/references/examples.md +0 -113
  135. x_ipe/resources/skills/x-ipe-skill-creator/templates/skill-category-skill.md +0 -296
  136. x_ipe/resources/skills/x-ipe-skill-creator/templates/task-type-skill.md +0 -269
  137. {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/WHEEL +0 -0
  138. {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/entry_points.txt +0 -0
  139. {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,153 @@
1
+ # Skill Meta Template: Meta Skill
2
+
3
+ Use this template to create skill-meta.md for meta skills. Meta skills create, validate, or manage other skills.
4
+
5
+ ---
6
+
7
+ ## Template
8
+
9
+ ```yaml
10
+ ---
11
+ skill_name: x-ipe-meta-{name}
12
+ skill_type: x-ipe-meta
13
+ version: 1.0.0
14
+ last_updated: {YYYY-MM-DD}
15
+ implementation_path: .github/skills/x-ipe-meta-{name}/
16
+
17
+ purpose: "{Description of what this meta skill does}"
18
+ target_skill_types:
19
+ - x-ipe-task-based
20
+ - x-ipe-tool
21
+ - x-ipe-workflow-orchestration
22
+ - x-ipe-meta
23
+
24
+ inputs:
25
+ - name: skill_name
26
+ type: string
27
+ required: true
28
+ description: Name of skill to create/manage
29
+ validation: "lowercase, hyphens, 1-64 chars"
30
+ - name: skill_type
31
+ type: string
32
+ required: true
33
+ description: Type of skill
34
+ validation: "x-ipe-task-based | x-ipe-tool | x-ipe-workflow-orchestration | x-ipe-meta"
35
+ - name: user_request
36
+ type: string
37
+ required: true
38
+ description: Description of what the skill should do
39
+ - name: examples
40
+ type: array
41
+ required: false
42
+ description: Concrete usage examples
43
+
44
+ outputs:
45
+ - name: skill_package
46
+ type: skill_package
47
+ path: ".github/skills/{skill_name}/"
48
+ description: Complete skill with SKILL.md and bundled resources
49
+ - name: skill_meta
50
+ type: file
51
+ path: "x-ipe-docs/skill-meta/{skill_name}/skill-meta.md"
52
+ description: Skill specification with acceptance criteria
53
+
54
+ acceptance_criteria:
55
+ must:
56
+ - id: AC-M01
57
+ description: SKILL.md exists with valid frontmatter (name, description)
58
+ test_method: file_exists
59
+ expected: ".github/skills/{skill_name}/SKILL.md with YAML frontmatter"
60
+ - id: AC-M02
61
+ description: SKILL.md body under 500 lines
62
+ test_method: structure_validation
63
+ expected: "wc -l < 500"
64
+ - id: AC-M03
65
+ description: Section order follows cognitive flow per skill type
66
+ test_method: content_check
67
+ expected: "Sections in order: Purpose → DoR → Execution → DoD → Examples"
68
+ - id: AC-M04
69
+ description: Importance signals use keywords (BLOCKING, CRITICAL, MANDATORY)
70
+ test_method: content_check
71
+ expected: "No emoji importance signals (⛔, ⚠️)"
72
+ - id: AC-M05
73
+ description: references/examples.md exists
74
+ test_method: file_exists
75
+ expected: "references/examples.md with at least 1 example"
76
+ should:
77
+ - id: AC-S01
78
+ description: DoR/DoD use XML checkpoint format
79
+ test_method: structure_validation
80
+ expected: "<definition_of_ready> and <definition_of_done> tags"
81
+ - id: AC-S02
82
+ description: Description includes trigger phrases
83
+ test_method: content_check
84
+ expected: "Triggers on requests like..."
85
+ - id: AC-S03
86
+ description: Cross-references validated
87
+ test_method: custom
88
+ expected: "grep -r {skill-name} shows correct registrations"
89
+ could:
90
+ - id: AC-C01
91
+ description: Sub-agent workflow used for complex skills
92
+ test_method: structure_validation
93
+ expected: "DAG workflow for 5+ step skills"
94
+ wont:
95
+ - id: AC-W01
96
+ description: Runtime code generation
97
+ reason: "Skills provide guidance, not executable code"
98
+
99
+ evaluation:
100
+ self_check:
101
+ - "File existence checks"
102
+ - "Line count validation"
103
+ - "Section order validation"
104
+ - "Keyword vs emoji check"
105
+ judge_agent:
106
+ - "Quality of execution procedure clarity"
107
+ - "Completeness of acceptance criteria coverage"
108
+
109
+ workflow:
110
+ sub_agent_dag: true
111
+ test_driven: true
112
+ supports_iteration: true
113
+
114
+ dependencies:
115
+ skills:
116
+ - lesson-learned
117
+ artifacts:
118
+ - path: "x-ipe-docs/skill-meta/.templates/"
119
+ description: "Skill meta templates for different skill types"
120
+ templates:
121
+ - task-type-skill/skill-meta-task-type.md
122
+ - task-category-skill/skill-meta-task-category.md
123
+ - tool-skill/skill-meta-tool.md
124
+ - workflow-orchestration-skill/skill-meta-workflow-orchestration.md
125
+ - meta-skill/skill-meta-meta.md
126
+ ---
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Field Reference
132
+
133
+ | Section | Field | Required | Description |
134
+ |---------|-------|----------|-------------|
135
+ | Identity | skill_name | Yes | `x-ipe-meta-{name}` format |
136
+ | Identity | version | Yes | Semver format |
137
+ | Purpose | purpose | Yes | Single sentence description |
138
+ | Purpose | target_skill_types | Yes | Which skill types this can manage |
139
+ | Interface | inputs | Yes | Required and optional parameters |
140
+ | Interface | outputs | Yes | skill_package and skill_meta |
141
+ | Acceptance | must | Yes | All must pass for merge |
142
+ | Acceptance | should | Yes | 80% must pass |
143
+ | Testing | test_scenarios | Recommended | happy_path, edge_cases, error_cases |
144
+ | Evaluation | self_check | Yes | Automated checks |
145
+ | Evaluation | judge_agent | Optional | Quality assessment |
146
+
147
+ ---
148
+
149
+ ## Test Scenarios
150
+
151
+ - **Create Task Type:** Given task-type skill request → When create invoked → Then valid x-ipe-task-type-{name} skill produced
152
+ - **Validate Structure:** Given draft skill → When validate invoked → Then section order issues reported
153
+ - **Iterate on Failure:** Given failed acceptance tests → When iterate invoked → Then candidate updated and re-tested
@@ -0,0 +1,324 @@
1
+ # Skill Meta Template: Task Type
2
+
3
+ Use this template to create skill-meta.md for task-type skills. The skill-meta defines **acceptance criteria** for automated testing.
4
+
5
+ ---
6
+
7
+ ## Template
8
+
9
+ ```yaml
10
+ # ═══════════════════════════════════════════════════════════
11
+ # SKILL META - Task Type
12
+ # ═══════════════════════════════════════════════════════════
13
+
14
+ # ─────────────────────────────────────────────────────────────
15
+ # IDENTITY
16
+ # ─────────────────────────────────────────────────────────────
17
+ skill_name: x-ipe-task-type-{name}
18
+ skill_type: x-ipe-task-based
19
+ version: "1.0.0"
20
+ status: draft | candidate | production
21
+ created: YYYY-MM-DD
22
+ updated: YYYY-MM-DD
23
+
24
+ # ─────────────────────────────────────────────────────────────
25
+ # PURPOSE
26
+ # ─────────────────────────────────────────────────────────────
27
+ summary: |
28
+ {One sentence: What this skill produces and its key value.}
29
+
30
+ triggers:
31
+ - "{trigger phrase 1}"
32
+ - "{trigger phrase 2}"
33
+
34
+ not_for:
35
+ - "{alternative skill}: {when to use instead}"
36
+
37
+ # ─────────────────────────────────────────────────────────────
38
+ # WORKFLOW POSITION
39
+ # ─────────────────────────────────────────────────────────────
40
+ workflow:
41
+ category: feature-stage | requirement-stage | ideation-stage | code-refactoring-stage | standalone
42
+ phase: "{phase name if category != standalone}"
43
+ next_task_type: "{TaskName}" | null
44
+ human_review: true | false
45
+
46
+ # ─────────────────────────────────────────────────────────────
47
+ # INTERFACE
48
+ # ─────────────────────────────────────────────────────────────
49
+ inputs:
50
+ required:
51
+ - name: auto_proceed
52
+ type: boolean
53
+ default: false
54
+ description: Whether to auto-proceed to next task
55
+
56
+ - name: {input_name}
57
+ type: string | number | boolean | array | object
58
+ default: {value}
59
+ description: "{what this controls}"
60
+ validation: "{constraint, e.g., 'must match FEATURE-\\d+'}"
61
+
62
+ optional:
63
+ - name: {input_name}
64
+ type: string
65
+ default: null
66
+ description: "{what this controls}"
67
+
68
+ outputs:
69
+ state:
70
+ - name: category
71
+ value: "${workflow.category}"
72
+ - name: status
73
+ value: completed | blocked
74
+ - name: next_task_type
75
+ value: "${workflow.next_task_type}"
76
+ - name: require_human_review
77
+ value: "${workflow.human_review}"
78
+ - name: auto_proceed
79
+ value: "${inputs.auto_proceed}"
80
+
81
+ artifacts:
82
+ - name: {artifact_name}
83
+ type: file | directory
84
+ path: "{relative path from project root}"
85
+ description: "{what this contains}"
86
+
87
+ data:
88
+ - name: {output_name}
89
+ type: string | object
90
+ description: "{what this represents}"
91
+
92
+ # ─────────────────────────────────────────────────────────────
93
+ # ACCEPTANCE CRITERIA (MoSCoW)
94
+ # ─────────────────────────────────────────────────────────────
95
+ acceptance_criteria:
96
+ must:
97
+ # STRUCTURE - Skill file organization
98
+ - id: AC-S01
99
+ category: structure
100
+ criterion: SKILL.md exists with valid frontmatter
101
+ test: file_exists + yaml_parse
102
+ expected: name and description fields present
103
+
104
+ - id: AC-S02
105
+ category: structure
106
+ criterion: references/examples.md exists
107
+ test: file_exists
108
+ expected: file contains at least 1 example
109
+
110
+ - id: AC-S03
111
+ category: structure
112
+ criterion: SKILL.md body < 500 lines
113
+ test: line_count
114
+ expected: < 500
115
+
116
+ # CONTENT - Required sections and content quality
117
+ - id: AC-C01
118
+ category: content
119
+ criterion: All 10 required sections present in order
120
+ test: section_parse
121
+ expected: |
122
+ [Frontmatter, Purpose, Important Notes, Input Parameters,
123
+ Definition of Ready, Execution Flow, Execution Procedure,
124
+ Output Result, Definition of Done, Patterns & Anti-Patterns, Examples]
125
+
126
+ - id: AC-C02
127
+ category: content
128
+ criterion: Frontmatter description includes WHAT + TRIGGERS
129
+ test: content_check
130
+ expected: description contains "Use when" and "Trigger"
131
+
132
+ - id: AC-C03
133
+ category: content
134
+ criterion: DoR has verifiable checkpoints
135
+ test: table_parse
136
+ expected: ≥2 rows with specific conditions (not vague terms)
137
+
138
+ - id: AC-C04
139
+ category: content
140
+ criterion: DoD has verifiable outcomes
141
+ test: table_parse
142
+ expected: ≥2 rows with measurable criteria
143
+
144
+ # BEHAVIOR - Execution produces correct results
145
+ - id: AC-B01
146
+ category: behavior
147
+ criterion: Skill produces expected outputs
148
+ test: execution
149
+ expected: all outputs.artifacts exist after execution
150
+
151
+ - id: AC-B02
152
+ category: behavior
153
+ criterion: Output YAML has correct structure
154
+ test: yaml_validate
155
+ expected: category is first field, all required fields present
156
+
157
+ should:
158
+ - id: AC-S04
159
+ category: structure
160
+ criterion: Procedure steps use pseudocode for precise operations
161
+ test: content_check
162
+ expected: ≥1 pseudocode block per procedure step
163
+
164
+ - id: AC-C05
165
+ category: content
166
+ criterion: Patterns cover common scenarios
167
+ test: section_parse
168
+ expected: ≥2 patterns with When/Then structure
169
+
170
+ - id: AC-C06
171
+ category: content
172
+ criterion: Anti-patterns prevent common mistakes
173
+ test: table_parse
174
+ expected: ≥2 anti-patterns with consequence + correction
175
+
176
+ - id: AC-B03
177
+ category: behavior
178
+ criterion: Blocking rules prevent incorrect progression
179
+ test: execution
180
+ expected: skill blocks when preconditions not met
181
+
182
+ could:
183
+ - id: AC-C07
184
+ category: content
185
+ criterion: Web search guidance included
186
+ test: content_check
187
+ expected: Web search terms or references indicated
188
+
189
+ - id: AC-C08
190
+ category: content
191
+ criterion: Freedom levels documented
192
+ test: content_check
193
+ expected: High/Medium/Low freedom indicators present
194
+
195
+ wont:
196
+ - id: AC-W01
197
+ criterion: Board status updates
198
+ reason: Handled by category skill, not task-type skill
199
+
200
+ # ─────────────────────────────────────────────────────────────
201
+ # DEPENDENCIES
202
+ # ─────────────────────────────────────────────────────────────
203
+ dependencies:
204
+ skills:
205
+ - name: task-execution-guideline
206
+ relationship: prerequisite
207
+ description: Must be learned before executing this skill
208
+
209
+ - name: "{category}+{board}-management"
210
+ relationship: integration
211
+ description: Called for board updates (if not standalone)
212
+
213
+ artifacts:
214
+ - path: "{required artifact path}"
215
+ description: "{what must exist before skill can run}"
216
+
217
+ # ─────────────────────────────────────────────────────────────
218
+ # TESTING
219
+ # ─────────────────────────────────────────────────────────────
220
+ test_scenarios:
221
+ happy_path:
222
+ - name: "{scenario name}"
223
+ given: "{precondition setup}"
224
+ when: "{action taken}"
225
+ then: "{expected outcome}"
226
+
227
+ edge_cases:
228
+ - name: "{edge case name}"
229
+ given: "{edge condition}"
230
+ when: "{action taken}"
231
+ then: "{handling behavior}"
232
+
233
+ error_cases:
234
+ - name: "{error scenario name}"
235
+ given: "{error condition}"
236
+ when: "{action taken}"
237
+ then: "{error response/recovery}"
238
+
239
+ blocking:
240
+ - name: "{blocking scenario}"
241
+ given: "{missing precondition}"
242
+ when: "{attempt to proceed}"
243
+ then: "BLOCKED with {message}"
244
+
245
+ # ─────────────────────────────────────────────────────────────
246
+ # EVALUATION
247
+ # ─────────────────────────────────────────────────────────────
248
+ evaluation:
249
+ self_check:
250
+ - "All outputs.artifacts exist"
251
+ - "Output YAML validates against schema"
252
+ - "DoD checkpoints all verified"
253
+
254
+ judge_agent:
255
+ - criterion: "Output quality meets production standards"
256
+ rubric: |
257
+ 5: Excellent - ready for production
258
+ 4: Good - minor improvements needed
259
+ 3: Acceptable - some gaps
260
+ 2: Poor - significant issues
261
+ 1: Fail - does not meet requirements
262
+ ```
263
+
264
+ ---
265
+
266
+ ## Field Reference
267
+
268
+ | Section | Field | Required | Description |
269
+ |---------|-------|----------|-------------|
270
+ | Identity | skill_name | Yes | `x-ipe-task-type-{name}` format |
271
+ | Identity | version | Yes | Semver format |
272
+ | Identity | status | Yes | draft → candidate → production |
273
+ | Purpose | summary | Yes | Single sentence outcome |
274
+ | Purpose | triggers | Yes | Phrases that invoke skill |
275
+ | Purpose | not_for | Yes | What to use instead |
276
+ | Workflow | category | Yes | Where in lifecycle |
277
+ | Workflow | next_task_type | Yes | Chain destination or null |
278
+ | Workflow | human_review | Yes | Pause for approval |
279
+ | Interface | inputs.required | Yes | At minimum auto_proceed |
280
+ | Interface | outputs.state | Yes | Task completion state |
281
+ | Interface | outputs.artifacts | If applicable | Created files |
282
+ | Acceptance | must | Yes | All must pass for merge |
283
+ | Acceptance | should | Yes | 80% must pass |
284
+ | Acceptance | could | Optional | Nice-to-have |
285
+ | Acceptance | wont | Optional | Explicit out-of-scope |
286
+ | Testing | happy_path | Yes | At least 1 scenario |
287
+ | Testing | blocking | Yes | At least 1 scenario |
288
+ | Evaluation | self_check | Yes | Automated checks |
289
+ | Evaluation | judge_agent | Optional | Quality assessment |
290
+
291
+ ---
292
+
293
+ ## Acceptance Criteria Categories
294
+
295
+ | Category | Focus | Test Methods |
296
+ |----------|-------|--------------|
297
+ | **structure** | File organization, sections | file_exists, line_count, section_parse |
298
+ | **content** | Information quality, completeness | content_check, table_parse, yaml_parse |
299
+ | **behavior** | Execution produces correct results | execution, yaml_validate |
300
+
301
+ ---
302
+
303
+ ## Test Method Reference
304
+
305
+ | Method | Description | Example Expected |
306
+ |--------|-------------|------------------|
307
+ | file_exists | File present at path | true |
308
+ | line_count | Count lines in file | < 500 |
309
+ | section_parse | Extract markdown sections | [list of section names] |
310
+ | table_parse | Parse markdown table | ≥2 rows |
311
+ | content_check | Search for content patterns | contains "X" |
312
+ | yaml_parse | Parse YAML/frontmatter | field present |
313
+ | yaml_validate | Validate YAML structure | schema compliance |
314
+ | execution | Run skill with inputs | outputs exist |
315
+
316
+ ---
317
+
318
+ ## Usage
319
+
320
+ 1. Copy template YAML block
321
+ 2. Fill all required fields
322
+ 3. Define acceptance criteria (focus on MUST first)
323
+ 4. Add test scenarios for key paths
324
+ 5. Save as `x-ipe-docs/skill-meta/{skill-name}/skill-meta.md`
@@ -0,0 +1,109 @@
1
+ # Task Category Skill Template
2
+
3
+ Task Category skills are orchestration skills called when all related task-based skills in a category finish their work.
4
+
5
+ > Copy YAML, replace `{placeholders}`, delete comments. `?` = optional field.
6
+
7
+ ```yaml
8
+ ---
9
+ # IDENTIFICATION
10
+ skill_name: "x-ipe-{category}-{operation-name}" # string, required
11
+ skill_type: x-ipe-task-category # literal, required
12
+ version: "1.0.0" # semver, required
13
+ last_updated: YYYY-MM-DD # date, required
14
+ implementation_path: .github/skills/{skill_name}/
15
+ related_skills: [] # string[], optional
16
+
17
+ # CATEGORY INTERFACE
18
+ managed_category: "{category}" # string: feature-stage|requirement-stage|ideation-stage
19
+ board_path: "x-ipe-docs/planning/{category}-board.md"
20
+
21
+ entity_schema: # Define entity fields
22
+ id: { type: string, pattern: "{ENTITY}-NNN" }
23
+ status: { type: enum, values: [pending, in_progress, completed, blocked, cancelled] }
24
+ title: { type: string }
25
+ assignee?: { type: string } # ? = optional
26
+
27
+ # STATE MACHINE
28
+ states:
29
+ pending: { terminal: false, transitions_to: [in_progress, cancelled] }
30
+ in_progress: { terminal: false, transitions_to: [completed, blocked, pending] }
31
+ blocked: { terminal: false, transitions_to: [in_progress, cancelled] }
32
+ completed: { terminal: true, transitions_to: [] }
33
+ cancelled: { terminal: true, transitions_to: [] }
34
+
35
+ # OPERATIONS (? = optional input)
36
+ operations:
37
+ create: { inputs: [title, assignee?], outputs: { entity_id: string } }
38
+ read: { inputs: [filter?], outputs: { items: array } }
39
+ update: { inputs: [entity_id, updates], outputs: { success: boolean } }
40
+ delete: { inputs: [entity_id], outputs: { success: boolean } }
41
+
42
+ # BOARD SECTIONS
43
+ sections:
44
+ - { name: "Active {entity_plural}", type: table, columns: [ID, Title, Status, Assignee, Updated] }
45
+ - { name: "Completed {entity_plural}", type: table, columns: [ID, Title, Completed, Notes] }
46
+ - { name: "Quick Stats", type: key-value, fields: [total, in_progress, completed, pending] }
47
+
48
+ # ACCEPTANCE CRITERIA (MoSCoW)
49
+ acceptance_criteria:
50
+ must: [{ id: AC-001, desc: "Operations preserve data integrity" },
51
+ { id: AC-002, desc: "Markdown format stays valid" },
52
+ { id: AC-003, desc: "Stats match actual counts" }]
53
+ should: [{ id: AC-004, desc: "IDs follow {ENTITY}-NNN pattern" }]
54
+ could: [{ id: AC-005, desc: "Auto-archive after 30 days" }]
55
+ wont: [{ id: AC-006, desc: "{out_of_scope}", reason: "{why}" }]
56
+
57
+ # QUALITY METRICS
58
+ quality_metrics: { max_active_items: 50, archive_after_days: 30, complexity: medium }
59
+ ---
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Field Reference
65
+
66
+ | Section | Field | Required | Description |
67
+ |---------|-------|----------|-------------|
68
+ | Identity | skill_name | Yes | `x-ipe-{category}+{operation-name}` format |
69
+ | Identity | skill_type | Yes | `x-ipe-task-category` |
70
+ | Identity | version | Yes | Semver format |
71
+ | Category | managed_category | Yes | feature-stage, requirement-stage, ideation-stage |
72
+ | Category | board_path | Yes | Path to the board markdown file |
73
+ | Schema | entity_schema | Yes | Define entity fields and types |
74
+ | States | states | Yes | State machine with transitions |
75
+ | Operations | operations | Yes | CRUD operations definition |
76
+ | Sections | sections | Yes | Board markdown sections |
77
+ | Acceptance | must | Yes | All must pass for merge |
78
+
79
+ ---
80
+
81
+ ## Minimal Example: Task Board Management
82
+
83
+ ```yaml
84
+ # Only showing fields that differ from template defaults
85
+ skill_name: "x-ipe-task-board-management"
86
+ managed_category: "task"
87
+ board_path: "x-ipe-docs/planning/task-board.md"
88
+
89
+ entity_schema: # Extended fields
90
+ type: { type: enum, values: [feature, bug, chore, spike] }
91
+ feature_ref?: { type: reference, target: "feature-board" }
92
+
93
+ sections:
94
+ - { name: "Active Tasks", columns: [ID, Type, Title, Status, Assignee, Updated, Links] }
95
+ ```
96
+
97
+ ## Example: Feature Board Management
98
+
99
+ ```yaml
100
+ skill_name: "x-ipe-feature-board-management"
101
+ managed_category: "feature-stage"
102
+ board_path: "x-ipe-docs/planning/feature-board.md"
103
+
104
+ entity_schema:
105
+ feature_id: { type: string, pattern: "FEATURE-NNN" }
106
+ status: { type: enum, values: [planning, in_progress, review, completed] }
107
+ title: { type: string }
108
+ tasks: { type: array, items: { type: reference, target: "task-board" } }
109
+ ```