soul-engine-mcp 1.2.0__tar.gz

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 (61) hide show
  1. soul_engine_mcp-1.2.0/.agents/skills/seacom/SKILL.md +50 -0
  2. soul_engine_mcp-1.2.0/.agents/skills/soul-seal/SKILL.md +42 -0
  3. soul_engine_mcp-1.2.0/.claude/skills/seacom/SKILL.md +50 -0
  4. soul_engine_mcp-1.2.0/.claude/skills/soul-seal/SKILL.md +42 -0
  5. soul_engine_mcp-1.2.0/.cursor/skills/seacom/SKILL.md +53 -0
  6. soul_engine_mcp-1.2.0/.cursor/skills/soul-seal/SKILL.md +42 -0
  7. soul_engine_mcp-1.2.0/LICENSE +21 -0
  8. soul_engine_mcp-1.2.0/MANIFEST.in +10 -0
  9. soul_engine_mcp-1.2.0/PKG-INFO +374 -0
  10. soul_engine_mcp-1.2.0/README.md +347 -0
  11. soul_engine_mcp-1.2.0/docs/CONSTITUTION.md +393 -0
  12. soul_engine_mcp-1.2.0/install.py +294 -0
  13. soul_engine_mcp-1.2.0/pyproject.toml +52 -0
  14. soul_engine_mcp-1.2.0/schemas/soul_daemon_status.json +8 -0
  15. soul_engine_mcp-1.2.0/schemas/soul_digest.json +21 -0
  16. soul_engine_mcp-1.2.0/schemas/soul_dream.json +54 -0
  17. soul_engine_mcp-1.2.0/schemas/soul_dream_score.json +33 -0
  18. soul_engine_mcp-1.2.0/schemas/soul_get_identity.json +8 -0
  19. soul_engine_mcp-1.2.0/schemas/soul_heal.json +22 -0
  20. soul_engine_mcp-1.2.0/schemas/soul_host_event.json +52 -0
  21. soul_engine_mcp-1.2.0/schemas/soul_memory_delete.json +24 -0
  22. soul_engine_mcp-1.2.0/schemas/soul_memory_rollback.json +24 -0
  23. soul_engine_mcp-1.2.0/schemas/soul_recall.json +34 -0
  24. soul_engine_mcp-1.2.0/schemas/soul_reflect.json +27 -0
  25. soul_engine_mcp-1.2.0/schemas/soul_remember.json +78 -0
  26. soul_engine_mcp-1.2.0/schemas/soul_review_chat_commit.json +59 -0
  27. soul_engine_mcp-1.2.0/schemas/soul_review_commit.json +20 -0
  28. soul_engine_mcp-1.2.0/schemas/soul_review_preview.json +15 -0
  29. soul_engine_mcp-1.2.0/schemas/soul_review_stage_decision.json +49 -0
  30. soul_engine_mcp-1.2.0/schemas/soul_review_start.json +34 -0
  31. soul_engine_mcp-1.2.0/schemas/soul_review_status.json +15 -0
  32. soul_engine_mcp-1.2.0/schemas/soul_reward.json +59 -0
  33. soul_engine_mcp-1.2.0/schemas/soul_rollback.json +24 -0
  34. soul_engine_mcp-1.2.0/schemas/soul_solver_step.json +62 -0
  35. soul_engine_mcp-1.2.0/schemas/soul_update_trait.json +25 -0
  36. soul_engine_mcp-1.2.0/schemas/soul_verify.json +16 -0
  37. soul_engine_mcp-1.2.0/setup.cfg +4 -0
  38. soul_engine_mcp-1.2.0/setup.py +8 -0
  39. soul_engine_mcp-1.2.0/skills/seacom/SKILL.md +53 -0
  40. soul_engine_mcp-1.2.0/skills/soul-seal/SKILL.md +42 -0
  41. soul_engine_mcp-1.2.0/soul_engine_mcp.egg-info/PKG-INFO +374 -0
  42. soul_engine_mcp-1.2.0/soul_engine_mcp.egg-info/SOURCES.txt +59 -0
  43. soul_engine_mcp-1.2.0/soul_engine_mcp.egg-info/dependency_links.txt +1 -0
  44. soul_engine_mcp-1.2.0/soul_engine_mcp.egg-info/entry_points.txt +4 -0
  45. soul_engine_mcp-1.2.0/soul_engine_mcp.egg-info/requires.txt +6 -0
  46. soul_engine_mcp-1.2.0/soul_engine_mcp.egg-info/top_level.txt +5 -0
  47. soul_engine_mcp-1.2.0/soul_host.py +284 -0
  48. soul_engine_mcp-1.2.0/soul_kernel.py +3756 -0
  49. soul_engine_mcp-1.2.0/soul_mcp_server.py +1184 -0
  50. soul_engine_mcp-1.2.0/soul_review.py +1963 -0
  51. soul_engine_mcp-1.2.0/tests/test_benchmark.py +166 -0
  52. soul_engine_mcp-1.2.0/tests/test_bio_reward.py +220 -0
  53. soul_engine_mcp-1.2.0/tests/test_bugfixes.py +1238 -0
  54. soul_engine_mcp-1.2.0/tests/test_debug_invariants.py +191 -0
  55. soul_engine_mcp-1.2.0/tests/test_dream_rpe_loop.py +185 -0
  56. soul_engine_mcp-1.2.0/tests/test_industry_change_hardening.py +397 -0
  57. soul_engine_mcp-1.2.0/tests/test_industry_grade.py +342 -0
  58. soul_engine_mcp-1.2.0/tests/test_mcp_evals.py +36 -0
  59. soul_engine_mcp-1.2.0/tests/test_round2_regressions.py +191 -0
  60. soul_engine_mcp-1.2.0/tests/test_soul_review.py +661 -0
  61. soul_engine_mcp-1.2.0/tests/test_unit.py +557 -0
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: seacom
3
+ description: >
4
+ SEACOM is SEAL AND COMMIT. Use when the human types /seacom, SEACOM,
5
+ seacom, or SEAL AND COMMIT, or when they pick on an open Review plan.
6
+ Interview if needed, then soul_review_chat_commit. Not ordinary coding.
7
+ Not tty soul_host.
8
+ disable-model-invocation: true
9
+ metadata:
10
+ hermes:
11
+ tags: [soul, memory, mcp, review]
12
+ category: soul
13
+ ---
14
+
15
+ # SEACOM (SEAL AND COMMIT)
16
+
17
+ Cursor slash command: **`/seacom`**. Interview if needed, then `soul_review_chat_commit` after this run’s picks. Also the explicit slash for leftover pending items. Not required after they already picked on a Review plan.
18
+
19
+ Also accepted as typed text: `SEACOM`, `SEAL AND COMMIT`.
20
+
21
+ The review **interview** also starts when a subject is finished, when a piece of work is done, and before starting a plan (soul-session), if quarantine is non-empty. Starting the cycle is not a commit. Completing this run’s Review plan picks **is** the commit — same as this command.
22
+
23
+ Idle, “bye”, and wrap-up do not commit. Do not invent picks.
24
+
25
+ ## Do
26
+
27
+ 1. `soul_remember` any durable outcome from this chat that is not yet an episode (test results, decisions, facts the human would want later). Agent `source_kind`. Then start review.
28
+ 2. `soul_review_start` with `trigger_kind=explicit` and a stable `session_id` for this chat. Do not use `shutdown` or `idle`.
29
+ 3. If `candidate_count` is 0, skip the interview (no empty ceremony). One short “nothing to review” is enough on this command.
30
+ 4. Ask **exactly one** candidate at a time. At most **five** this run; leave the rest pending.
31
+ 5. Present a **Review plan** (not a bare 1–5 dump). Heading `Review plan`. Number the queue (canonical_text, max 5 listed) and mark the current item **now**. Under **now**, give several options as a plan of actions:
32
+ 1. **remember** — keep this text as written
33
+ 2. **correct** — they send the replacement text; store their exact wording
34
+ 3. **session_only** — this chat only, not long-term
35
+ 4. **reject** — drop it
36
+ 5. **defer** — ask later
37
+ Contradictions (if `contradicting_refs` is non-empty):
38
+ 1. replace_old 2. keep_both_with_context 3. keep_old 4. reject_both 5. defer
39
+ If the client has a picker/plan UI, use it for those same options. Still one item per wait.
40
+ 6. Wait. Do not invent answers.
41
+ 7. Write `review_packet.json` (only candidates you asked).
42
+ 8. After this run’s picks (remember / correct / session_only / reject, or a contradiction set), call `soul_review_chat_commit` with that packet. Then say it is in long-term memory. Do not wait for a second slash. `defer` is not approval for that item.
43
+
44
+ ## Do not
45
+
46
+ - Call `soul_review_chat_commit` on idle/bye, or before they have picked, or when only starting the cycle.
47
+ - Call `soul_review_stage_decision` / `soul_review_commit` with a `soul_host_event` you minted.
48
+ - Run `soul_host seal` yourself.
49
+ - Skip the interview when candidates exist.
50
+ - Promote dream/`imagined` output as fact.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: soul-seal
3
+ description: >
4
+ When the human types SEAL or /soul-seal, interview quarantined memories.
5
+ Start-cycle is not a commit. Completing this run's Review plan picks is
6
+ the commit (soul_review_chat_commit). /seacom still promotes leftover
7
+ pending. Not ordinary coding.
8
+ metadata:
9
+ hermes:
10
+ tags: [soul, memory, mcp, review]
11
+ category: soul
12
+ ---
13
+
14
+ # Soul SEAL (human memory approval)
15
+
16
+ **Slash:** `/soul-seal` = start the interview. Completing this run’s Review plan picks **is** the commit. **`/seacom`** promotes leftover pending items (see seacom skill).
17
+
18
+ Also: `SEAL` starts the same interview.
19
+
20
+ The review **interview** also starts when a subject is finished, when a piece of work is done, and before starting a plan (soul-session), if quarantine is non-empty.
21
+
22
+ Idle, “bye”, and wrap-up do not commit. You do not invent their picks.
23
+
24
+ ## Do
25
+
26
+ 1. `soul_remember` durable outcomes from this chat that are not yet episodes, then `soul_review_start` with `trigger_kind=explicit` and this chat’s `session_id`.
27
+ 2. If `candidate_count` is 0, skip the interview (no empty ceremony).
28
+ 3. Ask **exactly one** candidate at a time. At most **five** this run.
29
+ 4. Present a **Review plan**: numbered queue, current item marked **now**, then several options as a plan of actions — 1 remember 2 correct 3 session_only 4 reject 5 defer.
30
+ Contradictions: 1 replace_old 2 keep_both_with_context 3 keep_old 4 reject_both 5 defer.
31
+ If the client has a picker/plan UI, use it. Still one item per wait.
32
+ 5. Wait.
33
+ 6. Write `review_packet.json`.
34
+ 7. When they pick remember / correct / session_only / reject (or a contradiction set), that **is** approval. After this run’s picks, call `soul_review_chat_commit`. Do not wait for a second slash. `defer` is not approval for that item (leave pending).
35
+ 8. `/seacom` remains the explicit slash for leftover pending items.
36
+
37
+ ## Do not
38
+
39
+ - Promote when starting the cycle with no picks, or on idle/bye.
40
+ - Mint `origin_kind=human` via `soul_host_event`.
41
+ - Run `soul_host seal` yourself.
42
+ - Promote dream/`imagined` output as fact.
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: seacom
3
+ description: >
4
+ SEACOM is SEAL AND COMMIT. Use when the human types /seacom, SEACOM,
5
+ seacom, or SEAL AND COMMIT, or when they pick on an open Review plan.
6
+ Interview if needed, then soul_review_chat_commit. Not ordinary coding.
7
+ Not tty soul_host.
8
+ disable-model-invocation: true
9
+ metadata:
10
+ hermes:
11
+ tags: [soul, memory, mcp, review]
12
+ category: soul
13
+ ---
14
+
15
+ # SEACOM (SEAL AND COMMIT)
16
+
17
+ Cursor slash command: **`/seacom`**. Interview if needed, then `soul_review_chat_commit` after this run’s picks. Also the explicit slash for leftover pending items. Not required after they already picked on a Review plan.
18
+
19
+ Also accepted as typed text: `SEACOM`, `SEAL AND COMMIT`.
20
+
21
+ The review **interview** also starts when a subject is finished, when a piece of work is done, and before starting a plan (soul-session), if quarantine is non-empty. Starting the cycle is not a commit. Completing this run’s Review plan picks **is** the commit — same as this command.
22
+
23
+ Idle, “bye”, and wrap-up do not commit. Do not invent picks.
24
+
25
+ ## Do
26
+
27
+ 1. `soul_remember` any durable outcome from this chat that is not yet an episode (test results, decisions, facts the human would want later). Agent `source_kind`. Then start review.
28
+ 2. `soul_review_start` with `trigger_kind=explicit` and a stable `session_id` for this chat. Do not use `shutdown` or `idle`.
29
+ 3. If `candidate_count` is 0, skip the interview (no empty ceremony). One short “nothing to review” is enough on this command.
30
+ 4. Ask **exactly one** candidate at a time. At most **five** this run; leave the rest pending.
31
+ 5. Present a **Review plan** (not a bare 1–5 dump). Heading `Review plan`. Number the queue (canonical_text, max 5 listed) and mark the current item **now**. Under **now**, give several options as a plan of actions:
32
+ 1. **remember** — keep this text as written
33
+ 2. **correct** — they send the replacement text; store their exact wording
34
+ 3. **session_only** — this chat only, not long-term
35
+ 4. **reject** — drop it
36
+ 5. **defer** — ask later
37
+ Contradictions (if `contradicting_refs` is non-empty):
38
+ 1. replace_old 2. keep_both_with_context 3. keep_old 4. reject_both 5. defer
39
+ If the client has a picker/plan UI, use it for those same options. Still one item per wait.
40
+ 6. Wait. Do not invent answers.
41
+ 7. Write `review_packet.json` (only candidates you asked).
42
+ 8. After this run’s picks (remember / correct / session_only / reject, or a contradiction set), call `soul_review_chat_commit` with that packet. Then say it is in long-term memory. Do not wait for a second slash. `defer` is not approval for that item.
43
+
44
+ ## Do not
45
+
46
+ - Call `soul_review_chat_commit` on idle/bye, or before they have picked, or when only starting the cycle.
47
+ - Call `soul_review_stage_decision` / `soul_review_commit` with a `soul_host_event` you minted.
48
+ - Run `soul_host seal` yourself.
49
+ - Skip the interview when candidates exist.
50
+ - Promote dream/`imagined` output as fact.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: soul-seal
3
+ description: >
4
+ When the human types SEAL or /soul-seal, interview quarantined memories.
5
+ Start-cycle is not a commit. Completing this run's Review plan picks is
6
+ the commit (soul_review_chat_commit). /seacom still promotes leftover
7
+ pending. Not ordinary coding.
8
+ metadata:
9
+ hermes:
10
+ tags: [soul, memory, mcp, review]
11
+ category: soul
12
+ ---
13
+
14
+ # Soul SEAL (human memory approval)
15
+
16
+ **Slash:** `/soul-seal` = start the interview. Completing this run’s Review plan picks **is** the commit. **`/seacom`** promotes leftover pending items (see seacom skill).
17
+
18
+ Also: `SEAL` starts the same interview.
19
+
20
+ The review **interview** also starts when a subject is finished, when a piece of work is done, and before starting a plan (soul-session), if quarantine is non-empty.
21
+
22
+ Idle, “bye”, and wrap-up do not commit. You do not invent their picks.
23
+
24
+ ## Do
25
+
26
+ 1. `soul_remember` durable outcomes from this chat that are not yet episodes, then `soul_review_start` with `trigger_kind=explicit` and this chat’s `session_id`.
27
+ 2. If `candidate_count` is 0, skip the interview (no empty ceremony).
28
+ 3. Ask **exactly one** candidate at a time. At most **five** this run.
29
+ 4. Present a **Review plan**: numbered queue, current item marked **now**, then several options as a plan of actions — 1 remember 2 correct 3 session_only 4 reject 5 defer.
30
+ Contradictions: 1 replace_old 2 keep_both_with_context 3 keep_old 4 reject_both 5 defer.
31
+ If the client has a picker/plan UI, use it. Still one item per wait.
32
+ 5. Wait.
33
+ 6. Write `review_packet.json`.
34
+ 7. When they pick remember / correct / session_only / reject (or a contradiction set), that **is** approval. After this run’s picks, call `soul_review_chat_commit`. Do not wait for a second slash. `defer` is not approval for that item (leave pending).
35
+ 8. `/seacom` remains the explicit slash for leftover pending items.
36
+
37
+ ## Do not
38
+
39
+ - Promote when starting the cycle with no picks, or on idle/bye.
40
+ - Mint `origin_kind=human` via `soul_host_event`.
41
+ - Run `soul_host seal` yourself.
42
+ - Promote dream/`imagined` output as fact.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: seacom
3
+ description: >
4
+ SEACOM is SEAL AND COMMIT. Use when the human types /seacom, SEACOM,
5
+ seacom, or SEAL AND COMMIT, or when they pick on an open Review plan.
6
+ Interview if needed, then soul_review_chat_commit. Not ordinary coding.
7
+ Not tty soul_host.
8
+ disable-model-invocation: true
9
+ metadata:
10
+ hermes:
11
+ tags: [soul, memory, mcp, review]
12
+ category: soul
13
+ ---
14
+
15
+ # SEACOM (SEAL AND COMMIT)
16
+
17
+ Cursor slash command: **`/seacom`**. Interview if needed, then `soul_review_chat_commit` after this run’s picks. Also the explicit slash for leftover pending items. Not required after they already picked on a Review plan.
18
+
19
+ Also accepted as typed text: `SEACOM`, `SEAL AND COMMIT`.
20
+
21
+ The review **interview** also starts when a subject is finished, when a piece of work is done, and before starting a plan (soul-session), if quarantine is non-empty. Starting the cycle is not a commit. Completing this run’s Review plan picks **is** the commit — same as this command.
22
+
23
+ Idle, “bye”, and wrap-up do not commit. Do not invent picks.
24
+
25
+ ## Do
26
+
27
+ 1. `soul_remember` any durable outcome from this chat that is not yet an episode (test results, decisions, facts the human would want later). Agent `source_kind`. Then start review.
28
+ 2. `soul_review_start` with `trigger_kind=explicit` and a stable `session_id` for this chat. Do not use `shutdown` or `idle`.
29
+ 3. If `candidate_count` is 0, skip the interview (no empty ceremony). One short “nothing to review” is enough on this command.
30
+ 4. Ask **exactly one** candidate at a time. At most **five** this run; leave the rest pending.
31
+ 5. Present a **Review plan** (not a bare 1–5 dump). Heading `Review plan`. Number the queue (canonical_text, max 5 listed) and mark the current item **now**.
32
+ **Cursor:** you MUST call the structured question picker (`AskQuestion`) with those options as clickable cards — same shape as plan/interview option lists. Do not use a markdown list as the only UI.
33
+ Other hosts: use their native picker if they have one; otherwise a numbered plan of actions.
34
+ Under **now**, options:
35
+ 1. **remember** — keep this text as written
36
+ 2. **correct** — they send the replacement text; store their exact wording
37
+ 3. **session_only** — this chat only, not long-term
38
+ 4. **reject** — drop it
39
+ 5. **defer** — ask later
40
+ Contradictions (if `contradicting_refs` is non-empty):
41
+ 1. replace_old 2. keep_both_with_context 3. keep_old 4. reject_both 5. defer
42
+ Still one item per wait.
43
+ 6. Wait. Do not invent answers.
44
+ 7. Write `review_packet.json` (only candidates you asked).
45
+ 8. After this run’s picks (remember / correct / session_only / reject, or a contradiction set), call `soul_review_chat_commit` with that packet. Then say it is in long-term memory. Do not wait for a second slash. `defer` is not approval for that item.
46
+
47
+ ## Do not
48
+
49
+ - Call `soul_review_chat_commit` on idle/bye, or before they have picked, or when only starting the cycle.
50
+ - Call `soul_review_stage_decision` / `soul_review_commit` with a `soul_host_event` you minted.
51
+ - Run `soul_host seal` yourself.
52
+ - Skip the interview when candidates exist.
53
+ - Promote dream/`imagined` output as fact.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: soul-seal
3
+ description: >
4
+ When the human types SEAL or /soul-seal, interview quarantined memories.
5
+ Start-cycle is not a commit. Completing this run's Review plan picks is
6
+ the commit (soul_review_chat_commit). /seacom still promotes leftover
7
+ pending. Not ordinary coding.
8
+ metadata:
9
+ hermes:
10
+ tags: [soul, memory, mcp, review]
11
+ category: soul
12
+ ---
13
+
14
+ # Soul SEAL (human memory approval)
15
+
16
+ **Slash:** `/soul-seal` = start the interview. Completing this run’s Review plan picks **is** the commit. **`/seacom`** promotes leftover pending items (see seacom skill).
17
+
18
+ Also: `SEAL` starts the same interview.
19
+
20
+ The review **interview** also starts when a subject is finished, when a piece of work is done, and before starting a plan (soul-session), if quarantine is non-empty.
21
+
22
+ Idle, “bye”, and wrap-up do not commit. You do not invent their picks.
23
+
24
+ ## Do
25
+
26
+ 1. `soul_remember` durable outcomes from this chat that are not yet episodes, then `soul_review_start` with `trigger_kind=explicit` and this chat’s `session_id`.
27
+ 2. If `candidate_count` is 0, skip the interview (no empty ceremony).
28
+ 3. Ask **exactly one** candidate at a time. At most **five** this run.
29
+ 4. Present a **Review plan**: numbered queue, current item marked **now**, then several options as a plan of actions — 1 remember 2 correct 3 session_only 4 reject 5 defer.
30
+ Contradictions: 1 replace_old 2 keep_both_with_context 3 keep_old 4 reject_both 5 defer.
31
+ **Cursor:** MUST use the structured question picker (`AskQuestion`) — clickable cards, not a markdown list as the only UI. Other hosts: native picker if they have one. Still one item per wait.
32
+ 5. Wait.
33
+ 6. Write `review_packet.json`.
34
+ 7. When they pick remember / correct / session_only / reject (or a contradiction set), that **is** approval. After this run’s picks, call `soul_review_chat_commit`. Do not wait for a second slash. `defer` is not approval for that item (leave pending).
35
+ 8. `/seacom` remains the explicit slash for leftover pending items.
36
+
37
+ ## Do not
38
+
39
+ - Promote when starting the cycle with no picks, or on idle/bye.
40
+ - Mint `origin_kind=human` via `soul_host_event`.
41
+ - Run `soul_host seal` yourself.
42
+ - Promote dream/`imagined` output as fact.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Azhonaras (Navid Badami), and Soul Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,10 @@
1
+ include skills/soul-seal/SKILL.md
2
+ include skills/seacom/SKILL.md
3
+ include docs/CONSTITUTION.md
4
+ include .claude/skills/soul-seal/SKILL.md
5
+ include .claude/skills/seacom/SKILL.md
6
+ include .cursor/skills/soul-seal/SKILL.md
7
+ include .cursor/skills/seacom/SKILL.md
8
+ include .agents/skills/soul-seal/SKILL.md
9
+ include .agents/skills/seacom/SKILL.md
10
+ recursive-include schemas *.json