jorgex-stack 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/PRD.md +310 -297
  2. package/README.md +68 -56
  3. package/dist/cli.js +37 -3
  4. package/package.json +1 -1
  5. package/stack/agents/code-simplifier.md +21 -10
  6. package/stack/agents/implementer.md +1 -0
  7. package/stack/agents/orchestrator.md +194 -192
  8. package/stack/agents/security-auditor.md +7 -0
  9. package/stack/agents/silent-failure-hunter.md +7 -0
  10. package/stack/agents/test-analyzer.md +7 -0
  11. package/stack/agents/tester.md +71 -71
  12. package/stack/agents/type-design-analyzer.md +1 -1
  13. package/stack/commands/lean-audit.md +59 -0
  14. package/stack/commands/xreview.md +82 -80
  15. package/stack/hooks/hooks.json +18 -18
  16. package/stack/scripts/post-pr-review.cjs +159 -156
  17. package/stack/skills/diagnose/SKILL.md +117 -117
  18. package/stack/skills/diagnose/scripts/hitl-loop.template.sh +41 -41
  19. package/stack/skills/find-skills/SKILL.md +133 -133
  20. package/stack/skills/lean-code/SKILL.md +69 -0
  21. package/stack/skills/mcp-builder/LICENSE.txt +201 -201
  22. package/stack/skills/mcp-builder/SKILL.md +236 -236
  23. package/stack/skills/mcp-builder/reference/evaluation.md +601 -601
  24. package/stack/skills/mcp-builder/reference/mcp_best_practices.md +249 -249
  25. package/stack/skills/mcp-builder/reference/node_mcp_server.md +969 -969
  26. package/stack/skills/mcp-builder/reference/python_mcp_server.md +718 -718
  27. package/stack/skills/mcp-builder/scripts/connections.py +151 -151
  28. package/stack/skills/mcp-builder/scripts/evaluation.py +373 -373
  29. package/stack/skills/mcp-builder/scripts/example_evaluation.xml +22 -22
  30. package/stack/skills/mcp-builder/scripts/requirements.txt +2 -2
  31. package/stack/skills/obsidian-cli/SKILL.md +106 -106
  32. package/stack/skills/obsidian-markdown/SKILL.md +196 -196
  33. package/stack/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
  34. package/stack/skills/obsidian-markdown/references/EMBEDS.md +63 -63
  35. package/stack/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
  36. package/stack/skills/react-doctor/SKILL.md +19 -19
  37. package/stack/skills/skill-creator/LICENSE.txt +201 -201
  38. package/stack/skills/skill-creator/agents/analyzer.md +274 -274
  39. package/stack/skills/skill-creator/agents/comparator.md +202 -202
  40. package/stack/skills/skill-creator/agents/grader.md +223 -223
  41. package/stack/skills/skill-creator/assets/eval_review.html +146 -146
  42. package/stack/skills/skill-creator/eval-viewer/generate_review.py +471 -471
  43. package/stack/skills/skill-creator/eval-viewer/viewer.html +1325 -1325
  44. package/stack/skills/skill-creator/references/schemas.md +430 -430
  45. package/stack/skills/skill-creator/scripts/aggregate_benchmark.py +401 -401
  46. package/stack/skills/skill-creator/scripts/generate_report.py +326 -326
  47. package/stack/skills/skill-creator/scripts/improve_description.py +248 -248
  48. package/stack/skills/skill-creator/scripts/package_skill.py +136 -136
  49. package/stack/skills/skill-creator/scripts/quick_validate.py +102 -102
  50. package/stack/skills/skill-creator/scripts/run_eval.py +310 -310
  51. package/stack/skills/skill-creator/scripts/run_loop.py +332 -332
  52. package/stack/skills/skill-creator/scripts/utils.py +47 -47
  53. package/stack/skills/supabase/SKILL.md +135 -135
  54. package/stack/skills/supabase/assets/feedback-issue-template.md +17 -17
  55. package/stack/skills/supabase/references/skill-feedback.md +17 -17
  56. package/stack/skills/supabase-postgres-best-practices/SKILL.md +64 -64
  57. package/stack/skills/supabase-postgres-best-practices/references/_contributing.md +170 -170
  58. package/stack/skills/supabase-postgres-best-practices/references/_sections.md +39 -39
  59. package/stack/skills/supabase-postgres-best-practices/references/_template.md +34 -34
  60. package/stack/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -55
  61. package/stack/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -49
  62. package/stack/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -46
  63. package/stack/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -44
  64. package/stack/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -41
  65. package/stack/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -46
  66. package/stack/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -54
  67. package/stack/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -53
  68. package/stack/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -50
  69. package/stack/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -50
  70. package/stack/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -56
  71. package/stack/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -68
  72. package/stack/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -50
  73. package/stack/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -54
  74. package/stack/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -45
  75. package/stack/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -55
  76. package/stack/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -55
  77. package/stack/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -44
  78. package/stack/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -40
  79. package/stack/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -48
  80. package/stack/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -43
  81. package/stack/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -45
  82. package/stack/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -80
  83. package/stack/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -46
  84. package/stack/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -59
  85. package/stack/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -55
  86. package/stack/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -55
  87. package/stack/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -61
  88. package/stack/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -54
  89. package/stack/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -50
  90. package/stack/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -63
  91. package/stack/skills/tdd/SKILL.md +109 -109
  92. package/stack/skills/tdd/deep-modules.md +33 -33
  93. package/stack/skills/tdd/interface-design.md +31 -31
  94. package/stack/skills/tdd/mocking.md +59 -59
  95. package/stack/skills/tdd/refactoring.md +10 -10
  96. package/stack/skills/tdd/tests.md +61 -61
  97. package/stack/skills/to-issues/SKILL.md +83 -83
  98. package/stack/skills/to-prd/SKILL.md +72 -72
  99. package/upstreams.json +96 -96
