[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GV6FK50JQ7XPFA0EVCFDBJ":3,"skill-same:01M6GV6FK50JQ7XPFA0EVCFDBJ":86},{"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":53,"commitSha":54,"skillDirectory":55,"forksCount":14,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":71},"01M6GV6FK50JQ7XPFA0EVCFDBJ","elegy-obsidian",null,"Read, write, and search a local Obsidian vault via the official Obsidian Desktop CLI (v1.12.7+). Non-authoritative convenience layer; durable planning state continues to flow through elegy-planning and SQLite. User-invoked; do not auto-load.","Sofreshx\u002FElegy","Sofreshx","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F46634397?v=4","01M6GV3ACQ2VKGTY22KKQDDPPG","Sfrsh","01M6GV3AYZA1GPCMY0JP2PQSVC",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-obsidian\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"obsidian","elegy obsidian","obsidian vault","cli","load","mirror","true","tags","local","do","auto","official","sqlite","vault","search","state","planning","desktop","tasks","notes","2026-11-10 10:12:30",false,"---\nname: elegy-obsidian\ndescription: \"Read, write, and search a local Obsidian vault via the official Obsidian Desktop CLI (v1.12.7+). Non-authoritative convenience layer; durable planning state continues to flow through elegy-planning and SQLite. User-invoked; do not auto-load.\"\nlicense: Apache-2.0\nversion: \"2.1\"\nmetadata: {\"aliasKeys\":[\"obsidian\",\"obsidian-cli\",\"elegy-obsidian\"],\"stacks\":[\"vault\",\"notes\"],\"tags\":[\"obsidian\",\"vault\",\"notes\",\"search\",\"tasks\",\"tags\",\"elegy\",\"non-authoritative-mirror\"]}\ndisable-model-invocation: true\n---\n\n> **Invocation posture**: user-invoked only. This skill wraps the Obsidian CLI and can mutate vault content (create, append, patch, move, delete, task toggle). It must not be auto-invoked by the model.\n>\n> **Readiness: concept; not agent-routable.** The required Obsidian runtime and an installed non-fixture vault task have not been verified.\n\n# Elegy Obsidian\n\n## Purpose\n\n`elegy-obsidian` is a convenience layer over the official `obsidian` CLI\nshipped with Obsidian Desktop 1.12.7+. It is a foundation surface only;\nit deliberately does **not** mirror, attach, resolve, or list Obsidian\nvault state into the Elegy planning authority. That work belongs to a\nfuture `elegy-planning obsidian ...` Rust subcommand set.\n\nObsidian is treated as a **non-authoritative** mirror:\n\n- The official `obsidian` CLI is a black-box process boundary; the\n  skill does not parse or normalize its output into an Elegy\n  planning schema.\n- Durable cross-session state continues to live in `elegy-planning`\n  (goals, roadmaps, plans, todos, issues, review points) backed by\n  SQLite.\n- Vault reads, file appends, and search results must not be written\n  into paths that would shadow planning authority (for example,\n  `.elegy\u002Fbacklogs\u002F`, `roadmaps\u002F`, or any spec\u002FADR location owned\n  by another skill).\n\n## Prerequisite\n\nThe official `obsidian` binary must be available. It is shipped with\nObsidian Desktop 1.12.7+; the CLI is not enabled by default. The\nObsidian Desktop app must also be running for the CLI to function —\ncommands fail if the app is not open.\n\nIf the `obsidian` CLI is not installed or not reachable, this skill\ncannot function — inform the user and offer to install Obsidian\nDesktop or enable the CLI in Obsidian Settings -> General ->\n\"Command line interface\".\n\n## Binary Resolution\n\nThe `obsidian` binary must be reachable from the current shell. Use\nthis resolution order:\n\n1. **Check PATH**: run `obsidian version`. If it resolves, use `obsidian`\n   directly for all commands.\n2. **WSL \u002F non-PATH fallback**: on Windows Subsystem for Linux, the\n   `obsidian` app-execution alias is on the Windows PATH but not the\n   WSL PATH. Resolve via:\n   ```bash\n   cmd.exe \u002Fc \"where obsidian\"\n   ```\n   This returns the full Windows path.\n   Convert to a WSL path and use it for all subsequent invocations.\n3. **Known install root**: if `where` fails, check the default\n   Obsidian Desktop install location (typically under the user's\n   local AppData Programs directory).\n\nOnce resolved, use the full binary path for every `obsidian` call in\nthe session. Do not re-resolve unless the first attempt fails.\n\nIf none of the above resolve, the CLI is not installed or not enabled.\nGuide the user to install Obsidian Desktop 1.12.7+ and enable the CLI\nunder Settings -> General -> Command line interface.\n\n## Vault Context\n\nBefore invoking any vault command, load the vault context:\n\n1. **Read config**: `~\u002F.elegy\u002Fobsidian-vault.json` contains\n   `vaultPath` (the vault root). Derive the vault name from the\n   folder basename (e.g., a vault at `~\u002FDocuments\u002FDev` → vault\n   name `Dev`).\n2. **Fallback**: if config is absent, run `obsidian vault list` to\n   discover registered vaults. Use the first (or prompt the user\n   to choose if multiple).\n3. **Pin vault name**: pass `vault=\u003Cname>` on every subsequent\n   `obsidian` call. The active-vault default is platform-specific\n   and unreliable when multiple vaults are registered.\n\n### Vault layout conventions\n\nObsidian vaults use theme-based subdirectories. The standard layout\n(for a vault named `Dev`):\n\n```text\nDev\u002F\n  Projects\u002F       ← project notes (theme: Projects)\n  Research\u002F       ← research notes (theme: Research)\n  Tasks\u002F          ← task lists (theme: Tasks)\n  Resources\u002F      ← resource\u002Flink collections (theme: Resources)\n  Index.md        ← navigation hub (links to all sections)\n```\n\nFrontmatter conventions (per the vault-notes spec):\n\n```yaml\n---\nid: my-note-slug        # derived from filename (My-Note.md → my-note)\ntitle: My Note          # human-readable title\ntheme: Projects         # derived from parent directory name\ntags: [tag1, tag2]      # YAML array\ncreated: ISO-timestamp\nupdated: ISO-timestamp\narchived: false\n---\n```\n\nThese are conventions, not enforced. The `theme` field corresponds to\nthe parent directory name. `Index.md` at the vault root is the\nnavigation hub — read it first to orient within the vault.\n\n## Orient-Once Protocol\n\nAt the start of each session (or when the user asks to interact with\nthe vault), run this 3-command bootstrap:\n\n1. `obsidian version` — confirm CLI is reachable, note version.\n2. `obsidian vault list` — confirm vault name and path (or read from\n   `~\u002F.elegy\u002Fobsidian-vault.json`).\n3. `obsidian read file=Index.md vault=\u003Cname>` — load the navigation\n   hub to understand the vault's structure and current state.\n\nAfter this orient pass, the session has the binary path, vault name,\nand vault layout pinned. No further re-discovery is needed.\n\n**Orient is complete when all three commands succeed** — the binary\npath, vault name, and vault layout are pinned for the session.\n\n## Installation\n\n### Enable the official `obsidian` CLI\n\n1. Install Obsidian Desktop 1.12.7 or later from\n   \u003Chttps:\u002F\u002Fobsidian.md\u002Fdownload>.\n2. In Obsidian, open **Settings -> General** and enable\n   **Command line interface** (also exposed under\n   **Settings -> General -> Advanced -> Command line interface** on\n   some builds).\n3. Verify the CLI:\n   ```bash\n   obsidian version\n   obsidian help\n   ```\n4. The CLI uses `key=value` arguments and the active vault by\n   default; pass `vault=\u003Cname>` to target a specific vault.\n\n### No `elegy-obsidian` binary\n\nThis skill does **not** ship an executable. It is a routing and\nconvention layer over the official `obsidian` CLI.\n\n## Core Commands\n\nFull command reference: [`references\u002Fobsidian-cli-catalog.md`](references\u002Fobsidian-cli-catalog.md).\n\nKey commands: `read`, `search`, `daily`, `daily:read`, `tags`, `tasks` (read-only).\nSide-effecting commands (`create`, `append`, `patch`, `move`, `delete`, `daily:append`, `task toggle`, `command`) require explicit user approval.\n\n## Quick Reference\n\n| Task | Command |\n|---|---|\n| List vaults | `obsidian vault list` |\n| Read a note | `obsidian read file=notes\u002Ffoo.md vault=Dev` |\n| Append to a note | `obsidian append file=notes\u002Ffoo.md content=\"New line\" vault=Dev` |\n| Search the vault | `obsidian search query=\"planning\" limit=20 vault=Dev` |\n| Read today's daily note | `obsidian daily:read vault=Dev` |\n| Append to today's daily note | `obsidian daily:append content=\"- [ ] triage obsidian queue\" vault=Dev` |\n| List open tasks | `obsidian tasks status=open vault=Dev` |\n| Toggle a task | `obsidian task toggle file=notes\u002Fdaily.md line=12 vault=Dev` |\n\n## Rules\n\n- Always pass `vault=\u003Cname>` explicitly when more than one vault is\n  registered; the active-vault default is platform-specific.\n- Treat the `obsidian` CLI as a black-box process boundary. Do not\n  parse, normalize, or reinterpret its output into Elegy planning\n  schemas.\n- Do not write vault content into paths that would shadow Elegy\n  planning authority (`.elegy\u002Fbacklogs\u002F`, `roadmaps\u002F`, ADR\u002Fspec\n  locations, governance nodes per the repo discovery chain).\n- Respect the three mandatory constraints:\n  `external-binary-dependency`, `non-authoritative-vault`,\n  `no-projection-of-authority`.\n- Use the resolved binary path consistently across the session; do\n  not re-resolve unless an invocation fails.\n\n### Rollback notes\n\n- File mutations (`create`, `append`, `patch`, `move`, `delete`) are\n  not reversible through the CLI. Recommend backing up before\n  deletes\u002Fmoves.\n- `delete` is irreversible — the file is removed from the vault.\n- `move` can be reversed by moving back, but wiki-link rewrites\n  applied by Obsidian during the move may not fully reverse.\n- `task toggle` is reversible by toggling again.\n- `daily:append` can be undone by editing the daily note in Obsidian.\n\n## Authority Chain\n\n| Artifact | Location | Role |\n|---|---|---|\n| **SKILL.md** (canonical) | `skills\u002Felegy-obsidian\u002FSKILL.md` | Governed source of truth for the skill |\n| **Surface registration** | `distribution\u002Fsurfaces.json` (`elegy-obsidian` entry) | Classification and readiness routing |\n| **CLI catalog** (canonical) | `skills\u002Felegy-obsidian\u002Freferences\u002Fobsidian-cli-catalog.md` | Full command\u002Fcapability reference |\n| **Consumer-side definition** (mirror) | `instruction-engine\u002Fcontracts\u002Felegy\u002Ffixtures\u002Fskill-definition-v2.elegy-obsidian.json` | Governed definition for consumer repo |\n| **Consumer-side discovery** (mirror) | `instruction-engine\u002Fcontracts\u002Felegy\u002Ffixtures\u002Fskill-discovery-index.elegy-obsidian.json` | Discovery projection for consumer repo |\n| **Consumer-side SKILL.md** (mirror) | `instruction-engine\u002Fcatalog-assets\u002Fshared-skills\u002Felegy-obsidian\u002FSKILL.md` | Consumer repo mirror of this skill |\n\nHosts may install this source through their native skill mechanism. Elegy does\nnot package or route it as a plugin, and no central registry participates in\nskill discovery.\n\n## Future Work (not in foundation)\n\nThe following belong to a future Rust surface under\n`rust\u002Fcrates\u002Felegy-planning\u002Fsrc\u002Fobsidian.rs` and the\n`elegy-planning` CLI umbrella, **not** to this skill:\n\n- `elegy-planning obsidian mirror` -- snapshot a vault subtree into\n  the planning catalog as a non-authoritative mirror.\n- `elegy-planning obsidian attach` -- bind a vault path to a goal,\n  roadmap, plan, or work point as a related surface.\n- `elegy-planning obsidian resolve` -- answer a planning query\n  (entity, identifier) by walking the attached mirrors.\n- `elegy-planning obsidian list` -- enumerate attached mirrors and\n  their state.\n- Promotion of this skill's `lifecycleState` from `draft` to\n  `active` once the mirror command set lands.\n","> **Invocation posture**: user-invoked only. This skill wraps the Obsidian CLI and can mutate vault content (create, append, patch, move, delete, task toggle). It must not be auto-invoked by the model.\n>\n> **Readiness: concept; not agent-routable.** The required Obsidian runtime and an installed non-fixture vault task have not been verified.\n\n# Elegy Obsidian\n\n## Purpose\n\n`elegy-obsidian` is a convenience layer over the official `obsidian` CLI\nshipped with Obsidian Desktop 1.12.7+. It is a foundation surface only;\nit deliberately does **not** mirror, attach, resolve, or list Obsidian\nvault state into the Elegy planning authority. That work belongs to a\nfuture `elegy-planning obsidian ...` Rust subcommand set.\n\nObsidian is treated as a **non-authoritative** mirror:\n\n- The official `obsidian` CLI is a black-box process boundary; the\n  skill does not parse or normalize its output into an Elegy\n  planning schema.\n- Durable cross-session state continues to live in `elegy-planning`\n  (goals, roadmaps, plans, todos, issues, review points) backed by\n  SQLite.\n- Vault reads, file appends, and search results must not be written\n  into paths that would shadow planning authority (for example,\n  `.elegy\u002Fbacklogs\u002F`, `roadmaps\u002F`, or any spec\u002FADR location owned\n  by another skill).\n\n## Prerequisite\n\nThe official `obsidian` binary must be available. It is shipped with\nObsidian Desktop 1.12.7+; the CLI is not enabled by default. The\nObsidian Desktop app must also be running for the CLI to function —\ncommands fail if the app is not open.\n\nIf the `obsidian` CLI is not installed or not reachable, this skill\ncannot function — inform the user and offer to install Obsidian\nDesktop or enable the CLI in Obsidian Settings -> General ->\n\"Command line interface\".\n\n## Binary Resolution\n\nThe `obsidian` binary must be reachable from the current shell. Use\nthis resolution order:\n\n1. **Check PATH**: run `obsidian version`. If it resolves, use `obsidian`\n   directly for all commands.\n2. **WSL \u002F non-PATH fallback**: on Windows Subsystem for Linux, the\n   `obsidian` app-execution alias is on the Windows PATH but not the\n   WSL PATH. Resolve via:\n   ```bash\n   cmd.exe \u002Fc \"where obsidian\"\n   ```\n   This returns the full Windows path.\n   Convert to a WSL path and use it for all subsequent invocations.\n3. **Known install root**: if `where` fails, check the default\n   Obsidian Desktop install location (typically under the user's\n   local AppData Programs directory).\n\nOnce resolved, use the full binary path for every `obsidian` call in\nthe session. Do not re-resolve unless the first attempt fails.\n\nIf none of the above resolve, the CLI is not installed or not enabled.\nGuide the user to install Obsidian Desktop 1.12.7+ and enable the CLI\nunder Settings -> General -> Command line interface.\n\n## Vault Context\n\nBefore invoking any vault command, load the vault context:\n\n1. **Read config**: `~\u002F.elegy\u002Fobsidian-vault.json` contains\n   `vaultPath` (the vault root). Derive the vault name from the\n   folder basename (e.g., a vault at `~\u002FDocuments\u002FDev` → vault\n   name `Dev`).\n2. **Fallback**: if config is absent, run `obsidian vault list` to\n   discover registered vaults. Use the first (or prompt the user\n   to choose if multiple).\n3. **Pin vault name**: pass `vault=\u003Cname>` on every subsequent\n   `obsidian` call. The active-vault default is platform-specific\n   and unreliable when multiple vaults are registered.\n\n### Vault layout conventions\n\nObsidian vaults use theme-based subdirectories. The standard layout\n(for a vault named `Dev`):\n\n```text\nDev\u002F\n  Projects\u002F       ← project notes (theme: Projects)\n  Research\u002F       ← research notes (theme: Research)\n  Tasks\u002F          ← task lists (theme: Tasks)\n  Resources\u002F      ← resource\u002Flink collections (theme: Resources)\n  Index.md        ← navigation hub (links to all sections)\n```\n\nFrontmatter conventions (per the vault-notes spec):\n\n```yaml\n---\nid: my-note-slug        # derived from filename (My-Note.md → my-note)\ntitle: My Note          # human-readable title\ntheme: Projects         # derived from parent directory name\ntags: [tag1, tag2]      # YAML array\ncreated: ISO-timestamp\nupdated: ISO-timestamp\narchived: false\n---\n```\n\nThese are conventions, not enforced. The `theme` field corresponds to\nthe parent directory name. `Index.md` at the vault root is the\nnavigation hub — read it first to orient within the vault.\n\n## Orient-Once Protocol\n\nAt the start of each session (or when the user asks to interact with\nthe vault), run this 3-command bootstrap:\n\n1. `obsidian version` — confirm CLI is reachable, note version.\n2. `obsidian vault list` — confirm vault name and path (or read from\n   `~\u002F.elegy\u002Fobsidian-vault.json`).\n3. `obsidian read file=Index.md vault=\u003Cname>` — load the navigation\n   hub to understand the vault's structure and current state.\n\nAfter this orient pass, the session has the binary path, vault name,\nand vault layout pinned. No further re-discovery is needed.\n\n**Orient is complete when all three commands succeed** — the binary\npath, vault name, and vault layout are pinned for the session.\n\n## Installation\n\n### Enable the official `obsidian` CLI\n\n1. Install Obsidian Desktop 1.12.7 or later from\n   \u003Chttps:\u002F\u002Fobsidian.md\u002Fdownload>.\n2. In Obsidian, open **Settings -> General** and enable\n   **Command line interface** (also exposed under\n   **Settings -> General -> Advanced -> Command line interface** on\n   some builds).\n3. Verify the CLI:\n   ```bash\n   obsidian version\n   obsidian help\n   ```\n4. The CLI uses `key=value` arguments and the active vault by\n   default; pass `vault=\u003Cname>` to target a specific vault.\n\n### No `elegy-obsidian` binary\n\nThis skill does **not** ship an executable. It is a routing and\nconvention layer over the official `obsidian` CLI.\n\n## Core Commands\n\nFull command reference: [`references\u002Fobsidian-cli-catalog.md`](references\u002Fobsidian-cli-catalog.md).\n\nKey commands: `read`, `search`, `daily`, `daily:read`, `tags`, `tasks` (read-only).\nSide-effecting commands (`create`, `append`, `patch`, `move`, `delete`, `daily:append`, `task toggle`, `command`) require explicit user approval.\n\n## Quick Reference\n\n| Task | Command |\n|---|---|\n| List vaults | `obsidian vault list` |\n| Read a note | `obsidian read file=notes\u002Ffoo.md vault=Dev` |\n| Append to a note | `obsidian append file=notes\u002Ffoo.md content=\"New line\" vault=Dev` |\n| Search the vault | `obsidian search query=\"planning\" limit=20 vault=Dev` |\n| Read today's daily note | `obsidian daily:read vault=Dev` |\n| Append to today's daily note | `obsidian daily:append content=\"- [ ] triage obsidian queue\" vault=Dev` |\n| List open tasks | `obsidian tasks status=open vault=Dev` |\n| Toggle a task | `obsidian task toggle file=notes\u002Fdaily.md line=12 vault=Dev` |\n\n## Rules\n\n- Always pass `vault=\u003Cname>` explicitly when more than one vault is\n  registered; the active-vault default is platform-specific.\n- Treat the `obsidian` CLI as a black-box process boundary. Do not\n  parse, normalize, or reinterpret its output into Elegy planning\n  schemas.\n- Do not write vault content into paths that would shadow Elegy\n  planning authority (`.elegy\u002Fbacklogs\u002F`, `roadmaps\u002F`, ADR\u002Fspec\n  locations, governance nodes per the repo discovery chain).\n- Respect the three mandatory constraints:\n  `external-binary-dependency`, `non-authoritative-vault`,\n  `no-projection-of-authority`.\n- Use the resolved binary path consistently across the session; do\n  not re-resolve unless an invocation fails.\n\n### Rollback notes\n\n- File mutations (`create`, `append`, `patch`, `move`, `delete`) are\n  not reversible through the CLI. Recommend backing up before\n  deletes\u002Fmoves.\n- `delete` is irreversible — the file is removed from the vault.\n- `move` can be reversed by moving back, but wiki-link rewrites\n  applied by Obsidian during the move may not fully reverse.\n- `task toggle` is reversible by toggling again.\n- `daily:append` can be undone by editing the daily note in Obsidian.\n\n## Authority Chain\n\n| Artifact | Location | Role |\n|---|---|---|\n| **SKILL.md** (canonical) | `skills\u002Felegy-obsidian\u002FSKILL.md` | Governed source of truth for the skill |\n| **Surface registration** | `distribution\u002Fsurfaces.json` (`elegy-obsidian` entry) | Classification and readiness routing |\n| **CLI catalog** (canonical) | `skills\u002Felegy-obsidian\u002Freferences\u002Fobsidian-cli-catalog.md` | Full command\u002Fcapability reference |\n| **Consumer-side definition** (mirror) | `instruction-engine\u002Fcontracts\u002Felegy\u002Ffixtures\u002Fskill-definition-v2.elegy-obsidian.json` | Governed definition for consumer repo |\n| **Consumer-side discovery** (mirror) | `instruction-engine\u002Fcontracts\u002Felegy\u002Ffixtures\u002Fskill-discovery-index.elegy-obsidian.json` | Discovery projection for consumer repo |\n| **Consumer-side SKILL.md** (mirror) | `instruction-engine\u002Fcatalog-assets\u002Fshared-skills\u002Felegy-obsidian\u002FSKILL.md` | Consumer repo mirror of this skill |\n\nHosts may install this source through their native skill mechanism. Elegy does\nnot package or route it as a plugin, and no central registry participates in\nskill discovery.\n\n## Future Work (not in foundation)\n\nThe following belong to a future Rust surface under\n`rust\u002Fcrates\u002Felegy-planning\u002Fsrc\u002Fobsidian.rs` and the\n`elegy-planning` CLI umbrella, **not** to this skill:\n\n- `elegy-planning obsidian mirror` -- snapshot a vault subtree into\n  the planning catalog as a non-authoritative mirror.\n- `elegy-planning obsidian attach` -- bind a vault path to a goal,\n  roadmap, plan, or work point as a related surface.\n- `elegy-planning obsidian resolve` -- answer a planning query\n  (entity, identifier) by walking the attached mirrors.\n- `elegy-planning obsidian list` -- enumerate attached mirrors and\n  their state.\n- Promotion of this skill's `lifecycleState` from `draft` to\n  `active` once the mirror command set lands.\n",{"name":5,"license":15,"version":44,"metadata":45,"description":7,"disable-model-invocation":52},"2.1",{"tags":46,"stacks":49,"aliasKeys":50},[19,32,38,33,37,26,47,48],"elegy","non-authoritative-mirror",[32,38],[19,51,5],"obsidian-cli",true,"main","cdaaaccc462c986f4a2c0032b75698f15c71f62b","skills\u002Felegy-obsidian","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy","https:\u002F\u002Fgithub.com\u002FSofreshx","2026-11-02 22:33:10",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":52},[61,64,67],{"tool":62,"command":63},"npx","npx skills add Sofreshx\u002FElegy --skill elegy-obsidian",{"tool":65,"command":66},"bunx","bunx skills add Sofreshx\u002FElegy --skill elegy-obsidian",{"tool":68,"command":69},"pnpm","pnpm dlx skills add Sofreshx\u002FElegy --skill elegy-obsidian","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-obsidian\u002FSKILL.md",[72,78,82],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"readiness.json","REFERENCE","参考文档",724,"https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-obsidian\u002Freadiness.json",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"README.md",353,"https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-obsidian\u002FREADME.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fobsidian-cli-catalog.md",3897,"https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-obsidian\u002Freferences\u002Fobsidian-cli-catalog.md",[87,108,128,147,163,182],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":98,"publishedAt":39},"01M6GV77GEYNKPE96EFA282AY0","elegy-skill-authoring","Doctrine for drafting, auditing, and fixing Elegy skills. Use when creating a new skill, running an audit against an existing one, or triaging structural and content findings.","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-skill-authoring\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[99,100,101,102,103,104,105,106,107],"elegy skill authoring","authoring","skill authoring","content","audit","use","doctrine","new skill","structural",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":117,"publishedAt":39},"01M6GV6VG31WQVTQ0RGEEEWKQ8","elegy-plugin-authoring","Use when creating or reviewing an Elegy system-adapter plugin that connects an agent to a data source, database, platform, API, local system, or executable boundary.","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-plugin-authoring\u002FSKILL.md",[114],{"categoryNo":115,"categoryName":116,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000010","后端与接口",[100,118,119,120,121,122,123,124,125,104,27,126,127],"plugin","plugin authoring","elegy plugin authoring","database","data","boundary","api","system","platform","adapter",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":39},"01M6GV61N0F34CMFA7F4AT7C2D","elegy-doc-practices","Use when an agent or contributor needs to classify, place, scaffold, or validate documentation in the Elegy ecosystem — the central doctrine for ADRs, specs, guides, notes, and roadmap material across Elegy and downstream repos.","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fskills\u002Felegy-doc-practices\u002FSKILL.md",[],[135,136,137,104,138,139,105,140,141,142,143,144,38,145,146],"elegy doc practices","doc","repos","documentation","roadmap","scaffold","across","classify","material","guides","ecosystem","validate",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":157,"publishedAt":39},"01M6GV5RR6R3XF7Q1EP9QZ4GVK","test-skill","A test skill for the app-binding fixture.","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fshared\u002Fplugin-sdk\u002Ftests\u002Ffixtures\u002Fapp-binding-plugin\u002Fskills\u002Ftest-skill\u002FSKILL.md",[153,156],{"categoryNo":154,"categoryName":155,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},[158,159,160,161,162],"Test Skill","test","fixture","binding","app",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":39},"01M6GV59H2X6CJAYJCX7S4ERJE","elegy-planning","Use when an agent needs to create, inspect, update, validate, or export durable planning state — goals, roadmaps, plans, work points, todos, issues, review points, insights, and project runs — through the dedicated elegy-planning CLI over SQLite.","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fplugins\u002Fplanning\u002Fskills\u002Felegy-planning\u002FSKILL.md",[],[35,170,171,22,172,173,174,175,176,177,104,178,31,179,34,180,181,146],"elegy planning","review","export","inspect","insights","plans","project","goals","work","issues","update","create",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":39},"01M6GV4X2GKY7SF0RM1FCHMXHF","elegy-observe","Observe desktop and OS state for agentic workflows. Snapshot running processes, track foreground and visible windows, capture screen, read clipboard, diff filesystem changes, and query system information.","https:\u002F\u002Fgithub.com\u002FSofreshx\u002FElegy\u002Fblob\u002Fmain\u002Fplugins\u002Fobserve\u002Fskills\u002Felegy-observe\u002FSKILL.md",[],[189,190,191,192,193,194,195,196,197,198,199,200,201,125,34,36,202,203,204,205],"elegy observe","observe","read","information","capture screen","processes","screen","os","clipboard","diff","snapshot","capture","filesystem","windows","agentic workflows","workflows","agentic"]