x-ipe 1.0.23__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.
- x_ipe/app.py +32 -1
- x_ipe/handlers/terminal_handlers.py +6 -0
- x_ipe/handlers/voice_handlers.py +5 -0
- x_ipe/resources/copilot-instructions.md +19 -6
- x_ipe/resources/skills/lesson-learned/SKILL.md +208 -0
- x_ipe/resources/skills/lesson-learned/references/examples.md +238 -0
- x_ipe/resources/skills/project-quality-board-management/SKILL.md +135 -298
- x_ipe/resources/skills/project-quality-board-management/references/evaluation-principles.md +213 -0
- x_ipe/resources/skills/project-quality-board-management/references/evaluation-procedures.md +214 -0
- x_ipe/resources/skills/project-quality-board-management/templates/quality-report.md +70 -18
- x_ipe/resources/skills/task-execution-guideline/SKILL.md +2 -2
- x_ipe/resources/skills/task-execution-guideline/templates/task-record.yaml +1 -1
- x_ipe/resources/skills/task-type-code-implementation/SKILL.md +72 -270
- x_ipe/resources/skills/task-type-code-implementation/references/implementation-guidelines.md +432 -0
- x_ipe/resources/skills/task-type-code-refactor-v2/SKILL.md +127 -353
- x_ipe/resources/skills/task-type-code-refactor-v2/references/refactoring-techniques.md +373 -0
- x_ipe/resources/skills/task-type-feature-breakdown/SKILL.md +31 -243
- x_ipe/resources/skills/task-type-feature-breakdown/references/breakdown-guidelines.md +330 -0
- x_ipe/resources/skills/task-type-feature-refinement/SKILL.md +27 -180
- x_ipe/resources/skills/task-type-feature-refinement/references/specification-writing-guide.md +267 -0
- x_ipe/resources/skills/task-type-idea-mockup/SKILL.md +38 -276
- x_ipe/resources/skills/task-type-idea-mockup/references/mockup-guidelines.md +299 -0
- x_ipe/resources/skills/task-type-idea-to-architecture/SKILL.md +20 -218
- x_ipe/resources/skills/task-type-idea-to-architecture/references/architecture-patterns.md +342 -0
- x_ipe/resources/skills/task-type-ideation/SKILL.md +10 -266
- x_ipe/resources/skills/task-type-ideation/references/folder-naming-guide.md +55 -0
- x_ipe/resources/skills/task-type-ideation/references/tool-usage-guide.md +236 -0
- x_ipe/resources/skills/task-type-ideation-v2/SKILL.md +488 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/examples.md +377 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/folder-naming-guide.md +74 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/tool-usage-guide.md +145 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/visualization-guide.md +160 -0
- x_ipe/resources/skills/task-type-ideation-v2/templates/idea-summary.md +86 -0
- x_ipe/resources/skills/task-type-refactoring-analysis/SKILL.md +83 -145
- x_ipe/resources/skills/task-type-refactoring-analysis/references/output-schema.md +172 -0
- x_ipe/resources/skills/task-type-technical-design/SKILL.md +28 -214
- x_ipe/resources/skills/task-type-technical-design/references/design-templates.md +422 -0
- x_ipe/resources/skills/task-type-test-generation/SKILL.md +47 -332
- x_ipe/resources/skills/task-type-test-generation/references/test-patterns.md +368 -0
- x_ipe/resources/skills/tool-tracing-creator/SKILL.md +312 -0
- x_ipe/resources/skills/tool-tracing-creator/references/examples.md +324 -0
- x_ipe/resources/skills/tool-tracing-instrumentation/SKILL.md +373 -0
- x_ipe/resources/skills/tool-tracing-instrumentation/references/examples.md +264 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/SKILL.md +486 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/10. example-gate-conditions.md +73 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/11. reference-quality-standards.md +127 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/2. reference-section-order.md +127 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/3. example-step-based-code-review.md +84 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/4. example-step-based-feature-implementation.md +113 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/5. example-function-based-validation.md +73 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/6. example-function-based-analysis.md +94 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/7. example-task-io-code-implementation.md +36 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/8. example-structured-summary.md +43 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/9. example-dor-dod.md +77 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/examples.md +429 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/skill-general-guidelines-v2.md +611 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-meta.md +153 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-based.md +324 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-category.md +109 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-tool.md +205 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-meta.md +334 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-task-based.md +279 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-tool.md +175 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-workflow-orchestration.md +329 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/SKILL.md +487 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/examples.md +377 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/folder-naming-guide.md +74 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/tool-usage-guide.md +145 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/visualization-guide.md +160 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/templates/idea-summary.md +86 -0
- x_ipe/routes/__init__.py +2 -0
- x_ipe/routes/ideas_routes.py +289 -0
- x_ipe/routes/kb_routes.py +80 -0
- x_ipe/routes/main_routes.py +18 -0
- x_ipe/routes/project_routes.py +7 -0
- x_ipe/routes/proxy_routes.py +10 -2
- x_ipe/routes/quality_evaluation_routes.py +193 -0
- x_ipe/routes/settings_routes.py +6 -0
- x_ipe/routes/tools_routes.py +6 -0
- x_ipe/routes/tracing_routes.py +232 -0
- x_ipe/routes/uiux_feedback_routes.py +50 -0
- x_ipe/services/__init__.py +5 -0
- x_ipe/services/config_service.py +6 -0
- x_ipe/services/file_service.py +20 -0
- x_ipe/services/homepage_service.py +160 -0
- x_ipe/services/ideas_service.py +535 -2
- x_ipe/services/kb_service.py +378 -0
- x_ipe/services/proxy_service.py +37 -7
- x_ipe/services/settings_service.py +13 -0
- x_ipe/services/skills_service.py +4 -0
- x_ipe/services/terminal_service.py +24 -0
- x_ipe/services/themes_service.py +4 -0
- x_ipe/services/tools_config_service.py +4 -0
- x_ipe/services/tracing_service.py +333 -0
- x_ipe/services/uiux_feedback_service.py +148 -1
- x_ipe/services/voice_input_service_v2.py +11 -0
- x_ipe/static/css/base.css +7 -0
- x_ipe/static/css/homepage-infinity.css +330 -0
- x_ipe/static/css/kb-core.css +301 -0
- x_ipe/static/css/quality-evaluation.css +345 -0
- x_ipe/static/css/sidebar.css +14 -4
- x_ipe/static/css/terminal.css +23 -0
- x_ipe/static/css/tracing-dashboard.css +796 -0
- x_ipe/static/css/uiux-feedback.css +7 -1
- x_ipe/static/css/workplace.css +636 -0
- x_ipe/static/img/homepage-infinity-loop.png +0 -0
- x_ipe/static/js/features/confirm-dialog.js +169 -0
- x_ipe/static/js/features/folder-view.js +742 -0
- x_ipe/static/js/features/homepage-infinity.js +314 -0
- x_ipe/static/js/features/kb-core.js +371 -0
- x_ipe/static/js/features/quality-evaluation.js +387 -0
- x_ipe/static/js/features/sidebar.js +255 -12
- x_ipe/static/js/features/tracing-dashboard.js +855 -0
- x_ipe/static/js/features/tracing-graph.js +1031 -0
- x_ipe/static/js/features/tree-drag.js +227 -0
- x_ipe/static/js/features/tree-search.js +228 -0
- x_ipe/static/js/features/workplace.js +661 -33
- x_ipe/static/js/init.js +76 -0
- x_ipe/static/js/terminal-v2.js +45 -14
- x_ipe/static/js/terminal.js +50 -49
- x_ipe/static/js/uiux-feedback.js +75 -16
- x_ipe/templates/base.html +24 -0
- x_ipe/templates/index.html +10 -1
- x_ipe/templates/knowledge-base.html +110 -0
- x_ipe/templates/workplace.html +4 -0
- x_ipe/tracing/__init__.py +37 -0
- x_ipe/tracing/buffer.py +135 -0
- x_ipe/tracing/context.py +125 -0
- x_ipe/tracing/decorator.py +288 -0
- x_ipe/tracing/middleware.py +197 -0
- x_ipe/tracing/parser.py +235 -0
- x_ipe/tracing/redactor.py +111 -0
- x_ipe/tracing/writer.py +122 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/METADATA +2 -2
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/RECORD +138 -65
- x_ipe/app.py.bak +0 -1333
- x_ipe/resources/skills/x-ipe-skill-creator/SKILL.md +0 -329
- x_ipe/resources/skills/x-ipe-skill-creator/references/output-patterns.md +0 -169
- x_ipe/resources/skills/x-ipe-skill-creator/references/skill-structure.md +0 -162
- x_ipe/resources/skills/x-ipe-skill-creator/references/workflows.md +0 -110
- x_ipe/resources/skills/x-ipe-skill-creator/templates/references/examples.md +0 -113
- x_ipe/resources/skills/x-ipe-skill-creator/templates/skill-category-skill.md +0 -296
- x_ipe/resources/skills/x-ipe-skill-creator/templates/task-type-skill.md +0 -269
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/WHEEL +0 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/entry_points.txt +0 -0
- {x_ipe-1.0.23.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
|
+
```
|