@@ -1,22 +1,22 @@
1
- <evaluation>
2
- <qa_pair>
3
- <question>Calculate the compound interest on $10,000 invested at 5% annual interest rate, compounded monthly for 3 years. What is the final amount in dollars (rounded to 2 decimal places)?</question>
4
- <answer>11614.72</answer>
5
- </qa_pair>
6
- <qa_pair>
7
- <question>A projectile is launched at a 45-degree angle with an initial velocity of 50 m/s. Calculate the total distance (in meters) it has traveled from the launch point after 2 seconds, assuming g=9.8 m/s². Round to 2 decimal places.</question>
8
- <answer>87.25</answer>
9
- </qa_pair>
10
- <qa_pair>
11
- <question>A sphere has a volume of 500 cubic meters. Calculate its surface area in square meters. Round to 2 decimal places.</question>
12
- <answer>304.65</answer>
13
- </qa_pair>
14
- <qa_pair>
15
- <question>Calculate the population standard deviation of this dataset: [12, 15, 18, 22, 25, 30, 35]. Round to 2 decimal places.</question>
16
- <answer>7.61</answer>
17
- </qa_pair>
18
- <qa_pair>
19
- <question>Calculate the pH of a solution with a hydrogen ion concentration of 3.5 × 10^-5 M. Round to 2 decimal places.</question>
20
- <answer>4.46</answer>
21
- </qa_pair>
22
- </evaluation>
1
+ <evaluation>
2
+ <qa_pair>
3
+ <question>Calculate the compound interest on $10,000 invested at 5% annual interest rate, compounded monthly for 3 years. What is the final amount in dollars (rounded to 2 decimal places)?</question>
4
+ <answer>11614.72</answer>
5
+ </qa_pair>
6
+ <qa_pair>
7
+ <question>A projectile is launched at a 45-degree angle with an initial velocity of 50 m/s. Calculate the total distance (in meters) it has traveled from the launch point after 2 seconds, assuming g=9.8 m/s². Round to 2 decimal places.</question>
8
+ <answer>87.25</answer>
9
+ </qa_pair>
10
+ <qa_pair>
11
+ <question>A sphere has a volume of 500 cubic meters. Calculate its surface area in square meters. Round to 2 decimal places.</question>
12
+ <answer>304.65</answer>
13
+ </qa_pair>
14
+ <qa_pair>
15
+ <question>Calculate the population standard deviation of this dataset: [12, 15, 18, 22, 25, 30, 35]. Round to 2 decimal places.</question>
16
+ <answer>7.61</answer>
17
+ </qa_pair>
18
+ <qa_pair>
19
+ <question>Calculate the pH of a solution with a hydrogen ion concentration of 3.5 × 10^-5 M. Round to 2 decimal places.</question>
20
+ <answer>4.46</answer>
21
+ </qa_pair>
22
+ </evaluation>
@@ -1,2 +1,2 @@
1
- anthropic>=0.39.0
2
- mcp>=1.1.0
1
+ anthropic>=0.39.0
2
+ mcp>=1.1.0
@@ -1,106 +1,106 @@
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
+ ---
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 +1,196 @@
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
+ ---
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)