[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E5SAYY0K093PAJRWNF4Y2J":3,"skill-same:01M6E5SAYY0K093PAJRWNF4Y2J":54},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":13,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6E5SAYY0K093PAJRWNF4Y2J","ontology-rebuild",null,"Reconcile the hand-curated semantic overlay — scan dirty checksums, update ontology files and auto-updatable docs, mark resolved","parametrization\u002F2real-team-framework","parametrization","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1111097?v=4","01M6E5MC117M94CEXKX3C96PPX","01M6E5MC7YWG5N3VV4792VFK85",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fontology-rebuild\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28],"rebuild","ontology","ontology rebuild","docs","update","reconcile","auto","files","scan","semantic","scope","2026-11-10 10:12:30",false,"---\nname: ontology-rebuild\ndescription: Reconcile the hand-curated semantic overlay — scan dirty checksums, update ontology files and auto-updatable docs, mark resolved\nargs: scope\n---\n\nRebuild the **semantic overlay** for files that have changed since the last resolution pass. The `scope` argument is optional — if omitted, processes all dirty files. If provided, can be `code`, `docs`, or a specific repo name to limit scope.\n\n> Note: all repo paths in bash blocks below are rooted at `$REPO_ROOT` to avoid cwd drift when the skill is invoked from a worktree or child-repo subdirectory (#149).\n\n> **This skill resolves the SEMANTIC OVERLAY only.** For the generated structural index (`ontology\u002Fstructural\u002Fllms.txt`, `code-graph.json`), run the generator: `PYTHONPATH=.claude\u002Flib python3 -m ontology_gen . --out ontology\u002Fstructural\u002F` and the aggregator: `PYTHONPATH=.claude\u002Flib python3 -m ontology_gen.aggregate .`. The lifecycle skills (`\u002Fsession-start` Step 3b, `\u002Fwave-wrapup` Step 12b) do this automatically.\n\n## Context — generate-structural + curate-semantic model (C×T2, #820\u002F#862)\n\nThe ontology uses two cooperating layers, each with its own update path:\n\n| Layer | Contents | Update path |\n|-------|----------|-------------|\n| **Semantic overlay** | `domain.yaml`, `services.yaml`, `conventions.md`, `repos\u002F*.yaml`, hand-edited `*.md` | This skill (`\u002Fontology-rebuild`) — reads `checksums.json` dirty entries, reconciles against code |\n| **Structural index** | `ontology\u002Fstructural\u002Fllms.txt`, `code-graph.json`, `cross-repo-graph.json` | Generator (`ontology_gen` + `ontology_gen.aggregate`) — regenerated wholesale, never hand-edited |\n\n**This skill** (the Resolver) and the Change Tracker hook operate exclusively on the semantic overlay:\n- **Change Tracker** (hook) — auto-updates `ontology\u002Fchecksums.json` on every Edit\u002FWrite to hand-curated files. Sets `last_tracked` hash.\n- **Change Resolver** (this skill) — reads dirty entries from checksums, processes files, updates semantic overlay + auto-updatable docs. Sets `last_resolved` = `last_tracked`.\n- **Librarian** (`\u002Fontology-librarian`) — read-only reference, surfaces BOTH layers; staleness check for each.\n\nA file is \"dirty\" when `last_tracked != last_resolved` in `checksums.json`.\n\n### Scope: the SEMANTIC OVERLAY only — NOT the generated structural layer (#857, #820\u002FC×T2)\n\nThis skill (the Resolver) and the Change Tracker hook operate on the **hand-curated semantic overlay**: `ontology\u002Fdomain.yaml`, `ontology\u002Fservices.yaml`, `ontology\u002Fconventions.md`, `ontology\u002Frepos\u002F*.yaml`, and other hand-edited `*.md`. These are the files a human edits and that therefore need dirty-tracking + resolution.\n\nThe **structural** layer at `ontology\u002Fstructural\u002F` is **out of scope**: it is GENERATED by an owned generator (#855), regenerated wholesale rather than hand-resolved, so it is always-current-by-regeneration. The tracker hook skips it (see `ontology_tracker.py` `SKIP_PATTERNS`), so it will never appear as a dirty entry here — and `\u002Fontology-rebuild` must never hand-edit it. To refresh the structural layer, re-run its generator, not this skill. (Background: this is the C×T2 decision that also softened Hook 15 from a hard pre-edit block to advisory — structural context is now current-by-regeneration, not stale.)\n\n### Code is the final arbiter of truth\n\nThis skill derives the ontology and the auto-updatable docs **FROM the code**. When the code and a doc\u002Fontology entry disagree, **the code wins**: update the ontology\u002Fdoc to match the code — never edit the code to match a stale doc. Source code (`.py`\u002F`.ts`\u002F`.tf`\u002F`.yaml` config\u002Fschemas\u002F…) is read first (step 2 orders code → docs → high-level-docs precisely so code is resolved before anything derived from it); READMEs, CLAUDE.md, inline docs, and the ontology files are downstream artifacts that must be brought into agreement with it. Recommend-only docs (high-level-docs\u002F, architecture diagrams) are flagged for human review rather than auto-rewritten, but the conflict is still reported with code as the reference. This is the canonical statement of the org convention in `ontology\u002Fconventions.md` § Ontology: code is the arbiter of truth, enforced PR-side by the advisory `doc-freshness` gate (`.claude\u002Flib\u002Fdoc_freshness.py`, #768).\n\n## Instructions\n\n### 1. Read checksums and identify dirty files\n\n```bash\nREPO_ROOT=\"$(git rev-parse --show-toplevel)\"\ncat \"$REPO_ROOT\u002Fontology\u002Fchecksums.json\"\n```\n\nBuild a list of all files where `last_tracked != last_resolved`. If no dirty files exist, report \"Ontology is up to date — no dirty files\" and stop.\n\nIf `scope` argument is provided, filter:\n- `code` — only source code files (`.py`, `.ts`, `.tsx`, `.js`, `.jsx`, `.go`, `.yaml`, `.yml`, `.toml`, `.json`, `.tf`, `.hcl`)\n- `docs` — only documentation files (`.md`, `.rst`, `.txt`)\n- `{repo-name}` — only files under that repo's directory (e.g., `noorinalabs-isnad-graph\u002F`)\n\n### 2. Process files in order: code → docs → high-level-docs\n\nProcess dirty files in this order:\n1. **Source code files** — read each file, extract entities, services, APIs, patterns, data models\n2. **Auto-updatable docs** (READMEs, CLAUDE.md, inline docs) — check for drift from code, update if needed\n3. **Recommend-only docs** (high-level-docs\u002F, engineering docs, mermaid diagrams, architecture documents in any repo) — read for intent and purpose, note recommendations but do NOT modify\n\nFor each file:\n- Read the file content\n- Determine which ontology file(s) it affects:\n  - Domain entities\u002Frelationships → `ontology\u002Fdomain.yaml`\n  - Services, APIs, data stores, infrastructure → `ontology\u002Fservices.yaml`\n  - Conventions, patterns, tooling → `ontology\u002Fconventions.md`\n  - Repo-specific internals → `ontology\u002Frepos\u002F{repo-name}.yaml`\n- Update the relevant ontology file(s) with extracted knowledge\n- If the file is an auto-updatable doc that has drifted from code, update it\n\n### 3. Cross-reference and consistency\n\nAfter processing all dirty files:\n- Check for orphaned entities (referenced but not defined)\n- Check for stale references (defined but the source file no longer contains them)\n- Verify cross-repo integration points are consistent between `services.yaml` and repo files\n\n### 4. Update checksums\n\nFor each processed file, set `last_resolved = last_tracked` and `resolved_at = now` in `checksums.json`.\n\nAlso update checksums for any ontology files that were modified during this pass.\n\n### 5. Report\n\n```\n**Ontology Rebuild Complete**\n\n**Files processed:** {count}\n**Ontology files updated:**\n- domain.yaml: {entities added\u002Fupdated\u002Fremoved}\n- services.yaml: {services added\u002Fupdated\u002Fremoved}\n- conventions.md: {sections updated}\n- repos\u002F{name}.yaml: {changes}\n\n**Docs auto-updated:** {list of docs that were updated to match code}\n\n**Recommend-only changes (requires human review):**\n- {file}: {recommended change}\n\n**Consistency issues found:** {list or \"None\"}\n```\n\n### 6. Commit ontology changes\n\nStage and commit all ontology changes and any auto-updated docs. Use the Standards & Quality Lead identity (Aino Virtanen) for ontology commits:\n\n```bash\ncd \"$REPO_ROOT\" && \\\n  git add ontology\u002F && \\\n  git -c user.name=\"Aino Virtanen\" -c user.email=\"parametrization+Aino.Virtanen@gmail.com\" \\\n      commit -m \"ontology: rebuild — {summary of changes}\"\n# Also add any auto-updated docs before committing.\n```\n\n## Docs update policy\n\n| Doc type | Location | Action |\n|----------|----------|--------|\n| READMEs | Any repo | Auto-update to match code |\n| CLAUDE.md | Any repo | Auto-update to match code |\n| Inline code docs | Any repo | Auto-update to match code |\n| high-level-docs\u002F | noorinalabs-main | Read-only — recommend changes |\n| Engineering docs | Any repo (architecture.md, diagrams, etc.) | Read-only — recommend changes |\n| Mermaid diagrams | Any repo | Read-only — recommend changes |\n\n## What remains manual\n\n- Recommend-only doc updates require human review and decision\n- Ontology structure changes (adding new top-level categories) should be discussed first\n- Removing entities requires confirmation — prefer marking as deprecated\n- **The structural index is never resolved here** — to refresh it, run the generator directly or use `\u002Fsession-start` Step 3b \u002F `\u002Fwave-wrapup` Step 12b which do it automatically:\n  ```bash\n  PYTHONPATH=.claude\u002Flib python3 -m ontology_gen . --out ontology\u002Fstructural\u002F\n  PYTHONPATH=.claude\u002Flib python3 -m ontology_gen.aggregate .\n  ```\n","Rebuild the **semantic overlay** for files that have changed since the last resolution pass. The `scope` argument is optional — if omitted, processes all dirty files. If provided, can be `code`, `docs`, or a specific repo name to limit scope.\n\n> Note: all repo paths in bash blocks below are rooted at `$REPO_ROOT` to avoid cwd drift when the skill is invoked from a worktree or child-repo subdirectory (#149).\n\n> **This skill resolves the SEMANTIC OVERLAY only.** For the generated structural index (`ontology\u002Fstructural\u002Fllms.txt`, `code-graph.json`), run the generator: `PYTHONPATH=.claude\u002Flib python3 -m ontology_gen . --out ontology\u002Fstructural\u002F` and the aggregator: `PYTHONPATH=.claude\u002Flib python3 -m ontology_gen.aggregate .`. The lifecycle skills (`\u002Fsession-start` Step 3b, `\u002Fwave-wrapup` Step 12b) do this automatically.\n\n## Context — generate-structural + curate-semantic model (C×T2, #820\u002F#862)\n\nThe ontology uses two cooperating layers, each with its own update path:\n\n| Layer | Contents | Update path |\n|-------|----------|-------------|\n| **Semantic overlay** | `domain.yaml`, `services.yaml`, `conventions.md`, `repos\u002F*.yaml`, hand-edited `*.md` | This skill (`\u002Fontology-rebuild`) — reads `checksums.json` dirty entries, reconciles against code |\n| **Structural index** | `ontology\u002Fstructural\u002Fllms.txt`, `code-graph.json`, `cross-repo-graph.json` | Generator (`ontology_gen` + `ontology_gen.aggregate`) — regenerated wholesale, never hand-edited |\n\n**This skill** (the Resolver) and the Change Tracker hook operate exclusively on the semantic overlay:\n- **Change Tracker** (hook) — auto-updates `ontology\u002Fchecksums.json` on every Edit\u002FWrite to hand-curated files. Sets `last_tracked` hash.\n- **Change Resolver** (this skill) — reads dirty entries from checksums, processes files, updates semantic overlay + auto-updatable docs. Sets `last_resolved` = `last_tracked`.\n- **Librarian** (`\u002Fontology-librarian`) — read-only reference, surfaces BOTH layers; staleness check for each.\n\nA file is \"dirty\" when `last_tracked != last_resolved` in `checksums.json`.\n\n### Scope: the SEMANTIC OVERLAY only — NOT the generated structural layer (#857, #820\u002FC×T2)\n\nThis skill (the Resolver) and the Change Tracker hook operate on the **hand-curated semantic overlay**: `ontology\u002Fdomain.yaml`, `ontology\u002Fservices.yaml`, `ontology\u002Fconventions.md`, `ontology\u002Frepos\u002F*.yaml`, and other hand-edited `*.md`. These are the files a human edits and that therefore need dirty-tracking + resolution.\n\nThe **structural** layer at `ontology\u002Fstructural\u002F` is **out of scope**: it is GENERATED by an owned generator (#855), regenerated wholesale rather than hand-resolved, so it is always-current-by-regeneration. The tracker hook skips it (see `ontology_tracker.py` `SKIP_PATTERNS`), so it will never appear as a dirty entry here — and `\u002Fontology-rebuild` must never hand-edit it. To refresh the structural layer, re-run its generator, not this skill. (Background: this is the C×T2 decision that also softened Hook 15 from a hard pre-edit block to advisory — structural context is now current-by-regeneration, not stale.)\n\n### Code is the final arbiter of truth\n\nThis skill derives the ontology and the auto-updatable docs **FROM the code**. When the code and a doc\u002Fontology entry disagree, **the code wins**: update the ontology\u002Fdoc to match the code — never edit the code to match a stale doc. Source code (`.py`\u002F`.ts`\u002F`.tf`\u002F`.yaml` config\u002Fschemas\u002F…) is read first (step 2 orders code → docs → high-level-docs precisely so code is resolved before anything derived from it); READMEs, CLAUDE.md, inline docs, and the ontology files are downstream artifacts that must be brought into agreement with it. Recommend-only docs (high-level-docs\u002F, architecture diagrams) are flagged for human review rather than auto-rewritten, but the conflict is still reported with code as the reference. This is the canonical statement of the org convention in `ontology\u002Fconventions.md` § Ontology: code is the arbiter of truth, enforced PR-side by the advisory `doc-freshness` gate (`.claude\u002Flib\u002Fdoc_freshness.py`, #768).\n\n## Instructions\n\n### 1. Read checksums and identify dirty files\n\n```bash\nREPO_ROOT=\"$(git rev-parse --show-toplevel)\"\ncat \"$REPO_ROOT\u002Fontology\u002Fchecksums.json\"\n```\n\nBuild a list of all files where `last_tracked != last_resolved`. If no dirty files exist, report \"Ontology is up to date — no dirty files\" and stop.\n\nIf `scope` argument is provided, filter:\n- `code` — only source code files (`.py`, `.ts`, `.tsx`, `.js`, `.jsx`, `.go`, `.yaml`, `.yml`, `.toml`, `.json`, `.tf`, `.hcl`)\n- `docs` — only documentation files (`.md`, `.rst`, `.txt`)\n- `{repo-name}` — only files under that repo's directory (e.g., `noorinalabs-isnad-graph\u002F`)\n\n### 2. Process files in order: code → docs → high-level-docs\n\nProcess dirty files in this order:\n1. **Source code files** — read each file, extract entities, services, APIs, patterns, data models\n2. **Auto-updatable docs** (READMEs, CLAUDE.md, inline docs) — check for drift from code, update if needed\n3. **Recommend-only docs** (high-level-docs\u002F, engineering docs, mermaid diagrams, architecture documents in any repo) — read for intent and purpose, note recommendations but do NOT modify\n\nFor each file:\n- Read the file content\n- Determine which ontology file(s) it affects:\n  - Domain entities\u002Frelationships → `ontology\u002Fdomain.yaml`\n  - Services, APIs, data stores, infrastructure → `ontology\u002Fservices.yaml`\n  - Conventions, patterns, tooling → `ontology\u002Fconventions.md`\n  - Repo-specific internals → `ontology\u002Frepos\u002F{repo-name}.yaml`\n- Update the relevant ontology file(s) with extracted knowledge\n- If the file is an auto-updatable doc that has drifted from code, update it\n\n### 3. Cross-reference and consistency\n\nAfter processing all dirty files:\n- Check for orphaned entities (referenced but not defined)\n- Check for stale references (defined but the source file no longer contains them)\n- Verify cross-repo integration points are consistent between `services.yaml` and repo files\n\n### 4. Update checksums\n\nFor each processed file, set `last_resolved = last_tracked` and `resolved_at = now` in `checksums.json`.\n\nAlso update checksums for any ontology files that were modified during this pass.\n\n### 5. Report\n\n```\n**Ontology Rebuild Complete**\n\n**Files processed:** {count}\n**Ontology files updated:**\n- domain.yaml: {entities added\u002Fupdated\u002Fremoved}\n- services.yaml: {services added\u002Fupdated\u002Fremoved}\n- conventions.md: {sections updated}\n- repos\u002F{name}.yaml: {changes}\n\n**Docs auto-updated:** {list of docs that were updated to match code}\n\n**Recommend-only changes (requires human review):**\n- {file}: {recommended change}\n\n**Consistency issues found:** {list or \"None\"}\n```\n\n### 6. Commit ontology changes\n\nStage and commit all ontology changes and any auto-updated docs. Use the Standards & Quality Lead identity (Aino Virtanen) for ontology commits:\n\n```bash\ncd \"$REPO_ROOT\" && \\\n  git add ontology\u002F && \\\n  git -c user.name=\"Aino Virtanen\" -c user.email=\"parametrization+Aino.Virtanen@gmail.com\" \\\n      commit -m \"ontology: rebuild — {summary of changes}\"\n# Also add any auto-updated docs before committing.\n```\n\n## Docs update policy\n\n| Doc type | Location | Action |\n|----------|----------|--------|\n| READMEs | Any repo | Auto-update to match code |\n| CLAUDE.md | Any repo | Auto-update to match code |\n| Inline code docs | Any repo | Auto-update to match code |\n| high-level-docs\u002F | noorinalabs-main | Read-only — recommend changes |\n| Engineering docs | Any repo (architecture.md, diagrams, etc.) | Read-only — recommend changes |\n| Mermaid diagrams | Any repo | Read-only — recommend changes |\n\n## What remains manual\n\n- Recommend-only doc updates require human review and decision\n- Ontology structure changes (adding new top-level categories) should be discussed first\n- Removing entities requires confirmation — prefer marking as deprecated\n- **The structural index is never resolved here** — to refresh it, run the generator directly or use `\u002Fsession-start` Step 3b \u002F `\u002Fwave-wrapup` Step 12b which do it automatically:\n  ```bash\n  PYTHONPATH=.claude\u002Flib python3 -m ontology_gen . --out ontology\u002Fstructural\u002F\n  PYTHONPATH=.claude\u002Flib python3 -m ontology_gen.aggregate .\n  ```\n",{"args":28,"name":5,"description":7},"main","53ec1032b93d41533a48603e8fae7a92f56cc66c","intake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fontology-rebuild","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework","https:\u002F\u002Fgithub.com\u002Fparametrization","2026-09-21 01:06:30",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add parametrization\u002F2real-team-framework --skill ontology-rebuild",{"tool":46,"command":47},"bunx","bunx skills add parametrization\u002F2real-team-framework --skill ontology-rebuild",{"tool":49,"command":50},"pnpm","pnpm dlx skills add parametrization\u002F2real-team-framework --skill ontology-rebuild","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fontology-rebuild\u002FSKILL.md",true,[],[55,77,93,107,122,135],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":29},"01M6E5VG1R7FF1025BZAV6BDTS","wave-wrapup","Finalize a wave — PR review, merge sequencing, issue cleanup, worktree cleanup, and handoff to retro","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fwave-wrapup\u002FSKILL.md",[],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"wave wrapup","wrapup","review","handoff","merge","pr review","pr","cleanup","worktree","retro","team","issue","worktree cleanup","name","sequencing",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":29},"01M6E5V9GDF75GV4YD2WPSH912","wave-start","Initialize a new wave — worktree cleanup, branch creation, label setup, status file update","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fwave-start\u002FSKILL.md",[],[84,85,86,69,22,70,87,72,88,89,90,74,91,75,92],"wave start","start","setup","file","branch","file update","initialize","creation","status",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":29},"01M6E5V4VXEJ39V87VHN1A3AW9","wave-scope","Reconcile declared-vs-labeled wave scope between \u002Fwave-retro and \u002Fwave-kickoff — collect dispositions, fold in retro carry-forwards and memory must-includes, and refresh the meta-issue","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fwave-scope\u002FSKILL.md",[],[100,28,101,102,103,71,104,23,105,73,106],"wave scope","memory","collect","Meta","refresh","Fold","kickoff",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":29},"01M6E5TZNPGG5EXZEN1FKJJT6K","wave-retro","Automated wave retrospective — PR analysis, assessments, trust matrix updates, feedback log, charter change proposals","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fwave-retro\u002FSKILL.md",[],[114,71,115,116,68,117,118,72,119,120,121,75],"wave retro","log","change","retrospective","analysis","feedback","proposals","trust",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":29},"01M6E5TR8XB3Z10A9SD4ZYNV45","wave-kickoff","Automated wave planning — branch creation, label management, issue labeling, kickoff comments, and execution plan","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fwave-kickoff\u002FSKILL.md",[],[129,106,130,73,91,75,131,72,132,88,133,134],"wave kickoff","management","plan","execution","planning","execution plan",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":29},"01M6E5TMZAFB6MTVYT750FZDVY","wave-audit","Audit open issues against merged PRs — find and close orphaned issues with proper comments","https:\u002F\u002Fgithub.com\u002Fparametrization\u002F2real-team-framework\u002Fblob\u002Fmain\u002Fintake\u002Fnoorinalabs-2026-06\u002Fcandidates\u002Fskills\u002Fwave-audit\u002FSKILL.md",[],[142,143,144,145,146,147],"audit","wave audit","close","find","open","issues"]