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,611 @@
1
+ # Skill General Guidelines
2
+
3
+ Core principles, patterns, and standards for X-IPE skills.
4
+
5
+ ---
6
+
7
+ # Part 1: Core Principles
8
+
9
+ ## Principle 1: Concise is Key
10
+
11
+ ```yaml
12
+ principle:
13
+ name: Concise is Key
14
+ rationale: Context window is shared resource
15
+
16
+ default_assumption: AI Agent is already very smart
17
+ rule: Only add context it doesn't already have
18
+
19
+ guidelines:
20
+ - challenge_each_paragraph: "Does this justify its token cost?"
21
+ - prefer: examples over verbose explanations
22
+ - max_skill_lines: 500
23
+ ```
24
+
25
+ ## Principle 2: Degrees of Freedom
26
+
27
+ Match specificity to task fragility and variability.
28
+
29
+ ```yaml
30
+ principle:
31
+ name: Degrees of Freedom
32
+ metaphor: "Narrow bridge with cliffs needs guardrails (low freedom), open field allows many routes (high freedom)"
33
+
34
+ freedom_levels:
35
+ high:
36
+ use_when: Multiple approaches valid, decisions depend on context
37
+ format: Text instructions, prose
38
+ examples: [creative brainstorming, workflow decisions]
39
+
40
+ medium:
41
+ use_when: Preferred pattern exists, some variation acceptable
42
+ format: Pseudocode with parameters, numbered steps with conditions
43
+ examples: [execution procedures, conditional logic]
44
+
45
+ low:
46
+ use_when: Operations fragile/error-prone, consistency critical
47
+ format: Specific scripts, YAML schemas, explicit paths
48
+ examples: [data models, file operations, importance signals]
49
+ ```
50
+
51
+ ## Principle 3: Progressive Disclosure
52
+
53
+ Three-level loading system to manage context efficiently.
54
+
55
+ ```yaml
56
+ principle:
57
+ name: Progressive Disclosure
58
+
59
+ loading_levels:
60
+ level_1:
61
+ content: Metadata (name + description)
62
+ when_loaded: Always in context
63
+ token_budget: ~100 words
64
+
65
+ level_2:
66
+ content: SKILL.md body
67
+ when_loaded: When skill triggers
68
+ token_budget: <500 lines
69
+
70
+ level_3:
71
+ content: Bundled resources (scripts/, references/, templates/)
72
+ when_loaded: As needed by AI Agent
73
+ token_budget: Unlimited (can execute without loading)
74
+ ```
75
+
76
+ ## Principle 4: Agent-Optimized Expression Formats
77
+
78
+ Match content format to how AI Agents best consume information.
79
+
80
+ ```yaml
81
+ principle:
82
+ name: Agent-Optimized Expression Formats
83
+ rationale: Agents parse structured data and keywords more reliably than prose and symbols
84
+
85
+ format_selection:
86
+ # Low freedom - fragile operations need precision
87
+ data_models:
88
+ freedom: low
89
+ format: YAML with explicit types
90
+ rationale: Agents parse structured data reliably
91
+
92
+ importance_signals:
93
+ freedom: low
94
+ format: "Keywords: BLOCKING:, MANDATORY:, CRITICAL:"
95
+ rationale: Pattern-matching more reliable than symbol recognition
96
+ avoid: ["⚠️", "⛔", "🔴", "🟢"]
97
+
98
+ file_operations:
99
+ freedom: low
100
+ format: "Explicit paths with {variable} syntax"
101
+ rationale: Fragile operations need precision
102
+
103
+ diagrams:
104
+ freedom: low
105
+ format: Indented lists or YAML with branching
106
+ rationale: Agents struggle to parse 2D ASCII spatial relationships; tokens are expensive
107
+ avoid: ["ASCII Art", "Box drawings", "Mermaid", "PlantUML"]
108
+
109
+ llm_model_definitions:
110
+ freedom: low
111
+ format: "Reference via input parameter ({model})"
112
+ rationale: Hardcoding models reduces reusability and adaptability
113
+ avoid: ["Hardcoded model names in instructions"]
114
+
115
+ # Medium freedom - balance readability and precision
116
+ conditional_logic:
117
+ freedom: medium
118
+ format: IF/THEN/ELSE in prose or pseudocode
119
+
120
+ execution_procedures:
121
+ freedom: medium
122
+ format: Numbered steps with inline conditions
123
+
124
+ quality_checklists:
125
+ freedom: medium
126
+ format: Tables with boolean descriptions
127
+
128
+ # High freedom - multiple valid paths
129
+ examples:
130
+ freedom: high
131
+ format: Prose with code blocks
132
+
133
+ workflow_decisions:
134
+ freedom: high
135
+ format: Prose with options
136
+
137
+ importance_keywords:
138
+ BLOCKING: Must not skip, halts execution if violated
139
+ MANDATORY: Required, but can continue with warning
140
+ CRITICAL: High priority, affects correctness
141
+ REQUIRED: Needed for completion
142
+ OPTIONAL: Can skip without impact
143
+
144
+ variable_syntax:
145
+ pattern: "{variable_name}"
146
+ examples:
147
+ - "{folder_path}"
148
+ - "{feature_id}"
149
+ - "{task_id}"
150
+
151
+ gate_format:
152
+ pattern: "GATE: {assertion}"
153
+ examples:
154
+ - "GATE: files_analyzed == true"
155
+ - "GATE: tests_passing AND coverage >= 80%"
156
+ - "GATE: human_approval == received"
157
+ ```
158
+
159
+ ## Principle 5: Sub-Agent Decomposition
160
+
161
+ Delegate specific concerns to isolated sub-agents when the main agent benefits from separation of concerns.
162
+
163
+ ```yaml
164
+ principle:
165
+ name: Sub-Agent Decomposition
166
+ rationale: Some tasks benefit from isolated execution with fresh context
167
+
168
+ when_to_apply:
169
+ validation:
170
+ use_when: DoD checking, quality gates, or acceptance criteria need unbiased evaluation
171
+ why: Validator should not be influenced by the builder's context
172
+ example: "Spawn sub-agent to validate DoD after implementation"
173
+
174
+ feedback_and_reflection:
175
+ use_when: Output benefits from critique-and-revise cycle
176
+ why: Reviewer with fresh eyes catches what the author misses
177
+ example: "Spawn sub-agent to review technical design, main agent revises based on feedback"
178
+
179
+ parallel_work:
180
+ use_when: Independent work items have no data dependencies
181
+ why: Multiple sub-agents can work concurrently on separate concerns
182
+ example: "Spawn sub-agents to analyze 3 independent modules simultaneously"
183
+
184
+ no_decompose:
185
+ when: Steps are sequential with tight data coupling
186
+ when: Task is simple enough for single agent
187
+ when: Overhead of coordination exceeds benefit
188
+
189
+ sub_agent_definition:
190
+ agent_id:
191
+ role: "{role_name}"
192
+ goal: "{what_agent_should_accomplish}"
193
+ inputs: ["{input_variables}"]
194
+ outputs: ["{output_names}"]
195
+ tools: ["{tool_list}"]
196
+ isolated: true | false # true = fresh context, no builder bias
197
+
198
+ usage_in_skills:
199
+ format: |
200
+ sub_agents:
201
+ - id: "{agent_id}"
202
+ role: "{role}"
203
+ goal: "{goal}"
204
+ trigger: "{when_to_spawn}"
205
+ isolated: true | false
206
+ note: "Model is NOT specified here — each skill defines its own default model"
207
+ ```
208
+
209
+ ---
210
+
211
+ # Part 2: Skill Specification
212
+
213
+ ## Skill Types
214
+
215
+ ```yaml
216
+ skill_types:
217
+ x-ipe-task-based:
218
+ purpose: Development lifecycle workflows
219
+ naming_convention: "x-ipe-task-based-{name}"
220
+ examples:
221
+ - x-ipe-task-based-ideation
222
+ - x-ipe-task-based-code-implementation
223
+ - x-ipe-task-based-bug-fix
224
+
225
+ x-ipe-task-category:
226
+ purpose: Orchestration skill that is called when all related task-based skills in a category finish their work
227
+ naming_convention: "x-ipe-{category}-{operation-name}"
228
+ examples:
229
+ - x-ipe-task-board-management
230
+ - x-ipe-feature-board-management
231
+
232
+ x-ipe-tool:
233
+ purpose: Utility functions and tool integrations
234
+ naming_convention: "x-ipe-tool-{name}"
235
+ examples:
236
+ - x-ipe-tool-pdf
237
+ - x-ipe-tool-pptx
238
+ - x-ipe-tool-frontend-design
239
+
240
+ x-ipe-workflow-orchestration:
241
+ purpose: Multi-step workflow coordination across skill types
242
+ naming_convention: "x-ipe-workflow-{name}"
243
+ examples:
244
+ - x-ipe-workflow-task-execution-guideline
245
+
246
+ x-ipe-meta:
247
+ purpose: Skills used to create, validate, or manage other skills
248
+ naming_convention: "x-ipe-meta-{name}"
249
+ examples:
250
+ - x-ipe-meta-skill-creator-v3
251
+ ```
252
+
253
+ ## Skill Anatomy
254
+
255
+ ```yaml
256
+ skill_structure:
257
+ required:
258
+ SKILL.md:
259
+ frontmatter:
260
+ name: required
261
+ description: required # Include trigger conditions here
262
+ body: Markdown instructions
263
+
264
+ optional:
265
+ scripts/:
266
+ purpose: Executable code
267
+ when_to_include: Same code rewritten repeatedly, deterministic reliability needed
268
+ benefit: Token efficient, deterministic
269
+
270
+ references/:
271
+ purpose: Documentation loaded as needed
272
+ when_to_include: Documentation AI Agent should reference while working
273
+ benefit: Keeps SKILL.md lean
274
+
275
+ templates/:
276
+ purpose: Document templates for output
277
+ when_to_include: Skill produces standardized documents
278
+ benefit: Consistent output format
279
+
280
+ directory_structure: |
281
+ skill-name/
282
+ ├── SKILL.md (required)
283
+ │ ├── YAML frontmatter (required)
284
+ │ │ ├── name: (required)
285
+ │ │ └── description: (required)
286
+ │ └── Markdown instructions (required)
287
+ └── Bundled Resources (optional)
288
+ ├── scripts/ - Executable code
289
+ ├── references/ - Documentation loaded as needed
290
+ └── templates/ - Document templates for output
291
+ ```
292
+
293
+ ## Section Order Reference
294
+
295
+ See [2. reference-section-order.md](2.%20reference-section-order.md) for full section order by skill type.
296
+
297
+ ---
298
+
299
+ # Part 3: Workflow Patterns
300
+
301
+ ## Pattern Selection Guide
302
+
303
+ | Pattern | Best For | When to Use |
304
+ |---------|----------|-------------|
305
+ | Step-Based Workflow (XML) | Linear execution following exact steps | Task must be executed in specific order, steps have distinct constraints/outputs/success criteria |
306
+ | Function-Based Workflow (XML) | Caller selects functions as needed | Skill provides library of capabilities, caller decides which to use and when |
307
+
308
+ ---
309
+
310
+ ## Pattern 1: Step-Based Workflow (XML-Tagged)
311
+
312
+ **Use for:** Procedures that must be executed in exact step order.
313
+
314
+ CRITICAL: Only XML elements defined in the template below are allowed. Do NOT introduce custom XML tags or modify the structure.
315
+
316
+ ### Template
317
+
318
+ ```xml
319
+ <procedure name="{procedure_name}">
320
+ <!-- CRITICAL: Both DoR/DoD check elements below are MANDATORY -->
321
+ <execute_dor_checks_before_starting/>
322
+ <schedule_dod_checks_with_sub_agent_before_starting/>
323
+
324
+ <step_1>
325
+ <name>{Step Name}</name>
326
+ <action>
327
+ 1. {sub_action_1}
328
+ 2. {sub_action_2}
329
+ </action>
330
+ <constraints>
331
+ - BLOCKING: {must_not_violate}
332
+ - CRITICAL: {important_consideration}
333
+ </constraints>
334
+ <success_criteria>
335
+ - {criterion_1}
336
+ - {criterion_2}
337
+ </success_criteria>
338
+ <output>{what_this_step_produces}</output>
339
+ </step_1>
340
+
341
+ <step_2>
342
+ <name>{Next Step}</name>
343
+ <requires>{output_from_step_1}</requires>
344
+ <action>
345
+ 1. {action}
346
+ </action>
347
+ <constraints>
348
+ - {constraint}
349
+ </constraints>
350
+ <success_criteria>
351
+ - {criterion}
352
+ </success_criteria>
353
+ <output>{output}</output>
354
+ </step_2>
355
+
356
+ <step_3>
357
+ ...
358
+ </step_3>
359
+
360
+ <sub-agent-planning>
361
+ <sub_agent_1>
362
+ <sub_agent_definition>
363
+ <role>{role_name}</role>
364
+ <prompt>{context, goal}</prompt>
365
+ </sub_agent_definition>
366
+ <workflow_step_reference>step_1, step_2</workflow_step_reference>
367
+ </sub_agent_1>
368
+ <sub_agent_2>
369
+ <sub_agent_definition>
370
+ <role>{role_name}</role>
371
+ <prompt>{context, goal}</prompt>
372
+ </sub_agent_definition>
373
+ <workflow_step_reference>step_3</workflow_step_reference>
374
+ <starting_condition>
375
+ - "START sub-agent after sub-agent_1 completes"
376
+ </starting_condition>
377
+ </sub_agent_2>
378
+ </procedure>
379
+ ```
380
+
381
+ ### Examples
382
+
383
+ See examples in this folder:
384
+ - [3. example-step-based-code-review.md](3.%20example-step-based-code-review.md) - Code review with multi-component steps
385
+ - [4. example-step-based-feature-implementation.md](4.%20example-step-based-feature-implementation.md) - TDD-based feature implementation
386
+
387
+ ---
388
+
389
+ ## Pattern 2: Function-Based Workflow (XML-Tagged)
390
+
391
+ **Use for:** Skills that provide a library of capabilities where the caller decides which functions to use and when.
392
+
393
+ CRITICAL: This pattern defines available functions but does NOT prescribe execution order. Caller invokes functions based on their specific needs.
394
+
395
+ CRITICAL: Only XML elements defined in the template below are allowed. Do NOT introduce custom XML tags or modify the structure.
396
+
397
+ ### Template
398
+
399
+ ```xml
400
+ <functions>
401
+ <!-- CRITICAL: Both DoR/DoD check elements below are MANDATORY -->
402
+ <execute_dor_checks_before_starting/>
403
+ <schedule_dod_checks_with_sub_agent_before_starting/>
404
+
405
+ <function name="{function_name_1}">
406
+ <purpose>{what this function accomplishes}</purpose>
407
+ <when_to_use>{scenarios where this function is appropriate}</when_to_use>
408
+ <inputs>
409
+ - {input_parameter_1}: {description}
410
+ - {input_parameter_2}: {description}
411
+ </inputs>
412
+ <action>
413
+ 1. {step_1}
414
+ 2. {step_2}
415
+ 3. {step_3}
416
+ </action>
417
+ <constraints>
418
+ - BLOCKING: {must_not_violate}
419
+ - CRITICAL: {important_consideration}
420
+ </constraints>
421
+ <outputs>
422
+ - {output_1}: {description}
423
+ - {output_2}: {description}
424
+ </outputs>
425
+ </function>
426
+
427
+ <function name="{function_name_2}">
428
+ <purpose>{what this function accomplishes}</purpose>
429
+ <when_to_use>{scenarios where this function is appropriate}</when_to_use>
430
+ <inputs>
431
+ - {input_parameter}: {description}
432
+ </inputs>
433
+ <action>
434
+ 1. {step_1}
435
+ 2. {step_2}
436
+ </action>
437
+ <constraints>
438
+ - {constraint}
439
+ </constraints>
440
+ <outputs>
441
+ - {output}: {description}
442
+ </outputs>
443
+ </function>
444
+
445
+ <function name="{function_name_3}">
446
+ <purpose>{what this function accomplishes}</purpose>
447
+ <when_to_use>{scenarios where this function is appropriate}</when_to_use>
448
+ <inputs>
449
+ - {input_parameter}: {description}
450
+ </inputs>
451
+ <action>
452
+ 1. {step}
453
+ </action>
454
+ <outputs>
455
+ - {output}: {description}
456
+ </outputs>
457
+ </function>
458
+
459
+ </functions>
460
+ ```
461
+
462
+ ### Usage Notes
463
+
464
+ - Functions are **independent** - caller can invoke any function without prerequisites (unless explicitly stated in `<requires>` tag)
465
+ - Functions can be invoked **multiple times** if needed
466
+ - Functions can be invoked in **any order** based on caller's needs
467
+ - If a function requires output from another function, add `<requires>{function_name} output</requires>` tag
468
+
469
+ ### Examples
470
+
471
+ See examples in this folder:
472
+ - [5. example-function-based-validation.md](5.%20example-function-based-validation.md) - Validation utilities library
473
+ - [6. example-function-based-analysis.md](6.%20example-function-based-analysis.md) - Code analysis toolkit
474
+
475
+ ---
476
+
477
+ # Part 4: Common Skill Section Patterns
478
+
479
+ ## Task Input
480
+
481
+ ```yaml
482
+ task_input:
483
+ # Required attributes (from task board or previous task)
484
+ task_id: "{TASK-XXX}"
485
+ task_type: "{task_type}"
486
+
487
+ # Context attributes (loaded from project)
488
+ "{context_attr_1}": "{value or path}"
489
+ "{context_attr_2}": "{value or path}"
490
+
491
+ # Dynamic attributes (from previous task output)
492
+ "{dynamic_attr}": "{value}"
493
+ ```
494
+
495
+ ## Task Completion Output
496
+
497
+ ```yaml
498
+ task_completion_output:
499
+ category: "{standalone | feature-stage | requirement-stage | ideation-stage}"
500
+ status: "{completed | blocked}"
501
+ next_task_type: "{next_task_type}"
502
+ require_human_review: "{yes | no}"
503
+ task_output_links:
504
+ - "{output_file_path_1}"
505
+ - "{output_file_path_2}"
506
+ # Dynamic attributes
507
+ "{attr_name}": "{value}"
508
+ ```
509
+
510
+ See [7. example-task-io-code-implementation.md](7.%20example-task-io-code-implementation.md) for complete input/output example.
511
+
512
+ ## Structured Summary
513
+
514
+ Use markdown table for skill outputs that summarize multiple items with consistent attributes.
515
+
516
+ ### Template
517
+
518
+ ```markdown
519
+ | {Column1} | {Column2} | {Column3} | {Column4} |
520
+ |-----------|-----------|-----------|-----------|
521
+ | {value} | {value} | {value} | {value} |
522
+ ```
523
+
524
+ See [8. example-structured-summary.md](8.%20example-structured-summary.md) for examples (Feature, Dependency, Requirement, Test Coverage).
525
+
526
+ ## DoR/DoD Pattern
527
+
528
+ Use XML format for Definition of Ready (DoR) and Definition of Done (DoD) sections.
529
+
530
+ ### Template
531
+
532
+ ```xml
533
+ <definition_of_ready>
534
+ <checkpoint required="true">
535
+ <name>{Prerequisite Name}</name>
536
+ <verification>{How to verify}</verification>
537
+ </checkpoint>
538
+ <checkpoint required="true">
539
+ <name>{Another Prerequisite}</name>
540
+ <verification>{How to verify}</verification>
541
+ </checkpoint>
542
+ <checkpoint required="recommended">
543
+ <name>{Optional Prerequisite}</name>
544
+ <verification>{How to verify}</verification>
545
+ </checkpoint>
546
+ </definition_of_ready>
547
+ ```
548
+
549
+ ```xml
550
+ <definition_of_done>
551
+ <checkpoint required="true">
552
+ <name>{Output Name}</name>
553
+ <verification>{How to verify}</verification>
554
+ </checkpoint>
555
+ </definition_of_done>
556
+ ```
557
+
558
+ See [9. example-dor-dod.md](9.%20example-dor-dod.md) for examples (Code Implementation, Feature Refinement).
559
+
560
+ ## Gate Conditions
561
+
562
+ Use Gate Conditions as an alternative to DoR/DoD when you have complex branching logic in entry/exit criteria.
563
+
564
+ ### Simple Gates (Inline)
565
+
566
+ For simple pass/fail conditions, use inline format:
567
+
568
+ ```
569
+ GATE: document_created == true
570
+ GATE: all_tests_pass == true
571
+ GATE: human_review == approved
572
+ ```
573
+
574
+ ### Complex Gates (YAML)
575
+
576
+ For gates with multiple conditions, thresholds, or branching logic:
577
+
578
+ ```yaml
579
+ gate:
580
+ name: "{Gate Name}"
581
+ conditions:
582
+ logic: AND | OR
583
+ checks:
584
+ - type: completion
585
+ condition: "{condition_1} == true"
586
+ - type: threshold
587
+ condition: "{metric} >= {value}"
588
+ - type: approval
589
+ condition: "{approver} == approved"
590
+ on_pass: "{action_if_pass}"
591
+ on_fail: "{action_if_fail}"
592
+ ```
593
+
594
+ See [10. example-gate-conditions.md](10.%20example-gate-conditions.md) for examples (Quality Gate, Approval Gate, Release Gate).
595
+
596
+ ---
597
+
598
+ # Part 5: Quality Reference
599
+
600
+ CRITICAL: Use keywords (BLOCKING, CRITICAL, MANDATORY) for importance signals in skill content. Agents pattern-match keywords more reliably than Unicode symbols.
601
+
602
+ | Keyword | Meaning |
603
+ |---------|---------|
604
+ | `BLOCKING:` | Must not skip, halts execution |
605
+ | `CRITICAL:` | High priority, affects correctness |
606
+ | `MANDATORY:` | Required, continue with warning if missing |
607
+
608
+ See [11. reference-quality-standards.md](11.%20reference-quality-standards.md) for:
609
+ - Full importance keywords reference
610
+ - Common mistakes (anti-patterns)
611
+ - What NOT to include in skills