@pantion/mcp-server 0.1.0

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 (160) hide show
  1. package/dist/feature-set.d.ts +14 -0
  2. package/dist/feature-set.d.ts.map +1 -0
  3. package/dist/feature-set.js +38 -0
  4. package/dist/feature-set.js.map +1 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +56 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/prompts/convergence-prompts.d.ts +4 -0
  10. package/dist/prompts/convergence-prompts.d.ts.map +1 -0
  11. package/dist/prompts/convergence-prompts.js +76 -0
  12. package/dist/prompts/convergence-prompts.js.map +1 -0
  13. package/dist/prompts/index.d.ts +4 -0
  14. package/dist/prompts/index.d.ts.map +1 -0
  15. package/dist/prompts/index.js +7 -0
  16. package/dist/prompts/index.js.map +1 -0
  17. package/dist/prompts/workflow-prompts.d.ts +9 -0
  18. package/dist/prompts/workflow-prompts.d.ts.map +1 -0
  19. package/dist/prompts/workflow-prompts.js +249 -0
  20. package/dist/prompts/workflow-prompts.js.map +1 -0
  21. package/dist/resources/canon-resources.d.ts +4 -0
  22. package/dist/resources/canon-resources.d.ts.map +1 -0
  23. package/dist/resources/canon-resources.js +160 -0
  24. package/dist/resources/canon-resources.js.map +1 -0
  25. package/dist/server.d.ts +9 -0
  26. package/dist/server.d.ts.map +1 -0
  27. package/dist/server.js +47 -0
  28. package/dist/server.js.map +1 -0
  29. package/dist/tools/amend.d.ts +4 -0
  30. package/dist/tools/amend.d.ts.map +1 -0
  31. package/dist/tools/amend.js +106 -0
  32. package/dist/tools/amend.js.map +1 -0
  33. package/dist/tools/approve.d.ts +4 -0
  34. package/dist/tools/approve.d.ts.map +1 -0
  35. package/dist/tools/approve.js +60 -0
  36. package/dist/tools/approve.js.map +1 -0
  37. package/dist/tools/check-convergence.d.ts +4 -0
  38. package/dist/tools/check-convergence.d.ts.map +1 -0
  39. package/dist/tools/check-convergence.js +50 -0
  40. package/dist/tools/check-convergence.js.map +1 -0
  41. package/dist/tools/check.d.ts +4 -0
  42. package/dist/tools/check.d.ts.map +1 -0
  43. package/dist/tools/check.js +190 -0
  44. package/dist/tools/check.js.map +1 -0
  45. package/dist/tools/create-skill.d.ts +4 -0
  46. package/dist/tools/create-skill.d.ts.map +1 -0
  47. package/dist/tools/create-skill.js +58 -0
  48. package/dist/tools/create-skill.js.map +1 -0
  49. package/dist/tools/decompose.d.ts +4 -0
  50. package/dist/tools/decompose.d.ts.map +1 -0
  51. package/dist/tools/decompose.js +56 -0
  52. package/dist/tools/decompose.js.map +1 -0
  53. package/dist/tools/index.d.ts +4 -0
  54. package/dist/tools/index.d.ts.map +1 -0
  55. package/dist/tools/index.js +47 -0
  56. package/dist/tools/index.js.map +1 -0
  57. package/dist/tools/list-canons.d.ts +4 -0
  58. package/dist/tools/list-canons.d.ts.map +1 -0
  59. package/dist/tools/list-canons.js +28 -0
  60. package/dist/tools/list-canons.js.map +1 -0
  61. package/dist/tools/migrate.d.ts +4 -0
  62. package/dist/tools/migrate.d.ts.map +1 -0
  63. package/dist/tools/migrate.js +38 -0
  64. package/dist/tools/migrate.js.map +1 -0
  65. package/dist/tools/onboard.d.ts +4 -0
  66. package/dist/tools/onboard.d.ts.map +1 -0
  67. package/dist/tools/onboard.js +27 -0
  68. package/dist/tools/onboard.js.map +1 -0
  69. package/dist/tools/reconverge.d.ts +4 -0
  70. package/dist/tools/reconverge.d.ts.map +1 -0
  71. package/dist/tools/reconverge.js +68 -0
  72. package/dist/tools/reconverge.js.map +1 -0
  73. package/dist/tools/reject.d.ts +4 -0
  74. package/dist/tools/reject.d.ts.map +1 -0
  75. package/dist/tools/reject.js +57 -0
  76. package/dist/tools/reject.js.map +1 -0
  77. package/dist/tools/reskill.d.ts +4 -0
  78. package/dist/tools/reskill.d.ts.map +1 -0
  79. package/dist/tools/reskill.js +63 -0
  80. package/dist/tools/reskill.js.map +1 -0
  81. package/dist/tools/resume.d.ts +4 -0
  82. package/dist/tools/resume.d.ts.map +1 -0
  83. package/dist/tools/resume.js +56 -0
  84. package/dist/tools/resume.js.map +1 -0
  85. package/dist/tools/reverse.d.ts +4 -0
  86. package/dist/tools/reverse.d.ts.map +1 -0
  87. package/dist/tools/reverse.js +32 -0
  88. package/dist/tools/reverse.js.map +1 -0
  89. package/dist/tools/save-canon.d.ts +4 -0
  90. package/dist/tools/save-canon.d.ts.map +1 -0
  91. package/dist/tools/save-canon.js +97 -0
  92. package/dist/tools/save-canon.js.map +1 -0
  93. package/dist/tools/start.d.ts +4 -0
  94. package/dist/tools/start.d.ts.map +1 -0
  95. package/dist/tools/start.js +83 -0
  96. package/dist/tools/start.js.map +1 -0
  97. package/dist/tools/translate.d.ts +4 -0
  98. package/dist/tools/translate.d.ts.map +1 -0
  99. package/dist/tools/translate.js +102 -0
  100. package/dist/tools/translate.js.map +1 -0
  101. package/dist/tools/update.d.ts +4 -0
  102. package/dist/tools/update.d.ts.map +1 -0
  103. package/dist/tools/update.js +42 -0
  104. package/dist/tools/update.js.map +1 -0
  105. package/dist/utils/response.d.ts +12 -0
  106. package/dist/utils/response.d.ts.map +1 -0
  107. package/dist/utils/response.js +18 -0
  108. package/dist/utils/response.js.map +1 -0
  109. package/package.json +37 -0
  110. package/protocol/commands/amend.md +188 -0
  111. package/protocol/commands/build.md +90 -0
  112. package/protocol/commands/check.md +255 -0
  113. package/protocol/commands/create-skill.md +81 -0
  114. package/protocol/commands/decompose.md +230 -0
  115. package/protocol/commands/dialog.md +173 -0
  116. package/protocol/commands/help.md +121 -0
  117. package/protocol/commands/migrate.md +173 -0
  118. package/protocol/commands/onboard.md +210 -0
  119. package/protocol/commands/quick.md +170 -0
  120. package/protocol/commands/redialog.md +252 -0
  121. package/protocol/commands/reskill.md +73 -0
  122. package/protocol/commands/resume.md +148 -0
  123. package/protocol/commands/reverse.md +312 -0
  124. package/protocol/commands/start.md +220 -0
  125. package/protocol/commands/translate.md +157 -0
  126. package/protocol/commands/update.md +205 -0
  127. package/protocol/commands/validate.md +137 -0
  128. package/protocol/core-advanced.md +188 -0
  129. package/protocol/core.md +273 -0
  130. package/protocol/pantion-future-prompt.md +88 -0
  131. package/protocol/pantion-intent.md +78 -0
  132. package/protocol/templates/acceptance-tests.md +116 -0
  133. package/protocol/templates/behavior-map.md +135 -0
  134. package/protocol/templates/traceability-map.md +56 -0
  135. package/skills/image/convergence-rules.md +55 -0
  136. package/skills/image/prompts/convergence-intro.md +25 -0
  137. package/skills/image/prompts/translate-intro.md +37 -0
  138. package/skills/image/skill.json +12 -0
  139. package/skills/image/translate.md +67 -0
  140. package/skills/skill-builder/convergence-rules.md +64 -0
  141. package/skills/skill-builder/prompts/convergence-intro.md +21 -0
  142. package/skills/skill-builder/prompts/translate-intro.md +17 -0
  143. package/skills/skill-builder/skill.json +10 -0
  144. package/skills/skill-builder/translate.md +46 -0
  145. package/skills/software/convergence-rules.md +29 -0
  146. package/skills/software/prompts/convergence-intro.md +22 -0
  147. package/skills/software/prompts/translate-intro.md +19 -0
  148. package/skills/software/skill.json +12 -0
  149. package/skills/software/translate.md +74 -0
  150. package/skills/software-brownfield/convergence-rules.md +109 -0
  151. package/skills/software-brownfield/prompts/convergence-intro.md +26 -0
  152. package/skills/software-brownfield/prompts/translate-intro.md +13 -0
  153. package/skills/software-brownfield/skill.json +12 -0
  154. package/skills/software-brownfield/translate.md +56 -0
  155. package/souls/beginner/rules.md +34 -0
  156. package/souls/beginner/soul.json +6 -0
  157. package/souls/default/rules.md +25 -0
  158. package/souls/default/soul.json +6 -0
  159. package/souls/young/rules.md +67 -0
  160. package/souls/young/soul.json +6 -0
