jorgex-stack 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -381,16 +381,13 @@ After creating your evaluation file, you can use the provided evaluation harness
381
381
 
382
382
  ## Setup
383
383
 
384
- 1. **Install Dependencies**
384
+ 1. **Prepare a locked Python environment**
385
385
 
386
- ```bash
387
- pip install -r scripts/requirements.txt
388
- ```
389
-
390
- Or install manually:
391
- ```bash
392
- pip install anthropic mcp
393
- ```
386
+ Use a project-managed virtual environment whose complete transitive lock and
387
+ hashes have already been reviewed. The requirements file records the direct
388
+ versions expected by the harness, but it is not a complete lock and this
389
+ skill must not install from it. If the environment is unavailable, stop and
390
+ return control to the user.
394
391
 
395
392
  2. **Set API Key**
396
393
 
@@ -550,12 +547,8 @@ Here's a complete example of creating and running an evaluation:
550
547
  </evaluation>
551
548
  ```
552
549
 
553
- 2. **Install dependencies**:
554
-
555
- ```bash
556
- pip install -r scripts/requirements.txt
557
- export ANTHROPIC_API_KEY=your_api_key
558
- ```
550
+ 2. **Activate the pre-provisioned locked environment**, then provide the API key
551
+ through the project's normal secret-management workflow.
559
552
 
560
553
  3. **Run evaluation**:
561
554
 
@@ -599,4 +592,4 @@ If tasks are timing out:
599
592
  - Use a more capable model (e.g., `claude-3-7-sonnet-20250219`)
600
593
  - Check if tools are returning too much data
601
594
  - Verify pagination is working correctly
602
- - Consider simplifying complex questions
595
+ - Consider simplifying complex questions
@@ -901,16 +901,19 @@ Always build your TypeScript code before running:
901
901
 
902
902
  ```bash
903
903
  # Build the project
904
- npm run build
904
+ pnpm run build
905
905
 
906
906
  # Run the server
907
- npm start
907
+ pnpm start
908
908
 
909
909
  # Development with auto-reload
910
- npm run dev
910
+ pnpm run dev
911
911
  ```
912
912
 
913
- Always ensure `npm run build` completes successfully before considering the implementation complete.
913
+ Always ensure `pnpm run build` completes successfully before considering the
914
+ implementation complete. These commands must resolve the project's declared
915
+ dependencies through its lockfile; do not fetch an unpinned tool while
916
+ working on the server.
914
917
 
915
918
  ## Quality Checklist
916
919
 
@@ -963,8 +966,8 @@ Before finalizing your Node/TypeScript MCP server implementation, ensure:
963
966
  - [ ] Return types are consistent across similar operations
964
967
 
965
968
  ### Testing and Build
966
- - [ ] `npm run build` completes successfully without errors
969
+ - [ ] `pnpm run build` completes successfully without errors
967
970
  - [ ] dist/index.js created and executable
968
971
  - [ ] Server runs: `node dist/index.js --help`
969
972
  - [ ] All imports resolve correctly
970
- - [ ] Sample tool calls work as expected
973
+ - [ ] Sample tool calls work as expected
@@ -1,2 +1,2 @@
1
- anthropic>=0.39.0
2
- mcp>=1.1.0
1
+ anthropic==0.39.0
2
+ mcp==1.1.0
@@ -153,11 +153,10 @@ test -f playwright.config.ts || test -f playwright.config.js
153
153
  pnpm exec playwright --version
154
154
  ```
155
155
 
156
- If there is no Playwright install, bootstrap one and let the user pick the defaults:
157
-
158
- ```bash
159
- pnpm create playwright
160
- ```
156
+ If there is no project-local Playwright install, stop and return control to the
157
+ user. This skill does not bootstrap packages or change the dependency graph;
158
+ the project must provision a reviewed exact version through its normal locked
159
+ dependency workflow before planning or generating tests.
161
160
 
162
161
  ### 1.2 Prerequisite: seed test
163
162
 
@@ -10,10 +10,21 @@ Scans your React codebase for security, performance, correctness, and architectu
10
10
 
11
11
  ## Usage
12
12
 
13
+ Run the project-pinned binary through the project's package manager:
14
+
13
15
  ```bash
14
- npx -y react-doctor@latest . --verbose --diff
16
+ pnpm exec react-doctor . --verbose --diff
15
17
  ```
