@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.
- package/dist/feature-set.d.ts +14 -0
- package/dist/feature-set.d.ts.map +1 -0
- package/dist/feature-set.js +38 -0
- package/dist/feature-set.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/convergence-prompts.d.ts +4 -0
- package/dist/prompts/convergence-prompts.d.ts.map +1 -0
- package/dist/prompts/convergence-prompts.js +76 -0
- package/dist/prompts/convergence-prompts.js.map +1 -0
- package/dist/prompts/index.d.ts +4 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +7 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/workflow-prompts.d.ts +9 -0
- package/dist/prompts/workflow-prompts.d.ts.map +1 -0
- package/dist/prompts/workflow-prompts.js +249 -0
- package/dist/prompts/workflow-prompts.js.map +1 -0
- package/dist/resources/canon-resources.d.ts +4 -0
- package/dist/resources/canon-resources.d.ts.map +1 -0
- package/dist/resources/canon-resources.js +160 -0
- package/dist/resources/canon-resources.js.map +1 -0
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +47 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/amend.d.ts +4 -0
- package/dist/tools/amend.d.ts.map +1 -0
- package/dist/tools/amend.js +106 -0
- package/dist/tools/amend.js.map +1 -0
- package/dist/tools/approve.d.ts +4 -0
- package/dist/tools/approve.d.ts.map +1 -0
- package/dist/tools/approve.js +60 -0
- package/dist/tools/approve.js.map +1 -0
- package/dist/tools/check-convergence.d.ts +4 -0
- package/dist/tools/check-convergence.d.ts.map +1 -0
- package/dist/tools/check-convergence.js +50 -0
- package/dist/tools/check-convergence.js.map +1 -0
- package/dist/tools/check.d.ts +4 -0
- package/dist/tools/check.d.ts.map +1 -0
- package/dist/tools/check.js +190 -0
- package/dist/tools/check.js.map +1 -0
- package/dist/tools/create-skill.d.ts +4 -0
- package/dist/tools/create-skill.d.ts.map +1 -0
- package/dist/tools/create-skill.js +58 -0
- package/dist/tools/create-skill.js.map +1 -0
- package/dist/tools/decompose.d.ts +4 -0
- package/dist/tools/decompose.d.ts.map +1 -0
- package/dist/tools/decompose.js +56 -0
- package/dist/tools/decompose.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +47 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/list-canons.d.ts +4 -0
- package/dist/tools/list-canons.d.ts.map +1 -0
- package/dist/tools/list-canons.js +28 -0
- package/dist/tools/list-canons.js.map +1 -0
- package/dist/tools/migrate.d.ts +4 -0
- package/dist/tools/migrate.d.ts.map +1 -0
- package/dist/tools/migrate.js +38 -0
- package/dist/tools/migrate.js.map +1 -0
- package/dist/tools/onboard.d.ts +4 -0
- package/dist/tools/onboard.d.ts.map +1 -0
- package/dist/tools/onboard.js +27 -0
- package/dist/tools/onboard.js.map +1 -0
- package/dist/tools/reconverge.d.ts +4 -0
- package/dist/tools/reconverge.d.ts.map +1 -0
- package/dist/tools/reconverge.js +68 -0
- package/dist/tools/reconverge.js.map +1 -0
- package/dist/tools/reject.d.ts +4 -0
- package/dist/tools/reject.d.ts.map +1 -0
- package/dist/tools/reject.js +57 -0
- package/dist/tools/reject.js.map +1 -0
- package/dist/tools/reskill.d.ts +4 -0
- package/dist/tools/reskill.d.ts.map +1 -0
- package/dist/tools/reskill.js +63 -0
- package/dist/tools/reskill.js.map +1 -0
- package/dist/tools/resume.d.ts +4 -0
- package/dist/tools/resume.d.ts.map +1 -0
- package/dist/tools/resume.js +56 -0
- package/dist/tools/resume.js.map +1 -0
- package/dist/tools/reverse.d.ts +4 -0
- package/dist/tools/reverse.d.ts.map +1 -0
- package/dist/tools/reverse.js +32 -0
- package/dist/tools/reverse.js.map +1 -0
- package/dist/tools/save-canon.d.ts +4 -0
- package/dist/tools/save-canon.d.ts.map +1 -0
- package/dist/tools/save-canon.js +97 -0
- package/dist/tools/save-canon.js.map +1 -0
- package/dist/tools/start.d.ts +4 -0
- package/dist/tools/start.d.ts.map +1 -0
- package/dist/tools/start.js +83 -0
- package/dist/tools/start.js.map +1 -0
- package/dist/tools/translate.d.ts +4 -0
- package/dist/tools/translate.d.ts.map +1 -0
- package/dist/tools/translate.js +102 -0
- package/dist/tools/translate.js.map +1 -0
- package/dist/tools/update.d.ts +4 -0
- package/dist/tools/update.d.ts.map +1 -0
- package/dist/tools/update.js +42 -0
- package/dist/tools/update.js.map +1 -0
- package/dist/utils/response.d.ts +12 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +18 -0
- package/dist/utils/response.js.map +1 -0
- package/package.json +37 -0
- package/protocol/commands/amend.md +188 -0
- package/protocol/commands/build.md +90 -0
- package/protocol/commands/check.md +255 -0
- package/protocol/commands/create-skill.md +81 -0
- package/protocol/commands/decompose.md +230 -0
- package/protocol/commands/dialog.md +173 -0
- package/protocol/commands/help.md +121 -0
- package/protocol/commands/migrate.md +173 -0
- package/protocol/commands/onboard.md +210 -0
- package/protocol/commands/quick.md +170 -0
- package/protocol/commands/redialog.md +252 -0
- package/protocol/commands/reskill.md +73 -0
- package/protocol/commands/resume.md +148 -0
- package/protocol/commands/reverse.md +312 -0
- package/protocol/commands/start.md +220 -0
- package/protocol/commands/translate.md +157 -0
- package/protocol/commands/update.md +205 -0
- package/protocol/commands/validate.md +137 -0
- package/protocol/core-advanced.md +188 -0
- package/protocol/core.md +273 -0
- package/protocol/pantion-future-prompt.md +88 -0
- package/protocol/pantion-intent.md +78 -0
- package/protocol/templates/acceptance-tests.md +116 -0
- package/protocol/templates/behavior-map.md +135 -0
- package/protocol/templates/traceability-map.md +56 -0
- package/skills/image/convergence-rules.md +55 -0
- package/skills/image/prompts/convergence-intro.md +25 -0
- package/skills/image/prompts/translate-intro.md +37 -0
- package/skills/image/skill.json +12 -0
- package/skills/image/translate.md +67 -0
- package/skills/skill-builder/convergence-rules.md +64 -0
- package/skills/skill-builder/prompts/convergence-intro.md +21 -0
- package/skills/skill-builder/prompts/translate-intro.md +17 -0
- package/skills/skill-builder/skill.json +10 -0
- package/skills/skill-builder/translate.md +46 -0
- package/skills/software/convergence-rules.md +29 -0
- package/skills/software/prompts/convergence-intro.md +22 -0
- package/skills/software/prompts/translate-intro.md +19 -0
- package/skills/software/skill.json +12 -0
- package/skills/software/translate.md +74 -0
- package/skills/software-brownfield/convergence-rules.md +109 -0
- package/skills/software-brownfield/prompts/convergence-intro.md +26 -0
- package/skills/software-brownfield/prompts/translate-intro.md +13 -0
- package/skills/software-brownfield/skill.json +12 -0
- package/skills/software-brownfield/translate.md +56 -0
- package/souls/beginner/rules.md +34 -0
- package/souls/beginner/soul.json +6 -0
- package/souls/default/rules.md +25 -0
- package/souls/default/soul.json +6 -0
- package/souls/young/rules.md +67 -0
- 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)
|