[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71S2DFFED2CEJF3XZT681WV":3,"skill-same:01M71S2DFFED2CEJF3XZT681WV":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M71S2DFFED2CEJF3XZT681WV","ramza-verify-incoming",null,"Load when reading any upstream artefact handed off to RAMZA that carries a sibling .envelope.json. BLOCKING per ECL §6.2.2: the orchestrator MUST have verified the envelope's SHA-256 (eidolons verify-envelope --block \u002F eidolons run --verify) and recorded a verify_pass before dispatch. If no verify_pass exists for the message_id, or a verify_fail is present, REFUSE to process the payload and hand back to the orchestrator. Symmetric receiver gate — every Eidolon enforces it identically.","Rynaro\u002Fprisma","Rynaro","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5271543?v=4","01M70CFYFMB316W23THVQAQ42M","Henrique A. Lavezzo","01M71RXA8ZHEPZR3GERY09ERGD",1,"MIT","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Framza\u002Fskills\u002Fverify-incoming\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"verify","ramza verify incoming","reading","block","json","run","process","ecl","orchestrator","dispatch","message","id","hand","when","load","sha-256","upstream","for","receiver","back","2026-11-10 13:02:02",false,"---\nname: ramza-verify-incoming\ndescription: \"Load when reading any upstream artefact handed off to RAMZA that carries a sibling .envelope.json. BLOCKING per ECL §6.2.2: the orchestrator MUST have verified the envelope's SHA-256 (eidolons verify-envelope --block \u002F eidolons run --verify) and recorded a verify_pass before dispatch. If no verify_pass exists for the message_id, or a verify_fail is present, REFUSE to process the payload and hand back to the orchestrator. Symmetric receiver gate — every Eidolon enforces it identically.\"\nmetadata:\n  methodology: RAMZA\n---\n\n# Verify-Incoming Skill — RAMZA (blocking, symmetric)\n\nReceiver-side integrity gate for inbound ECL hand-offs. When an upstream\nartefact arrives with a sibling `.envelope.json`, RAMZA MUST NOT process the\npayload unless its SHA-256 integrity has been **verified and passed**. This is\nthe **blocking** posture mandated by ECL §6.2.2 (\"a receiver SHALL NOT process a\npayload whose integrity tag does not match\"). It is **symmetric**: every Eidolon\nin the roster ships this same gate, so no hand-off edge can silently skip it.\n\n> **Posture, inherited unchanged from SPECTRA:** an unverified or failed\n> envelope is refused and handed back to the orchestrator — never processed\n> with a warning. Provenance is only a differentiator if receivers actually\n> reject tampered payloads — end to end, not just at the orchestrator.\n\n---\n\n## Where the cryptographic check runs (and why the receiver only reads)\n\nRAMZA's tool surface cannot run the SHA-256 gate itself for INBOUND artefacts\n(receiver Eidolons have restricted or no Bash beyond the `ramza-*` gate tools).\nThe mechanical check therefore runs **at the orchestrator**, once, before RAMZA\nis dispatched:\n\n```sh\n# Orchestrator pre-step (host LLM, full Bash) — already shipped in the nexus CLI:\neidolons verify-envelope \u003Cartefact>.envelope.json --block      # exit 3 ⇒ tamper\u002Fmismatch\n#   …or, when routing through the kernel:\neidolons run --verify \u003Cartefact>.envelope.json --verify-block  # gates the route\n```\n\nThe gate writes a `verify_pass` (or `verify_fail`) trace event keyed by\n`message_id`. RAMZA then enforces the result using **only `Read`** — no Bash\nrequired:\n\n1. Read `.eidolons\u002F.trace\u002F\u003Cthread_id>.jsonl` (the `thread_id` is\n   `envelope.thread_id`).\n2. Find the event whose `message_id` matches `envelope.message_id`.\n3. **`verify_pass` with `integrity_method: \"sha256\"`** → integrity confirmed,\n   proceed to contract conformance below.\n4. **`verify_fail`, or no matching event** → integrity unconfirmed → **REFUSE**\n   (see Failure Mode). Do **not** process the payload.\n\n**Defense-in-depth (optional):** if RAMZA's host happens to grant Bash with\n`eidolons` on PATH, it MAY independently re-run `eidolons verify-envelope\n\u003Cenv> --block` and abort on a non-zero exit. The orchestrator pre-verify is the\ncontract; self-verification is an additional guard, never a replacement.\n\n**Contrast with RAMZA's own outbound emissions:** this skill governs artefacts\n*arriving at* RAMZA. Artefacts RAMZA itself *emits* are gated the other\ndirection, locally, by `ramza-verify-emit` at Assemble (frontmatter contract +\nrecomputed sha256 + closed performative set) — see `skills\u002Fmethodology\u002FSKILL.md` \"ECL\nemission\". The two gates are symmetric in spirit (nothing unvalidated crosses\nthe edge) but run on opposite sides of the hand-off and are never substitutes\nfor one another.\n\n---\n\n## Memory: Recall + Ingest (CRYSTALIUM)\n\nOn an inbound hand-off, first recall related prior context (if CRYSTALIUM\navailable):\n\n```\nmcp__crystalium__recall(\n  scope  = { project: \u003Ccwd-project>, agent_class_visibility: \"ramza\" },\n  query  = \u003Cartefact GOAL + from.eidolon + artifact.kind>,\n  k      = 5,\n  layers = [\"semantic\", \"episodic\", \"procedural\"]\n)\n```\n\nOnly **after** the integrity gate passes (`verify_pass`) ingest the received\nenvelope to record the inbound edge:\n\n```\nmcp__crystalium__ingest(\n  envelope = \u003Creceived .envelope.json contents>,\n  payload  = \u003Cartefact payload contents>\n)\n```\n\nNever ingest an envelope that failed or skipped verification. **Graceful skip:**\nif `mcp__crystalium__*` tools are unavailable, skip both calls silently.\n\n---\n\n## Trigger\n\nLoad this skill automatically when:\n\n- Reading an upstream artefact at path `P`, **and**\n- A sibling file `${P%.*}.envelope.json` exists in the same directory.\n\nDetection rule (POSIX sh compatible):\n\n```sh\nenvelope_path=\"${artefact_path%.*}.envelope.json\"\n[ -f \"$envelope_path\" ] && load_skill \"verify-incoming\"\n```\n\nIf no `.envelope.json` sibling exists, this is a non-ECL artefact — skip the gate\nsilently and process normally.\n\n---\n\n## Inbound edges RAMZA accepts\n\n`to.eidolon` MUST equal `ramza`. `from.eidolon` MUST be a declared upstream\nsender. Performative and `artifact.kind` are validated against the ECL inbound\ncontract `contracts\u002F\u003Cfrom>-to-ramza.yaml` (source of truth); the table below is\nthe convenience summary:\n\n| from | performative(s) | `artifact.kind` |\n|---|---|---|\n| `atlas` | PROPOSE, INFORM, REFUSE | `scout-report` |\n| `vigil` | PROPOSE, CRITIQUE, INFORM | `root-cause-report` |\n| `forge` | PROPOSE, INFORM, CRITIQUE | `reasoning-report` |\n\nA hand-off whose `from.eidolon` is not listed, or whose performative \u002F\n`artifact.kind` is not allowed for that edge, is an `UNDECLARED_EDGE` \u002F\n`PERFORMATIVE_NOT_ALLOWED` \u002F `ARTIFACT_KIND_NOT_ALLOWED` violation → **REFUSE**.\n\n---\n\n## Failure Mode (BLOCKING — refuse, do not process)\n\nOn **any** integrity or contract failure:\n\n1. Append a `verify_fail` event to `.eidolons\u002F.trace\u002F\u003Cthread_id>.jsonl`.\n2. Print to stderr: `[ramza-verify-incoming] REFUSE: \u003CFAILURE_CODE> from \u003Cfrom.eidolon>`.\n3. **Do not process the payload.** Hand control back to the **orchestrator** with\n   a refusal. The orchestrator routes the failure to **VIGIL** (integrity \u002F\n   tamper investigation) or to the **human** — never a silent retry, never a\n   silent process-anyway.\n\nFailure codes: `INTEGRITY_MISMATCH`, `UNVERIFIED` (no `verify_pass` on record),\n`SCHEMA_INVALID`, `UNDECLARED_EDGE`, `PERFORMATIVE_NOT_ALLOWED`,\n`ARTIFACT_KIND_NOT_ALLOWED`, `CONTEXT_OVER_BUDGET`, `MISSING_REQUIRED_SECTION`.\n\nOn success: append `verify_pass`, then proceed with the payload.\n\n---\n\n## Trace Events\n\nAppend one JSONL line per verification to `.eidolons\u002F.trace\u002F\u003Cthread_id>.jsonl`\n(create if absent). The `thread_id` comes from `envelope.thread_id`; if the\nenvelope is unparseable, use `unknown`.\n\n**verify_pass:**\n```json\n{\"ts\":\"\u003CRFC3339>\",\"event\":\"verify_pass\",\"message_id\":\"\u003Cuuid>\",\"thread_id\":\"\u003Cuuid>\",\"from\":\"\u003Ceidolon>@\u003Cversion>\",\"to\":\"ramza@\u003Cversion>\",\"performative\":\"\u003Cperformative>\",\"integrity_method\":\"sha256\"}\n```\n\n**verify_fail:**\n```json\n{\"ts\":\"\u003CRFC3339>\",\"event\":\"verify_fail\",\"message_id\":\"\u003Cuuid>\",\"thread_id\":\"\u003Cuuid>\",\"from\":\"\u003Ceidolon>@\u003Cversion>\",\"to\":\"ramza@\u003Cversion>\",\"integrity_method\":\"sha256\",\"verify_failure_code\":\"\u003CCODE>\",\"decision\":\"refused\"}\n```\n\n---\n\n## Notes\n\n- **Blocking, not warn-only.** Refusal is the whole point: a receiver that\n  processes a tamper-flagged payload defeats the provenance guarantee.\n- **Symmetric.** All Eidolons in the roster ship this gate with identical\n  semantics; the only per-Eidolon variation is the inbound-edge table above.\n- **Mechanical gate, single source of truth.** The SHA-256 comparison is the\n  nexus `eidolons verify-envelope` verb (ECL §6.2.2) — never re-implemented or\n  LLM-estimated in this skill. RAMZA's own outbound emissions are separately\n  self-gated by `ramza-verify-emit` (see above) — the two never substitute for\n  each other.\n- **Read-only enforcement.** The receiver needs only `Read` to consult the\n  trace; this is why the gate is symmetric across tool-less Eidolons.\n\n---\n\n*Verify-Incoming Skill — blocking, symmetric, mechanical-gate-backed (ECL §6.2.2)*\n","# Verify-Incoming Skill — RAMZA (blocking, symmetric)\n\nReceiver-side integrity gate for inbound ECL hand-offs. When an upstream\nartefact arrives with a sibling `.envelope.json`, RAMZA MUST NOT process the\npayload unless its SHA-256 integrity has been **verified and passed**. This is\nthe **blocking** posture mandated by ECL §6.2.2 (\"a receiver SHALL NOT process a\npayload whose integrity tag does not match\"). It is **symmetric**: every Eidolon\nin the roster ships this same gate, so no hand-off edge can silently skip it.\n\n> **Posture, inherited unchanged from SPECTRA:** an unverified or failed\n> envelope is refused and handed back to the orchestrator — never processed\n> with a warning. Provenance is only a differentiator if receivers actually\n> reject tampered payloads — end to end, not just at the orchestrator.\n\n---\n\n## Where the cryptographic check runs (and why the receiver only reads)\n\nRAMZA's tool surface cannot run the SHA-256 gate itself for INBOUND artefacts\n(receiver Eidolons have restricted or no Bash beyond the `ramza-*` gate tools).\nThe mechanical check therefore runs **at the orchestrator**, once, before RAMZA\nis dispatched:\n\n```sh\n# Orchestrator pre-step (host LLM, full Bash) — already shipped in the nexus CLI:\neidolons verify-envelope \u003Cartefact>.envelope.json --block      # exit 3 ⇒ tamper\u002Fmismatch\n#   …or, when routing through the kernel:\neidolons run --verify \u003Cartefact>.envelope.json --verify-block  # gates the route\n```\n\nThe gate writes a `verify_pass` (or `verify_fail`) trace event keyed by\n`message_id`. RAMZA then enforces the result using **only `Read`** — no Bash\nrequired:\n\n1. Read `.eidolons\u002F.trace\u002F\u003Cthread_id>.jsonl` (the `thread_id` is\n   `envelope.thread_id`).\n2. Find the event whose `message_id` matches `envelope.message_id`.\n3. **`verify_pass` with `integrity_method: \"sha256\"`** → integrity confirmed,\n   proceed to contract conformance below.\n4. **`verify_fail`, or no matching event** → integrity unconfirmed → **REFUSE**\n   (see Failure Mode). Do **not** process the payload.\n\n**Defense-in-depth (optional):** if RAMZA's host happens to grant Bash with\n`eidolons` on PATH, it MAY independently re-run `eidolons verify-envelope\n\u003Cenv> --block` and abort on a non-zero exit. The orchestrator pre-verify is the\ncontract; self-verification is an additional guard, never a replacement.\n\n**Contrast with RAMZA's own outbound emissions:** this skill governs artefacts\n*arriving at* RAMZA. Artefacts RAMZA itself *emits* are gated the other\ndirection, locally, by `ramza-verify-emit` at Assemble (frontmatter contract +\nrecomputed sha256 + closed performative set) — see `skills\u002Fmethodology\u002FSKILL.md` \"ECL\nemission\". The two gates are symmetric in spirit (nothing unvalidated crosses\nthe edge) but run on opposite sides of the hand-off and are never substitutes\nfor one another.\n\n---\n\n## Memory: Recall + Ingest (CRYSTALIUM)\n\nOn an inbound hand-off, first recall related prior context (if CRYSTALIUM\navailable):\n\n```\nmcp__crystalium__recall(\n  scope  = { project: \u003Ccwd-project>, agent_class_visibility: \"ramza\" },\n  query  = \u003Cartefact GOAL + from.eidolon + artifact.kind>,\n  k      = 5,\n  layers = [\"semantic\", \"episodic\", \"procedural\"]\n)\n```\n\nOnly **after** the integrity gate passes (`verify_pass`) ingest the received\nenvelope to record the inbound edge:\n\n```\nmcp__crystalium__ingest(\n  envelope = \u003Creceived .envelope.json contents>,\n  payload  = \u003Cartefact payload contents>\n)\n```\n\nNever ingest an envelope that failed or skipped verification. **Graceful skip:**\nif `mcp__crystalium__*` tools are unavailable, skip both calls silently.\n\n---\n\n## Trigger\n\nLoad this skill automatically when:\n\n- Reading an upstream artefact at path `P`, **and**\n- A sibling file `${P%.*}.envelope.json` exists in the same directory.\n\nDetection rule (POSIX sh compatible):\n\n```sh\nenvelope_path=\"${artefact_path%.*}.envelope.json\"\n[ -f \"$envelope_path\" ] && load_skill \"verify-incoming\"\n```\n\nIf no `.envelope.json` sibling exists, this is a non-ECL artefact — skip the gate\nsilently and process normally.\n\n---\n\n## Inbound edges RAMZA accepts\n\n`to.eidolon` MUST equal `ramza`. `from.eidolon` MUST be a declared upstream\nsender. Performative and `artifact.kind` are validated against the ECL inbound\ncontract `contracts\u002F\u003Cfrom>-to-ramza.yaml` (source of truth); the table below is\nthe convenience summary:\n\n| from | performative(s) | `artifact.kind` |\n|---|---|---|\n| `atlas` | PROPOSE, INFORM, REFUSE | `scout-report` |\n| `vigil` | PROPOSE, CRITIQUE, INFORM | `root-cause-report` |\n| `forge` | PROPOSE, INFORM, CRITIQUE | `reasoning-report` |\n\nA hand-off whose `from.eidolon` is not listed, or whose performative \u002F\n`artifact.kind` is not allowed for that edge, is an `UNDECLARED_EDGE` \u002F\n`PERFORMATIVE_NOT_ALLOWED` \u002F `ARTIFACT_KIND_NOT_ALLOWED` violation → **REFUSE**.\n\n---\n\n## Failure Mode (BLOCKING — refuse, do not process)\n\nOn **any** integrity or contract failure:\n\n1. Append a `verify_fail` event to `.eidolons\u002F.trace\u002F\u003Cthread_id>.jsonl`.\n2. Print to stderr: `[ramza-verify-incoming] REFUSE: \u003CFAILURE_CODE> from \u003Cfrom.eidolon>`.\n3. **Do not process the payload.** Hand control back to the **orchestrator** with\n   a refusal. The orchestrator routes the failure to **VIGIL** (integrity \u002F\n   tamper investigation) or to the **human** — never a silent retry, never a\n   silent process-anyway.\n\nFailure codes: `INTEGRITY_MISMATCH`, `UNVERIFIED` (no `verify_pass` on record),\n`SCHEMA_INVALID`, `UNDECLARED_EDGE`, `PERFORMATIVE_NOT_ALLOWED`,\n`ARTIFACT_KIND_NOT_ALLOWED`, `CONTEXT_OVER_BUDGET`, `MISSING_REQUIRED_SECTION`.\n\nOn success: append `verify_pass`, then proceed with the payload.\n\n---\n\n## Trace Events\n\nAppend one JSONL line per verification to `.eidolons\u002F.trace\u002F\u003Cthread_id>.jsonl`\n(create if absent). The `thread_id` comes from `envelope.thread_id`; if the\nenvelope is unparseable, use `unknown`.\n\n**verify_pass:**\n```json\n{\"ts\":\"\u003CRFC3339>\",\"event\":\"verify_pass\",\"message_id\":\"\u003Cuuid>\",\"thread_id\":\"\u003Cuuid>\",\"from\":\"\u003Ceidolon>@\u003Cversion>\",\"to\":\"ramza@\u003Cversion>\",\"performative\":\"\u003Cperformative>\",\"integrity_method\":\"sha256\"}\n```\n\n**verify_fail:**\n```json\n{\"ts\":\"\u003CRFC3339>\",\"event\":\"verify_fail\",\"message_id\":\"\u003Cuuid>\",\"thread_id\":\"\u003Cuuid>\",\"from\":\"\u003Ceidolon>@\u003Cversion>\",\"to\":\"ramza@\u003Cversion>\",\"integrity_method\":\"sha256\",\"verify_failure_code\":\"\u003CCODE>\",\"decision\":\"refused\"}\n```\n\n---\n\n## Notes\n\n- **Blocking, not warn-only.** Refusal is the whole point: a receiver that\n  processes a tamper-flagged payload defeats the provenance guarantee.\n- **Symmetric.** All Eidolons in the roster ship this gate with identical\n  semantics; the only per-Eidolon variation is the inbound-edge table above.\n- **Mechanical gate, single source of truth.** The SHA-256 comparison is the\n  nexus `eidolons verify-envelope` verb (ECL §6.2.2) — never re-implemented or\n  LLM-estimated in this skill. RAMZA's own outbound emissions are separately\n  self-gated by `ramza-verify-emit` (see above) — the two never substitute for\n  each other.\n- **Read-only enforcement.** The receiver needs only `Read` to consult the\n  trace; this is why the gate is symmetric across tool-less Eidolons.\n\n---\n\n*Verify-Incoming Skill — blocking, symmetric, mechanical-gate-backed (ECL §6.2.2)*\n",{"name":5,"metadata":44,"description":7},{"methodology":45},"RAMZA","main","42ce382409178ece647a93f841a86119e8d74a65",".eidolons\u002Framza\u002Fskills\u002Fverify-incoming",0,"https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma","https:\u002F\u002Fgithub.com\u002FRynaro","https:\u002F\u002Fhlavezzo.me","A Code Alchemist with a passion for weaving tales and inscribing transmutation circles in pure code.","2026-10-18 20:39:25",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add Rynaro\u002Fprisma --skill ramza-verify-incoming",{"tool":61,"command":62},"bunx","bunx skills add Rynaro\u002Fprisma --skill ramza-verify-incoming",{"tool":64,"command":65},"pnpm","pnpm dlx skills add Rynaro\u002Fprisma --skill ramza-verify-incoming","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Framza\u002Fskills\u002Fverify-incoming\u002FSKILL.md",true,[],[70,79,109,135,165,186],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":39},"01M71S3X05FSJA01D22MH39Y0W","vivi-verify-incoming","Load when reading any upstream artefact handed off to Vivi that carries a sibling .envelope.json. BLOCKING per ECL §6.2.2: the orchestrator MUST have verified the envelope's SHA-256 (eidolons verify-envelope --block \u002F eidolons run --verify) and recorded a verify_pass before dispatch. If no verify_pass exists for the message_id, or a verify_fail is present, REFUSE to process the payload and hand back to the orchestrator. Symmetric receiver gate — every Eidolon enforces it identically.","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Fvivi\u002Fskills\u002Fverify-incoming\u002FSKILL.md",[],[19,77,78,24,34,23,27,25,28,38,29,35,30,37,22,26,31,33,36,32],"vivi verify incoming","verify incoming",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":90,"publishedAt":39},"01M71S3S2E46S6AZEV07AJ75TK","vivi-parallel-tracks","Load ONLY under TRANCE authorization when the Plan phase yields N independent, non-overlapping implementation tracks (disjoint file sets). Operationalizes the TRANCE G4 form — parallel multi-track implementation in mandatory git-worktree isolation, max 5 clean-context tracks, a per-track verifier cascade, a non-fungible per-track ≤3 reflection budget, explicit stop conditions, and a single-threaded merge\u002Faggregation step. Absent TRANCE gating, Vivi runs exactly as today: single-track A→P→I→V→Δ\u002FR.","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Fvivi\u002Fskills\u002Fparallel-tracks\u002FSKILL.md",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[91,92,93,94,95,96,97,98,99,100,101,102,103,33,104,105,106,107,108,32],"parallel","tracks","parallel tracks","vivi parallel tracks","file","only","reflection","clean","plan phase","as","verifier","form","multi","worktree isolation","track","gating","single","phase",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":39},"01M71S3N09VY1H2QHXXP4SKY2X","vivi-methodology","Full Vivi cycle reference — A(nalyze) → P(lan) → I(mplement) → V(erify) → Δ(Delta)\u002FR(eflect). Use when the task is a non-trivial feature implementation in a brownfield codebase and you need the complete methodology reference: complexity routing, evidence-grounded planning rules, test-anchoring requirements, and failure-escalation thresholds.","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Fvivi\u002Fskills\u002Fmethodology\u002FSKILL.md",[],[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,32],"methodology","vivi methodology","planning","escalation","Rules","use","evidence","complexity","delta","task","cycle","feature implementation","brownfield","full","requirements","feature","complete","thresholds","you",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":146,"publishedAt":39},"01M71S3GT0M84EHZ2SJZKV61N9","vivi-memory-management","Load at Vivi session start, session end, or when you notice a repeating pattern across tasks. CRYSTALIUM-primary memory protocol: when mcp__crystalium__* tools are available, route ALL memory through CRYSTALIUM (recall\u002Fcommit\u002Fingest\u002Fplan_checkpoint\u002Fsession_end). The local agents\u002Fmemories\u002F*.md files are the standalone fallback for when CRYSTALIUM is absent — EIIS conformance. Never write both.","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Fvivi\u002Fskills\u002Fmemory-management\u002FSKILL.md",[141],{"categoryNo":142,"categoryName":143,"taxonomyType":144,"taxonomyTypeDesc":145},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,134,163,164,32],"memory","management","memory management","vivi memory management","MCP","commit","tasks","plan","write","never","files","route","across","local","end","session start","standalone","at",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":39},"01M71S3E067YRRFH7304VYYF32","vivi-loop-native","Load in Vivi's V (Verify) phase. The core capability that distinguishes Vivi from its predecessor APIVR-Δ: drive the closed, autonomous, bounded edit-run-test loop (`eidolons sandbox loop`) as its `--fix-hook`, consuming localized feedback, retrying in fresh context, refusing to game the tests, and gating on pass^k. Use whenever the task has an executable test oracle and a loop-competent host.","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Fvivi\u002Fskills\u002Floop-native\u002FSKILL.md",[],[172,173,174,175,176,177,178,179,180,181,182,121,125,183,100,184,185,33,106,108],"loop","native","vivi loop native","oracle","sandbox","test","core","game","feedback","autonomous","fix","tests","fresh","host",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":192,"publishedAt":39},"01M71S3AEKYH0JD0CFJ4GHA98E","vivi-failure-recovery","Load when the Vivi Verify phase produces failures — test fails, lint error, build break, or three consecutive unsuccessful attempts at the same category. Provides the failure classification taxonomy, bounded debugging protocol, and escalation thresholds. Use to avoid the 'random retries' anti-pattern.","https:\u002F\u002Fgithub.com\u002FRynaro\u002Fprisma\u002Fblob\u002Fmain\u002F.eidolons\u002Fvivi\u002Fskills\u002Ffailure-recovery\u002FSKILL.md",[],[193,194,195,119,196,197,121,198,199,133,200,201,202,33,164,203,204,108,32,205],"recovery","vivi failure recovery","debugging","classification","taxonomy","three","pattern","error","retries","random","break","bounded","same"]