16
18
 
19
+ `pnpm exec` resolves the binary from the current project's declared
20
+ dependencies or workspace. It does not fetch an ad-hoc release and this skill
21
+ does not modify `package.json`, the lockfile, or any global tool directory.
22
+
23
+ If the command is unavailable, stop and return control to the user with a
24
+ clear message that the project dependency is missing. The user can review and
25
+ provision an exact project version through the normal dependency workflow,
26
+ then rerun this skill.
27
+
17
28
  ## Workflow
18
29
 
19
30
  Run after making changes to catch issues early. Fix errors first, then re-run to verify the score improved.
package/upstreams.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$comment": "Terceros gestionados por `jorgex-stack update`: fuente, versión conocida y política. `commit` = pin del upstream en la última revisión aceptada (2026-06-11, auditoría de seguridad): update --check compara el HEAD del repo contra el pin y avisa si se movió; cualquier actualización de la copia vendorizada se hace con diff manual y re-pin deliberado, nunca a ciegas. El pin es del repo completo (no por path): en monorepos activos un pin movido no implica que la skill cambiara — el diff lo confirma. Las skills 'modified: true' tienen cambios locales respecto al upstream — update debe hacer diff/aviso, NUNCA reemplazo ciego (PRD §7.3). Skills propias sin upstream (no se actualizan desde fuera): agent-delegation, work-lifecycle. `path` = ruta dentro del repo upstream donde vive la skill (para diff/descarga quirúrgica). `kind: \"release\"` = la actualización se compara contra tags de release en vez de HEAD (e.g. paquetes Python sin SKILL.md en repo).",
2
+ "$comment": "Terceros gestionados por `jorgex-stack update`: fuente, versión conocida y política. `commit` = pin del upstream en la última revisión aceptada (2026-06-11, auditoría de seguridad): update --check compara el HEAD del repo contra el pin y avisa si se movió; cualquier actualización de la copia vendorizada se hace con diff manual y re-pin deliberado, nunca a ciegas. El pin es del repo completo (no por path): en monorepos activos un pin movido no implica que la skill cambiara — el diff lo confirma. Las skills 'modified: true' tienen cambios locales respecto al upstream — update debe hacer diff/aviso, NUNCA reemplazo ciego (PRD §7.3). Skills propias sin upstream (no se actualizan desde fuera): agent-delegation, lean-code, orchestrator, work-lifecycle y xreview. `path` = ruta dentro del repo upstream donde vive la skill (para diff/descarga quirúrgica). `kind: \"release\"` = la actualización se compara contra tags de release en vez de HEAD (e.g. paquetes Python sin SKILL.md en repo).",
3
3
  "tools": {
4
4
  "engram": {
5
5
  "kind": "binary",
@@ -24,6 +24,7 @@
24
24
  "path": "skills/deploy-to-vercel",
25
25
  "version": "3.0.0",
26
26
  "commit": "f8a72b9603728bb92a217a879b7e62e43ad76c81",
27
+ "modified": true,
27
28
  "note": "por diseño empaqueta el proyecto entero (tarball) y lo sube a un endpoint de Vercel para desplegarlo; excluye .env/.env.*/.git/node_modules"
28
29
  },
29
30
  "diagnose": {
@@ -35,46 +36,43 @@
35
36
  "find-skills": {
36
37
  "source": "github:vercel-labs/skills",
37
38
  "path": "skills/find-skills",
38
- "commit": "be0dd25b4a8665894a56f45ef582cc02ca802c39"
39
+ "commit": "be0dd25b4a8665894a56f45ef582cc02ca802c39",
40
+ "modified": true,
41
+ "note": "la copia vendorizada se limita a descubrir skills; no acepta ni ejecuta instalación, actualización o inicialización de contenido upstream"
39
42
  },
40
43
  "mcp-builder": {
41
44
  "source": "github:anthropics/skills",
42
45
  "path": "skills/mcp-builder",
43
46
  "commit": "57546260929473d4e0d1c1bb75297be2fdfa1949",
44
- "license": "Apache-2.0"
45
- },
46
- "obsidian-cli": {
47
- "source": "github:kepano/obsidian-skills",
48
- "path": "skills/obsidian-cli",
49
- "commit": "a1dc48e68138490d522c04cbf5822214c6eb1202"
50
- },
51
- "obsidian-markdown": {
52
- "source": "github:kepano/obsidian-skills",
53
- "path": "skills/obsidian-markdown",
54
- "commit": "a1dc48e68138490d522c04cbf5822214c6eb1202"
47
+ "license": "Apache-2.0",
48
+ "modified": true
55
49
  },
56
50
  "react-doctor": {
57
51
  "source": "github:millionco/react-doctor",
58
52
  "path": "skills/react-doctor",
59
- "commit": "a48fb06ffbe7221655e18529fcc954ecae17a22f"
53
+ "commit": "a48fb06ffbe7221655e18529fcc954ecae17a22f",
54
+ "modified": true
60
55
  },
61
56
  "skill-creator": {
62
57
  "source": "github:anthropics/skills",
63
58
  "path": "skills/skill-creator",
64
59
  "commit": "57546260929473d4e0d1c1bb75297be2fdfa1949",
65
- "license": "Apache-2.0"
60
+ "license": "Apache-2.0",
61
+ "modified": true
66
62
  },
67
63
  "supabase": {
68
64
  "source": "github:supabase/agent-skills",
69
65
  "path": "skills/supabase",
70
66
  "version": "0.1.2",
71
- "commit": "1356046015476711a769601079262b5635929427"
67
+ "commit": "1356046015476711a769601079262b5635929427",
68
+ "modified": true
72
69
  },
73
70
  "supabase-postgres-best-practices": {
74
71
  "source": "github:supabase/agent-skills",
75
72
  "path": "skills/supabase-postgres-best-practices",
76
73
  "commit": "1356046015476711a769601079262b5635929427",
77
- "license": "MIT"
74
+ "license": "MIT",
75
+ "modified": true
78
76
  },
79
77
  "tdd": {
80
78
  "source": "github:mattpocock/skills",
@@ -84,14 +82,17 @@
84
82
  },
85
83
  "to-issues": {
86
84
  "source": "github:mattpocock/skills",
87
- "path": "skills/engineering/to-issues",
88
- "commit": "694fa30311e02c2639942308513555e61ee84a6f"
85
+ "path": "skills/engineering/to-tickets",
86
+ "commit": "694fa30311e02c2639942308513555e61ee84a6f",
87
+ "modified": true,
88
+ "note": "upstream renombró to-issues → to-tickets; conservamos el nombre local to-issues y el pin de la última revisión aceptada hasta comparar y aceptar contenido nuevo deliberadamente"
89
89
  },
90
90
  "to-prd": {
91
91
  "source": "github:mattpocock/skills",
92
- "path": "skills/engineering/to-prd",
92
+ "path": "skills/engineering/to-spec",
93
93
  "commit": "694fa30311e02c2639942308513555e61ee84a6f",
94
- "modified": true
94
+ "modified": true,
95
+ "note": "upstream renombró to-prd → to-spec; conservamos el nombre local to-prd y el pin de la última revisión aceptada hasta comparar y aceptar contenido nuevo deliberadamente"
95
96
  }
96
97
  }
97
98
  }