@@ -0,0 +1,56 @@
1
+ # Traceability Map Template
2
+
3
+ > **Artifact Type:** Derived / Non-Canonical
4
+ > **Rule:** If this document conflicts with the Canonical Dialog, the Canon wins.
5
+
6
+ ---
7
+
8
+ ## 1) Source Canon Reference
9
+
10
+ - **Canon Name:** [name]
11
+ - **Canon Date:** [date]
12
+ - **Canon Location:** [path]
13
+ - **Convergence Stamp:**
14
+ - STATUS: [status]
15
+ - INFERENCE POLICY: [policy]
16
+
17
+ ---
18
+
19
+ ## 2) How to Use This Map
20
+
21
+ Each Canon statement (anchored) must map to:
22
+ 1. One or more **Derived Requirements** (from spec files)
23
+ 2. One or more **Acceptance Tests** (AT-### IDs)
24
+ 3. One or more **Implementation References** (file:function)
25
+ 4. **Evidence** (logs/screenshots/test output) proving it works
26
+
27
+ If any row cannot be completed without guessing, the Canon needs an AMENDMENT.
28
+
29
+ ---
30
+
31
+ ## 3) Traceability Table
32
+
33
+ | Canon Anchor | Canon Statement (short quote) | Requirement ID | Test IDs | Implementation Ref | Evidence |
34
+ |---|---|---|---|---|---|
35
+ | H1 | [quote] | R-001 | AT-001, AT-002 | src/...:... | [evidence] |
36
+ | A2 | [quote] | R-002 | AT-101 | src/...:... | [evidence] |
37
+ | H3 | [quote] | R-003 | AT-401 | src/...:... | [evidence] |
38
+
39
+ (Add rows until all Canon Anchors are covered.)
40
+
41
+ ---
42
+
43
+ ## 4) Coverage Summary
44
+
45
+ - **Total Canon Anchors:** [number]
46
+ - **Covered in table:** [number]
47
+ - **Missing coverage:** [number] (must be zero for release)
48
+
49
+ ---
50
+
51
+ ## 5) Change Control
52
+
53
+ When a Canon AMENDMENT is added:
54
+ - Add new rows for new/changed Canon Anchors
55
+ - Mark superseded requirements/tests
56
+ - Re-run the minimum acceptance set + changed tests
@@ -0,0 +1,55 @@
1
+ # Image Generation — Additional Convergence Rules
2
+
3
+ In addition to the standard Pantion convergence elements, always cover:
4
+
5
+ ## Visual Intent
6
+ - What is the core emotion, concept, or message?
7
+ - What should the viewer feel or understand?
8
+ - If the intent is abstract (e.g., "convergence", "growth", "trust"), ask: "How would you visualize that concretely? For example, lines coming together, a plant sprouting, hands shaking — or do you want me to suggest options?"
9
+ - Always arrive at concrete visual elements. Abstract concepts must be translated into something a viewer can see.
10
+
11
+ ## Context and Usage (ask early — determines format and style)
12
+ - Where will this image be used? (website, social media, print, presentation, icon)
13
+ - Are there brand guidelines or constraints?
14
+ - This determines format, resolution, and appropriate style — ask BEFORE format/style questions.
15
+
16
+ ## Subject and Composition
17
+ - What are the key visual elements? What is the main subject?
18
+ - Where should elements be positioned? What is the visual hierarchy? (what draws the eye first?)
19
+ - Format and aspect ratio? (square, landscape, portrait, specific dimensions)
20
+
21
+ ## Style
22
+ - Art style or aesthetic? (photorealistic, illustration, cartoon, abstract, etc.)
23
+ - Color palette or mood?
24
+ - References? ("like X" — helps generators understand the target)
25
+
26
+ ## Anti-References (CRITICAL — drives negative prompts)
27
+ - What should this NOT look like? Be specific.
28
+ - What visual clichés to avoid?
29
+ - What tonal boundaries? (e.g., "not childish", "not aggressive", "not corporate")
30
+ - These are HARD constraints. They MUST appear in the generated prompt as negative guidance.
31
+
32
+ ## Technical
33
+ - Target resolution or medium? (web, print, social media — may already follow from Context)
34
+ - Generator preference? (DALL-E, Midjourney, Stable Diffusion, Gemini — FLEX)
35
+
36
+ ## Question Order
37
+
38
+ Follow this order to avoid redundant questions:
39
+
40
+ 1. **Visual intent** — what and why
41
+ 2. **Context/usage** — where (determines format and style constraints)
42
+ 3. **Subject and composition** — what we see, format
43
+ 4. **Style** — how it looks
44
+ 5. **Color** — palette and mood
45
+ 6. **Anti-references** — what it must NOT be
46
+ 7. **Technical** — generator preference (only if user cares)
47
+
48
+ Skip questions whose answers are already implied by earlier answers. If format follows logically from context (e.g., "social media profile" → square), confirm rather than ask.
49
+
50
+ ## IMPORTANT
51
+ - Do NOT choose a generator unless the user insists — mark as FLEX
52
+ - Focus on the VISUAL INTENT, not the technical prompt syntax
53
+ - The canon describes what the image should express, not prompt engineering
54
+ - Abstract concepts MUST be translated into concrete visual descriptions before convergence is complete
55
+ - Anti-references are HARD constraints, not suggestions — treat them with the same weight as positive requirements
@@ -0,0 +1,25 @@
1
+ # Image Generation — Convergence Opening
2
+
3
+ You are converging an image generation intent. Your goal is to reach an unambiguous visual description through targeted questions.
4
+
5
+ ## Opening approach
6
+
7
+ 1. Acknowledge what the user wants to create
8
+ 2. Ask for the **core visual intent**: what should the viewer feel or understand?
9
+ 3. If the intent is abstract, immediately ask how to visualize it concretely — don't leave abstract concepts unresolved
10
+ 4. Then systematically cover (in this order):
11
+ - Context: where will it be used? (determines format and style)
12
+ - Subject and key visual elements
13
+ - Composition and hierarchy (what draws the eye first?)
14
+ - Format and aspect ratio (may already follow from context — confirm, don't re-ask)
15
+ - Style and aesthetic (photorealistic, illustration, cartoon, abstract, etc.)
16
+ - Color palette and mood
17
+ - What should it NOT look like? (anti-references — be specific, these become negative prompts)
18
+
19
+ ## Tone
20
+
21
+ - Be direct — ask one visual question at a time
22
+ - Do not suggest a generator unless the user asks — mark as FLEX
23
+ - If the user's visual description is vague, ask for a concrete reference or anti-reference
24
+ - Focus on the visual intent, not on prompt engineering syntax
25
+ - Skip questions whose answers are already implied by earlier answers
@@ -0,0 +1,37 @@
1
+ # Image Generation — Translation Opening
2
+
3
+ You are translating a converged image canon into generation-ready files.
4
+
5
+ ## Process
6
+
7
+ 1. Read the complete dialog (canon) — this is the only source of truth
8
+ 2. Generate the required files as described in `translate.md`:
9
+ - `canon/{naam}/prompt.md` — detailed, generator-agnostic image description
10
+ - `canon/{naam}/brief.md` — human-readable creative brief
11
+ - Generator-specific prompts if applicable
12
+ 3. Every file starts with: `<!-- Derived from: canon/{naam}/dialog.md, [date] -->`
13
+
14
+ ## Key rules
15
+
16
+ - Source is ALWAYS the dialog, never the summary
17
+ - The prompt describes WHAT the image should express, derived from the converged intent
18
+ - Write the prompt in plain English, even if the dialog was in another language
19
+ - Do not add visual elements that are not in the dialog
20
+
21
+ ## Critical translation steps
22
+
23
+ ### 1. Negative prompts (never skip)
24
+ - Find ALL anti-references in the dialog ("niet X", "geen Y", "vermijd Z")
25
+ - Translate each into explicit negative guidance in the prompt
26
+ - Be specific and use multiple phrasings — generators need redundancy to respect negation
27
+ - Format negative prompts according to generator conventions (see translate.md)
28
+
29
+ ### 2. Abstract → Concrete (never copy literally)
30
+ - Find abstract concepts used as visual intent ("convergentie", "groei", "kracht")
31
+ - Translate each into concrete visual elements (shapes, movements, compositions)
32
+ - If the dialog doesn't specify the visual metaphor, choose the most direct one and mark as FLEX
33
+
34
+ ### 3. Prompt structure
35
+ - Structure as: subject, composition, style, color/mood, technical details
36
+ - Follow with: negative prompt section
37
+ - Include generator-specific formatting where applicable
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "image",
3
+ "displayName": "Image Generation",
4
+ "description": "Converge intent for image generation. Translates canon to detailed image generation prompts.",
5
+ "version": "0.1.0",
6
+ "keywords": [
7
+ "image", "picture", "photo", "illustration", "art",
8
+ "visual", "design", "logo", "icon", "drawing",
9
+ "afbeelding", "foto", "tekening", "illustratie", "beeld",
10
+ "poster", "banner", "artwork"
11
+ ]
12
+ }
@@ -0,0 +1,67 @@
1
+ # Image Generation — Translation Instructions
2
+
3
+ After convergence, generate the following files from the dialog canon.
4
+
5
+ ## Always Generate
6
+
7
+ 1. **`canon/{naam}/prompt.md`**
8
+ - A detailed, generator-agnostic image description
9
+ - Structured sections (see Prompt Structure below)
10
+ - Written in plain English (even if dialog was in another language)
11
+ - Anti-references as explicit negative guidance section
12
+
13
+ 2. **`canon/{naam}/brief.md`**
14
+ - A human-readable creative brief
15
+ - Captures the intent, context, and constraints
16
+ - Useful for sharing with designers or for future reference
17
+
18
+ ## Generate If Applicable
19
+
20
+ 3. **Generator-specific prompts** (if a generator was chosen or for convenience):
21
+ - `canon/{naam}/prompt-dalle.md` — optimized for DALL-E / ChatGPT
22
+ - `canon/{naam}/prompt-midjourney.md` — optimized for Midjourney
23
+ - `canon/{naam}/prompt-sd.md` — optimized for Stable Diffusion
24
+ - `canon/{naam}/prompt-gemini.md` — optimized for Gemini
25
+
26
+ ## Prompt Structure
27
+
28
+ Every prompt (universal and generator-specific) MUST include these sections:
29
+
30
+ ### Positive prompt
31
+ - **Subject**: what is depicted (concrete, visual)
32
+ - **Composition**: layout, positioning, visual hierarchy
33
+ - **Style**: art style, aesthetic, rendering approach
34
+ - **Color**: palette, mood, lighting
35
+ - **Technical**: format, background, resolution
36
+
37
+ ### Negative prompt (CRITICAL)
38
+ - Translate ALL anti-references from the dialog into explicit negative guidance
39
+ - "Niet kinderlijk" → "not childish, not cute, not infantile, no rounded baby-like features"
40
+ - "Niet realistisch" → "not photorealistic, not hyper-detailed, no photo textures"
41
+ - Be specific and redundant — generators need multiple phrasings to respect negation
42
+
43
+ ### Generator-specific formatting
44
+ - **DALL-E**: Negative guidance woven into the prompt text ("Do not make it childish. Avoid...")
45
+ - **Midjourney**: Use `--no` parameter for key negatives, plus textual negatives in prompt
46
+ - **Stable Diffusion**: Separate `negative_prompt:` field with comma-separated terms
47
+ - **Gemini**: Negative guidance woven into the prompt text, similar to DALL-E
48
+
49
+ ## Abstract → Concrete Translation (CRITICAL)
50
+
51
+ The dialog may contain abstract concepts as visual intent (e.g., "convergence", "growth", "freedom"). These MUST be translated into concrete visual elements in the prompt:
52
+
53
+ - **Abstract concept in dialog** → **Concrete visual in prompt**
54
+ - "convergentie" → "lines converging to a focal point, funnel shape, elements gathering toward center"
55
+ - "groei" → "plant sprouting, upward movement, expanding forms"
56
+ - "vrijheid" → "open sky, spread wings, unbound flowing elements"
57
+
58
+ If the dialog does not specify how to visualize an abstract concept, choose the most direct visual metaphor and note it as a FLEX choice.
59
+
60
+ ## Rules
61
+
62
+ - Source is ALWAYS the dialog, not the summary
63
+ - Each file starts with: `<!-- Derived from: canon/{naam}/dialog.md, [date] -->`
64
+ - The prompt captures WHAT the image should express, derived from the converged intent
65
+ - Anti-references MUST appear as negative prompt/guidance — never omit them
66
+ - Abstract concepts MUST be translated to concrete visuals — never copy them literally
67
+ - Update `canon/{naam}/traceability.md` with complete mapping
@@ -0,0 +1,64 @@
1
+ # Skill Builder — Additional Convergence Rules
2
+
3
+ You are building a Pantion SKILL — a domain-specific knowledge module that will guide future convergence dialogs. Your job is to extract the user's domain expertise and codify it as convergence guidance.
4
+
5
+ In addition to the standard Pantion convergence elements, always cover:
6
+
7
+ ## Domain Identity
8
+ - What domain does this skill cover? (one sentence, be specific)
9
+ - Who are the typical users? What are they trying to achieve?
10
+ - What is explicitly OUT of scope?
11
+ - What adjacent domains might users confuse with this one?
12
+
13
+ ## Critical Domain Questions
14
+ - What questions MUST always be asked when converging in this domain?
15
+ - In what order should they be asked? (dependency-aware)
16
+ - For each question: why does it matter? What goes wrong if it is skipped?
17
+ - Which questions are domain-unique (not covered by the standard protocol)?
18
+
19
+ ## Domain-Specific HARD/FLEX Guidance
20
+ - What constraints are typically HARD in this domain?
21
+ - What decisions are typically FLEX?
22
+ - What constraints are commonly overlooked?
23
+ - What non-goals are commonly assumed but should be stated?
24
+
25
+ ## Safety Boundaries
26
+ - What actions must the skill NEVER allow or encourage?
27
+ - What data or resources are off-limits?
28
+ - What are the worst-case outcomes if the skill is misused or poorly applied?
29
+ - Are there legal, ethical, or professional constraints specific to this domain?
30
+ - What guardrails should the skill enforce regardless of user preference?
31
+
32
+ ## Common Mistakes
33
+ - What do agents typically get wrong in this domain?
34
+ - What domain knowledge do agents lack that humans take for granted?
35
+ - What "obvious" assumptions are actually wrong?
36
+ - What questions do agents fail to ask?
37
+
38
+ ## Output Specification
39
+ - What files should translation produce for this domain?
40
+ - For each file: what should it contain? What format?
41
+ - Are there domain-specific output formats?
42
+ - What would a GOOD translation look like vs a BAD one?
43
+
44
+ ## Vocabulary and Concepts
45
+ - What domain-specific terms should the agent understand?
46
+ - Are there terms that mean something different in this domain?
47
+ - What concepts require explanation for a general-purpose agent?
48
+
49
+ ## Success Criteria for the Skill
50
+ - How would you verify that this skill works well?
51
+ - What would a dialog look like that used this skill correctly?
52
+ - What would a BAD dialog look like (skill not working)?
53
+
54
+ ## Keywords
55
+ - What terms should trigger this skill for auto-selection?
56
+ - Include variations, synonyms, and multilingual terms where relevant
57
+
58
+ ## IMPORTANT
59
+ - Ask ONE question at a time — wait for the answer before asking the next
60
+ - The user is the domain expert — extract their knowledge, do not assume it
61
+ - If the user is unsure about a question, mark it as FLEX with a sensible default
62
+ - Do not suggest specific technologies or implementations
63
+ - Focus on WHAT the skill should teach, not HOW it will be implemented
64
+ - Cover anti-patterns (what to avoid) just as thoroughly as patterns (what to do)
@@ -0,0 +1,21 @@
1
+ # Skill Builder — Convergence Opening
2
+
3
+ You are creating a new Pantion skill. Your goal is to extract the user's domain expertise and codify it as convergence guidance.
4
+
5
+ ## Opening approach
6
+
7
+ 1. Ask what domain this skill is for — in one sentence
8
+ 2. Ask who the typical users are and what they are trying to achieve
9
+ 3. Then systematically cover:
10
+ - What questions must always be asked in this domain?
11
+ - What do agents commonly get wrong?
12
+ - What does the output of a good convergence look like?
13
+ - What are the domain-specific constraints and vocabulary?
14
+
15
+ ## Tone
16
+
17
+ - You are interviewing a domain expert — be respectful of their knowledge
18
+ - Ask one question at a time
19
+ - If they give a broad answer, probe for specifics
20
+ - Focus on extracting IMPLICIT knowledge — things the expert knows but might not think to mention
21
+ - Use concrete examples: "Can you give me an example of when an agent got this wrong?"
@@ -0,0 +1,17 @@
1
+ # Skill Builder — Translation Opening
2
+
3
+ You are translating a converged skill canon into skill files.
4
+
5
+ ## Process
6
+
7
+ 1. Read the complete skill dialog (canon) — this is the only source of truth
8
+ 2. Generate the required skill files as described in `translate.md`
9
+ 3. Every file starts with: `<!-- Derived from: skills/{skill_name}/canon/skill-dialog.md, [date] -->`
10
+
11
+ ## Key rules
12
+
13
+ - Source is ALWAYS the dialog, never the summary
14
+ - The convergence-rules.md must be complete enough to guide a convergence dialog without any other context
15
+ - Keywords must be realistic for auto-selection
16
+ - Do not include implementation details — only domain knowledge
17
+ - Anti-patterns are as important as patterns
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "skill-builder",
3
+ "displayName": "Skill Builder",
4
+ "description": "Converge intent for creating a new Pantion skill. Extracts domain knowledge to produce a complete skill definition.",
5
+ "version": "0.1.0",
6
+ "keywords": [
7
+ "skill", "create-skill", "new-skill", "skill-builder",
8
+ "domain", "expertise", "convergence-rules"
9
+ ]
10
+ }
@@ -0,0 +1,46 @@
1
+ # Skill Builder — Translation Instructions
2
+
3
+ After convergence, generate SKILL FILES from the skill dialog canon.
4
+ These files form a complete Pantion skill that can be used in future convergence dialogs.
5
+
6
+ The skill canon itself (stored in the skill's `canon/` directory) is the source of truth.
7
+
8
+ ## Always Generate
9
+
10
+ 1. **`skills/{skill_name}/skill.json`**
11
+ - Manifest with: name, displayName, description, version ("0.1.0"), keywords
12
+ - Keywords derived from the domain identity and keywords discussion
13
+ - Description is one sentence capturing the domain intent
14
+
15
+ 2. **`skills/{skill_name}/convergence-rules.md`**
16
+ - Domain-specific convergence guidance derived from the dialog
17
+ - Structured as additional rules (supplements the core protocol)
18
+ - Includes: critical domain questions, common mistakes to avoid, domain-specific HARD/FLEX guidance
19
+ - Each rule should explain WHY it matters
20
+ - Include an IMPORTANT section with domain-specific warnings
21
+ - Must be self-contained — an agent reading ONLY this file should understand the domain
22
+
23
+ 3. **`skills/{skill_name}/translate.md`**
24
+ - Translation instructions for this domain
25
+ - Lists which files to generate after convergence (Always + If Applicable)
26
+ - Describes the expected content and format of each file
27
+ - Follows the pattern of existing skill translate.md files
28
+
29
+ 4. **`skills/{skill_name}/prompts/convergence-intro.md`**
30
+ - Opening prompt for convergence in this domain
31
+ - Sets the right tone and first questions
32
+ - References the domain-specific convergence rules
33
+
34
+ 5. **`skills/{skill_name}/prompts/translate-intro.md`**
35
+ - Opening prompt for translation in this domain
36
+ - Sets expectations for output quality
37
+
38
+ ## Rules
39
+
40
+ - Source is ALWAYS the skill dialog (canon), not the summary
41
+ - Each generated markdown file starts with: `<!-- Derived from: skills/{skill_name}/canon/skill-dialog.md, [date] -->`
42
+ - Do NOT add derivation comments to JSON files (skill.json) — JSON does not support comments
43
+ - The convergence-rules.md file is the most important output — it should be complete and self-contained
44
+ - Do not include implementation details in convergence-rules.md — only domain knowledge
45
+ - Keywords should be broad enough to trigger the skill but specific enough to avoid false matches
46
+ - The translate.md should describe outputs specific to this domain
@@ -0,0 +1,29 @@
1
+ # Software Development — Additional Convergence Rules
2
+
3
+ In addition to the standard Pantion convergence elements, always cover:
4
+
5
+ ## Technology Stack
6
+ - Is there a preferred language, framework, or platform? (FLEX unless the user insists)
7
+ - Are there integration requirements with existing systems?
8
+
9
+ ## Data Model
10
+ - What data does the system manage?
11
+ - Where is it stored? What is the retention policy?
12
+
13
+ ## User Interface
14
+ - Who are the users? (roles, permissions)
15
+ - How do they interact? (CLI, web, API, mobile)
16
+ - What does a successful interaction look like?
17
+
18
+ ## Deployment
19
+ - Where will it run? (local, cloud, specific platform)
20
+ - Are there scaling requirements?
21
+
22
+ ## Testing
23
+ - How should correctness be verified?
24
+ - What are the critical paths that must always work?
25
+
26
+ ## IMPORTANT
27
+ - Do NOT choose specific technologies unless the user insists
28
+ - Mark all technology preferences as FLEX
29
+ - Focus on WHAT the software does, not HOW it's built
@@ -0,0 +1,22 @@
1
+ # Software Development — Convergence Opening
2
+
3
+ You are converging a software project. Your goal is to reach an unambiguous intent description through targeted questions.
4
+
5
+ ## Opening approach
6
+
7
+ 1. Acknowledge what the user wants to build
8
+ 2. Ask for the **core intent** in one sentence: what does this software do?
9
+ 3. Then systematically cover the convergence elements:
10
+ - Who are the users?
11
+ - What are the inputs and outputs?
12
+ - What does success look like? (externally verifiable)
13
+ - What does it NOT do? (non-goals)
14
+ - What happens when something fails?
15
+ - Are there hard constraints? (security, privacy, cost, performance)
16
+
17
+ ## Tone
18
+
19
+ - Be direct and efficient — ask one or two questions at a time
20
+ - Do not suggest solutions or technologies unless the user asks
21
+ - Mark all technology preferences as FLEX unless the user insists
22
+ - If the user's answer is ambiguous, ask again — do not guess
@@ -0,0 +1,19 @@
1
+ # Software Development — Translation Opening
2
+
3
+ You are translating a converged software canon into project specification files.
4
+
5
+ ## Process
6
+
7
+ 1. Read the complete dialog (canon) — this is the only source of truth
8
+ 2. Generate the required files as described in `translate.md`
9
+ 3. Every file starts with: `<!-- Derived from: canon/[name]-dialog.md, [date] -->`
10
+ 4. Update `canon/traceability.md` with the mapping
11
+
12
+ ## Key rules
13
+
14
+ - Source is ALWAYS the dialog, never the summary
15
+ - Focus on WHAT the project does, not HOW it should be built
16
+ - Do not add requirements that are not in the dialog
17
+ - Do not omit requirements that are in the dialog
18
+ - Mark elements as HARD or FLEX according to the dialog
19
+ - Non-goals must be explicitly listed in the output
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "software",
3
+ "displayName": "Software Development",
4
+ "description": "Converge intent for software projects. Translates canon to project specification files (requirements, constraints, specs).",
5
+ "version": "0.1.0",
6
+ "keywords": [
7
+ "software", "app", "application", "api", "website", "web",
8
+ "tool", "cli", "service", "system", "platform", "backend",
9
+ "frontend", "database", "server", "code", "program",
10
+ "bouwen", "applicatie", "programma"
11
+ ]
12
+ }
@@ -0,0 +1,74 @@
1
+ # Software Development — Translation Instructions
2
+
3
+ After convergence, generate PROJECT SPECIFICATION files from the dialog canon.
4
+ These files describe the project for any developer or tool — they are NOT agent-specific instruction files.
5
+
6
+ The canon itself (served via MCP) is the authoritative instruction set for any connected agent.
7
+
8
+ ## Always Generate
9
+
10
+ 1. **`canon/{naam}/spec/requirements.md`**
11
+ - Project intent and goals (from system intent)
12
+ - Functional requirements (from inputs/outputs/success criteria)
13
+ - Non-functional requirements (from constraints, authority budget)
14
+ - Non-goals (explicit exclusions)
15
+
16
+ 2. **`canon/{naam}/spec/constraints.md`**
17
+ - All HARD constraints from the dialog
18
+ - Forbidden actions from Authority Budget
19
+ - Data access and retention policies
20
+ - Inference policy
21
+
22
+ 3. **`canon/{naam}/spec/success-criteria.md`**
23
+ - Definition of Done (from success criteria)
24
+ - Acceptance criteria (externally verifiable)
25
+ - Error handling requirements (from failure behavior)
26
+
27
+ ## Generate If Applicable
28
+
29
+ 4. **`canon/{naam}/spec/api-spec.md`** — if the project exposes an API
30
+ - Endpoints, inputs, outputs
31
+ - Error responses
32
+ - Authentication/authorization
33
+
34
+ 5. **`canon/{naam}/spec/data-model.md`** — if the project manages persistent data
35
+ - Entities and relationships
36
+ - Storage requirements
37
+ - Retention policies
38
+
39
+ 6. **`canon/{naam}/spec/architecture.md`** — if the system has multiple components
40
+ - Component overview
41
+ - Interfaces between components
42
+ - Deployment model
43
+
44
+ 7. **`canon/{naam}/spec/interfaces/interface-[A]-[B].md`** — per interface (if decomposed)
45
+ - Parties, guarantees, expectations
46
+ - Data shape, error semantics
47
+ - Rate/cost expectations
48
+
49
+ ## Software-Specific Derived Artifacts
50
+
51
+ These use templates from `protocol/templates/` and are specific to software projects:
52
+
53
+ 8. **`canon/{naam}/spec/behavior-map.md`** — from `protocol/templates/behavior-map.md`
54
+ - Map each system behavior to Canon Anchors (H1, A3, etc.)
55
+ - 10 sections: intent, inputs, outputs, core behaviors, constraints, non-goals, failure modes, observability, authority budget
56
+ - Every entry MUST cite a Canon Anchor
57
+
58
+ 9. **`canon/{naam}/spec/acceptance-tests.md`** — from `protocol/templates/acceptance-tests.md`
59
+ - AT-### format: positive flows, negative tests, edge cases, failure tests, authority budget tests, non-goal tests
60
+ - Each test cites Canon Anchors and is labeled HARD or FLEX
61
+ - Define minimum acceptance set
62
+
63
+ 10. **`canon/{naam}/spec/traceability-map.md`** — from `protocol/templates/traceability-map.md`
64
+ - Canon Anchor -> Requirement -> Test -> Implementation -> Evidence
65
+ - Coverage must be 100% (every Canon Anchor covered)
66
+
67
+ ## Rules
68
+
69
+ - Source is ALWAYS the dialog, not the summary
70
+ - Each file starts with: `<!-- Derived from: canon/{naam}/dialog.md, [date] -->`
71
+ - Update `canon/{naam}/traceability.md` with complete mapping
72
+ - Focus on WHAT the project does, not HOW it should be built
73
+ - These are project artifacts readable by any developer or tool
74
+ - Canon Anchors use the notation: H[N] for HUMAN turn N, A[N] for ASSISTANT turn N (1-indexed)