@@ -1,106 +0,0 @@
1
- ---
2
- name: obsidian-cli
3
- description: Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
4
- ---
5
-
6
- # Obsidian CLI
7
-
8
- Use the `obsidian` CLI to interact with a running Obsidian instance. Requires Obsidian to be open.
9
-
10
- ## Command reference
11
-
12
- Run `obsidian help` to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli
13
-
14
- ## Syntax
15
-
16
- **Parameters** take a value with `=`. Quote values with spaces:
17
-
18
- ```bash
19
- obsidian create name="My Note" content="Hello world"
20
- ```
21
-
22
- **Flags** are boolean switches with no value:
23
-
24
- ```bash
25
- obsidian create name="My Note" silent overwrite
26
- ```
27
-
28
- For multiline content use `\n` for newline and `\t` for tab.
29
-
30
- ## File targeting
31
-
32
- Many commands accept `file` or `path` to target a file. Without either, the active file is used.
33
-
34
- - `file=<name>` — resolves like a wikilink (name only, no path or extension needed)
35
- - `path=<path>` — exact path from vault root, e.g. `folder/note.md`
36
-
37
- ## Vault targeting
38
-
39
- Commands target the most recently focused vault by default. Use `vault=<name>` as the first parameter to target a specific vault:
40
-
41
- ```bash
42
- obsidian vault="My Vault" search query="test"
43
- ```
44
-
45
- ## Common patterns
46
-
47
- ```bash
48
- obsidian read file="My Note"
49
- obsidian create name="New Note" content="# Hello" template="Template" silent
50
- obsidian append file="My Note" content="New line"
51
- obsidian search query="search term" limit=10
52
- obsidian daily:read
53
- obsidian daily:append content="- [ ] New task"
54
- obsidian property:set name="status" value="done" file="My Note"
55
- obsidian tasks daily todo
56
- obsidian tags sort=count counts
57
- obsidian backlinks file="My Note"
58
- ```
59
-
60
- Use `--copy` on any command to copy output to clipboard. Use `silent` to prevent files from opening. Use `total` on list commands to get a count.
61
-
62
- ## Plugin development
63
-
64
- ### Develop/test cycle
65
-
66
- After making code changes to a plugin or theme, follow this workflow:
67
-
68
- 1. **Reload** the plugin to pick up changes:
69
- ```bash
70
- obsidian plugin:reload id=my-plugin
71
- ```
72
- 2. **Check for errors** — if errors appear, fix and repeat from step 1:
73
- ```bash
74
- obsidian dev:errors
75
- ```
76
- 3. **Verify visually** with a screenshot or DOM inspection:
77
- ```bash
78
- obsidian dev:screenshot path=screenshot.png
79
- obsidian dev:dom selector=".workspace-leaf" text
80
- ```
81
- 4. **Check console output** for warnings or unexpected logs:
82
- ```bash
83
- obsidian dev:console level=error
84
- ```
85
-
86
- ### Additional developer commands
87
-
88
- Run JavaScript in the app context:
89
-
90
- ```bash
91
- obsidian eval code="app.vault.getFiles().length"
92
- ```
93
-
94
- Inspect CSS values:
95
-
96
- ```bash
97
- obsidian dev:css selector=".workspace-leaf" prop=background-color
98
- ```
99
-
100
- Toggle mobile emulation:
101
-
102
- ```bash
103
- obsidian dev:mobile on
104
- ```
105
-
106
- Run `obsidian help` to see additional developer commands including CDP and debugger controls.
@@ -1,196 +0,0 @@
1
- ---
2
- name: obsidian-markdown
3
- description: Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
4
- ---
5
-
6
- # Obsidian Flavored Markdown Skill
7
-
8
- Create and edit valid Obsidian Flavored Markdown. Obsidian extends CommonMark and GFM with wikilinks, embeds, callouts, properties, comments, and other syntax. This skill covers only Obsidian-specific extensions -- standard Markdown (headings, bold, italic, lists, quotes, code blocks, tables) is assumed knowledge.
9
-
10
- ## Workflow: Creating an Obsidian Note
11
-
12
- 1. **Add frontmatter** with properties (title, tags, aliases) at the top of the file. See [PROPERTIES.md](references/PROPERTIES.md) for all property types.
13
- 2. **Write content** using standard Markdown for structure, plus Obsidian-specific syntax below.
14
- 3. **Link related notes** using wikilinks (`[[Note]]`) for internal vault connections, or standard Markdown links for external URLs.
15
- 4. **Embed content** from other notes, images, or PDFs using the `![[embed]]` syntax. See [EMBEDS.md](references/EMBEDS.md) for all embed types.
16
- 5. **Add callouts** for highlighted information using `> [!type]` syntax. See [CALLOUTS.md](references/CALLOUTS.md) for all callout types.
17
- 6. **Verify** the note renders correctly in Obsidian's reading view.
18
-
19
- > When choosing between wikilinks and Markdown links: use `[[wikilinks]]` for notes within the vault (Obsidian tracks renames automatically) and `[text](url)` for external URLs only.
20
-
21
- ## Internal Links (Wikilinks)
22
-
23
- ```markdown
24
- [[Note Name]] Link to note
25
- [[Note Name|Display Text]] Custom display text
26
- [[Note Name#Heading]] Link to heading
27
- [[Note Name#^block-id]] Link to block
28
- [[#Heading in same note]] Same-note heading link
29
- ```
30
-
31
- Define a block ID by appending `^block-id` to any paragraph:
32
-
33
- ```markdown
34
- This paragraph can be linked to. ^my-block-id
35
- ```
36
-
37
- For lists and quotes, place the block ID on a separate line after the block:
38
-
39
- ```markdown
40
- > A quote block
41
-
42
- ^quote-id
43
- ```
44
-
45
- ## Embeds
46
-
47
- Prefix any wikilink with `!` to embed its content inline:
48
-
49
- ```markdown
50
- ![[Note Name]] Embed full note
51
- ![[Note Name#Heading]] Embed section
52
- ![[image.png]] Embed image
53
- ![[image.png|300]] Embed image with width
54
- ![[document.pdf#page=3]] Embed PDF page
55
- ```
56
-
57
- See [EMBEDS.md](references/EMBEDS.md) for audio, video, search embeds, and external images.
58
-
59
- ## Callouts
60
-
61
- ```markdown
62
- > [!note]
63
- > Basic callout.
64
-
65
- > [!warning] Custom Title
66
- > Callout with a custom title.
67
-
68
- > [!faq]- Collapsed by default
69
- > Foldable callout (- collapsed, + expanded).
70
- ```
71
-
72
- Common types: `note`, `tip`, `warning`, `info`, `example`, `quote`, `bug`, `danger`, `success`, `failure`, `question`, `abstract`, `todo`.
73
-
74
- See [CALLOUTS.md](references/CALLOUTS.md) for the full list with aliases, nesting, and custom CSS callouts.
75
-
76
- ## Properties (Frontmatter)
77
-
78
- ```yaml
79
- ---
80
- title: My Note
81
- date: 2024-01-15
82
- tags:
83
- - project
84
- - active
85
- aliases:
86
- - Alternative Name
87
- cssclasses:
88
- - custom-class
89
- ---
90
- ```
91
-
92
- Default properties: `tags` (searchable labels), `aliases` (alternative note names for link suggestions), `cssclasses` (CSS classes for styling).
93
-
94
- See [PROPERTIES.md](references/PROPERTIES.md) for all property types, tag syntax rules, and advanced usage.
95
-
96
- ## Tags
97
-
98
- ```markdown
99
- #tag Inline tag
100
- #nested/tag Nested tag with hierarchy
101
- ```
102
-
103
- Tags can contain letters, numbers (not first character), underscores, hyphens, and forward slashes. Tags can also be defined in frontmatter under the `tags` property.
104
-
105
- ## Comments
106
-
107
- ```markdown
108
- This is visible %%but this is hidden%% text.
109
-
110
- %%
111
- This entire block is hidden in reading view.
112
- %%
113
- ```
114
-
115
- ## Obsidian-Specific Formatting
116
-
117
- ```markdown
118
- ==Highlighted text== Highlight syntax
119
- ```
120
-
121
- ## Math (LaTeX)
122
-
123
- ```markdown
124
- Inline: $e^{i\pi} + 1 = 0$
125
-
126
- Block:
127
- $$
128
- \frac{a}{b} = c
129
- $$
130
- ```
131
-
132
- ## Diagrams (Mermaid)
133
-
134
- ````markdown
135
- ```mermaid
136
- graph TD
137
- A[Start] --> B{Decision}
138
- B -->|Yes| C[Do this]
139
- B -->|No| D[Do that]
140
- ```
141
- ````
142
-
143
- To link Mermaid nodes to Obsidian notes, add `class NodeName internal-link;`.
144
-
145
- ## Footnotes
146
-
147
- ```markdown
148
- Text with a footnote[^1].
149
-
150
- [^1]: Footnote content.
151
-
152
- Inline footnote.^[This is inline.]
153
- ```
154
-
155
- ## Complete Example
156
-
157
- ````markdown
158
- ---
159
- title: Project Alpha
160
- date: 2024-01-15
161
- tags:
162
- - project
163
- - active
164
- status: in-progress
165
- ---
166
-
167
- # Project Alpha
168
-
169
- This project aims to [[improve workflow]] using modern techniques.
170
-
171
- > [!important] Key Deadline
172
- > The first milestone is due on ==January 30th==.
173
-
174
- ## Tasks
175
-
176
- - [x] Initial planning
177
- - [ ] Development phase
178
- - [ ] Backend implementation
179
- - [ ] Frontend design
180
-
181
- ## Notes
182
-
183
- The algorithm uses $O(n \log n)$ sorting. See [[Algorithm Notes#Sorting]] for details.
184
-
185
- ![[Architecture Diagram.png|600]]
186
-
187
- Reviewed in [[Meeting Notes 2024-01-10#Decisions]].
188
- ````
189
-
190
- ## References
191
-
192
- - [Obsidian Flavored Markdown](https://help.obsidian.md/obsidian-flavored-markdown)
193
- - [Internal links](https://help.obsidian.md/links)
194
- - [Embed files](https://help.obsidian.md/embeds)
195
- - [Callouts](https://help.obsidian.md/callouts)
196
- - [Properties](https://help.obsidian.md/properties)
@@ -1,58 +0,0 @@
1
- # Callouts Reference
2
-
3
- ## Basic Callout
4
-
5
- ```markdown
6
- > [!note]
7
- > This is a note callout.
8
-
9
- > [!info] Custom Title
10
- > This callout has a custom title.
11
-
12
- > [!tip] Title Only
13
- ```
14
-
15
- ## Foldable Callouts
16
-
17
- ```markdown
18
- > [!faq]- Collapsed by default
19
- > This content is hidden until expanded.
20
-
21
- > [!faq]+ Expanded by default
22
- > This content is visible but can be collapsed.
23
- ```
24
-
25
- ## Nested Callouts
26
-
27
- ```markdown
28
- > [!question] Outer callout
29
- > > [!note] Inner callout
30
- > > Nested content
31
- ```
32
-
33
- ## Supported Callout Types
34
-
35
- | Type | Aliases | Color / Icon |
36
- |------|---------|-------------|
37
- | `note` | - | Blue, pencil |
38
- | `abstract` | `summary`, `tldr` | Teal, clipboard |
39
- | `info` | - | Blue, info |
40
- | `todo` | - | Blue, checkbox |
41
- | `tip` | `hint`, `important` | Cyan, flame |
42
- | `success` | `check`, `done` | Green, checkmark |
43
- | `question` | `help`, `faq` | Yellow, question mark |
44
- | `warning` | `caution`, `attention` | Orange, warning |
45
- | `failure` | `fail`, `missing` | Red, X |
46
- | `danger` | `error` | Red, zap |
47
- | `bug` | - | Red, bug |
48
- | `example` | - | Purple, list |
49
- | `quote` | `cite` | Gray, quote |
50
-
51
- ## Custom Callouts (CSS)
52
-
53
- ```css
54
- .callout[data-callout="custom-type"] {
55
- --callout-color: 255, 0, 0;
56
- --callout-icon: lucide-alert-circle;
57
- }
58
- ```
@@ -1,63 +0,0 @@
1
- # Embeds Reference
2
-
3
- ## Embed Notes
4
-
5
- ```markdown
6
- ![[Note Name]]
7
- ![[Note Name#Heading]]
8
- ![[Note Name#^block-id]]
9
- ```
10
-
11
- ## Embed Images
12
-
13
- ```markdown
14
- ![[image.png]]
15
- ![[image.png|640x480]] Width x Height
16
- ![[image.png|300]] Width only (maintains aspect ratio)
17
- ```
18
-
19
- ## External Images
20
-
21
- ```markdown
22
- ![Alt text](https://example.com/image.png)
23
- ![Alt text|300](https://example.com/image.png)
24
- ```
25
-
26
- ## Embed Audio
27
-
28
- ```markdown
29
- ![[audio.mp3]]
30
- ![[audio.ogg]]
31
- ```
32
-
33
- ## Embed PDF
34
-
35
- ```markdown
36
- ![[document.pdf]]
37
- ![[document.pdf#page=3]]
38
- ![[document.pdf#height=400]]
39
- ```
40
-
41
- ## Embed Lists
42
-
43
- ```markdown
44
- ![[Note#^list-id]]
45
- ```
46
-
47
- Where the list has a block ID:
48
-
49
- ```markdown
50
- - Item 1
51
- - Item 2
52
- - Item 3
53
-
54
- ^list-id
55
- ```
56
-
57
- ## Embed Search Results
58
-
59
- ````markdown
60
- ```query
61
- tag:#project status:done
62
- ```
63
- ````