@jakkrichm/create-nexus-devflow 2.0.1 → 2.0.2
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.
- package/package.json +1 -1
- package/template/.agents/skills/9arm-skills/README.md +3 -3
- package/template/.agents/skills/intelligent-routing/SKILL.md +1 -1
- package/template/.claude/skills/9arm-skills/README.md +3 -3
- package/template/.claude/skills/intelligent-routing/SKILL.md +1 -1
- package/template/.nexus/nexus-devflow.json +1 -1
- package/template/AGENTS.md +3 -3
- package/template/devflow/context/project_index.json +108 -0
- package/template/.agents/skills/check-for-updates/SKILL.md +0 -117
- package/template/.agents/skills/devflow-concept-intake/SKILL.md +0 -150
- package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +0 -4
- package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +0 -60
- package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +0 -47
- package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +0 -51
- package/template/.agents/skills/devflow-wiki/SKILL.md +0 -75
- package/template/.agents/skills/english-to-thai-translator/SKILL.md +0 -125
- package/template/.agents/skills/obsidian-bases/SKILL.md +0 -506
- package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
- package/template/.agents/skills/obsidian-cli/SKILL.md +0 -115
- package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +0 -73
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +0 -51
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +0 -48
- package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +0 -79
- package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +0 -44
- package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +0 -51
- package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +0 -77
- package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +0 -67
- package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +0 -64
- package/template/.agents/skills/obsidian-markdown/SKILL.md +0 -205
- package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +0 -58
- package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +0 -63
- package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +0 -61
- package/template/.agents/skills/prompt-addons/SKILL.md +0 -99
- package/template/.agents/skills/prp-dev-fastapi/SKILL.md +0 -114
- package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +0 -36
- package/template/.agents/skills/prp-dev-odoo/SKILL.md +0 -71
- package/template/.agents/skills/prp-dev-php/SKILL.md +0 -63
- package/template/.agents/skills/prp-sa-ba/SKILL.md +0 -52
- package/template/.agents/skills/red-team-tactics/SKILL.md +0 -199
- package/template/.agents/skills/writing-great-skills/SKILL.md +0 -65
- package/template/.claude/skills/check-for-updates/SKILL.md +0 -117
- package/template/.claude/skills/devflow-concept-intake/SKILL.md +0 -150
- package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +0 -4
- package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +0 -60
- package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +0 -47
- package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +0 -51
- package/template/.claude/skills/devflow-wiki/SKILL.md +0 -75
- package/template/.claude/skills/english-to-thai-translator/SKILL.md +0 -125
- package/template/.claude/skills/obsidian-bases/SKILL.md +0 -506
- package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
- package/template/.claude/skills/obsidian-cli/SKILL.md +0 -115
- package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +0 -73
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +0 -51
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +0 -48
- package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +0 -79
- package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +0 -44
- package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +0 -51
- package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +0 -77
- package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +0 -67
- package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +0 -64
- package/template/.claude/skills/obsidian-markdown/SKILL.md +0 -205
- package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +0 -58
- package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +0 -63
- package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +0 -61
- package/template/.claude/skills/prompt-addons/SKILL.md +0 -99
- package/template/.claude/skills/prp-dev-fastapi/SKILL.md +0 -114
- package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +0 -36
- package/template/.claude/skills/prp-dev-odoo/SKILL.md +0 -71
- package/template/.claude/skills/prp-dev-php/SKILL.md +0 -63
- package/template/.claude/skills/prp-sa-ba/SKILL.md +0 -52
- package/template/.claude/skills/red-team-tactics/SKILL.md +0 -199
- package/template/.claude/skills/writing-great-skills/SKILL.md +0 -65
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# Obsidian Web Clipper JSON Schema
|
|
2
|
-
|
|
3
|
-
The Obsidian Web Clipper imports templates via JSON files.
|
|
4
|
-
|
|
5
|
-
## Root Structure
|
|
6
|
-
|
|
7
|
-
```json
|
|
8
|
-
{
|
|
9
|
-
"schemaVersion": "0.1.0",
|
|
10
|
-
"name": "Template Name",
|
|
11
|
-
"behavior": "create",
|
|
12
|
-
"noteContentFormat": "Markdown content here...",
|
|
13
|
-
"properties": [],
|
|
14
|
-
"triggers": [],
|
|
15
|
-
"noteNameFormat": "{{title}}",
|
|
16
|
-
"path": "Inbox/"
|
|
17
|
-
}
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### Fields
|
|
21
|
-
|
|
22
|
-
* **`schemaVersion`**: Always "0.1.0".
|
|
23
|
-
* **`name`**: The display name of the template in the Clipper.
|
|
24
|
-
* **`behavior`**: How the note is created.
|
|
25
|
-
* `create`: Create a new note.
|
|
26
|
-
* `append-specific`: Append to a specific note (requires `path` to be a full file path).
|
|
27
|
-
* `append-daily`: Append to the daily note.
|
|
28
|
-
* **`noteContentFormat`**: The body of the note.
|
|
29
|
-
* Use `\n` for newlines.
|
|
30
|
-
* Can use all variables (e.g., `{{content}}`, `{{selection}}`).
|
|
31
|
-
* Supports **template logic** (conditionals, loops, variable assignment) as documented in [logic.md](logic.md).
|
|
32
|
-
* **`noteNameFormat`**: The filename pattern (e.g., `{{date}} - {{title}}`).
|
|
33
|
-
* **`path`**: The location to save the note.
|
|
34
|
-
* For `create` behavior: The *folder* to save the note in (e.g., `Clippings/` or `Recipes/`).
|
|
35
|
-
* For `append-specific` behavior: The *full file path* of the note to append to (e.g., `Databases/Recipes.md`).
|
|
36
|
-
* **`triggers`**: Array of strings to automatically select this template.
|
|
37
|
-
* **URL Patterns**: `["https://www.youtube.com/watch"]` (Simple string or Regex).
|
|
38
|
-
* **Schema Types**: `["schema:Recipe"]` (Triggers if the page contains this Schema.org type).
|
|
39
|
-
|
|
40
|
-
## Properties
|
|
41
|
-
|
|
42
|
-
The `properties` array defines the YAML frontmatter of the note.
|
|
43
|
-
|
|
44
|
-
```json
|
|
45
|
-
"properties": [
|
|
46
|
-
{
|
|
47
|
-
"name": "category",
|
|
48
|
-
"value": "Recipes",
|
|
49
|
-
"type": "text"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"name": "published",
|
|
53
|
-
"value": "{{published}}",
|
|
54
|
-
"type": "datetime"
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Property Types
|
|
60
|
-
|
|
61
|
-
* **`text`**: Simple text string.
|
|
62
|
-
* **`multitext`**: List of text strings (for tags/aliases).
|
|
63
|
-
* **`number`**: Numeric value.
|
|
64
|
-
* **`checkbox`**: Boolean true/false.
|
|
65
|
-
* **`date`**: Date string (YYYY-MM-DD).
|
|
66
|
-
* **`datetime`**: Date and time string.
|
|
67
|
-
|
|
68
|
-
### Property Object Structure
|
|
69
|
-
|
|
70
|
-
* **`name`**: The key in the YAML frontmatter.
|
|
71
|
-
* **`value`**: The value to populate. Can contain variables and the same **template logic** (conditionals, loops, variable assignment) as `noteContentFormat`; see [logic.md](logic.md).
|
|
72
|
-
* **`type`**: One of the types listed above.
|
|
73
|
-
|
|
74
|
-
## Template validation
|
|
75
|
-
|
|
76
|
-
The Clipper template editor checks template syntax.
|
|
77
|
-
Invalid logic in `noteContentFormat` or property `value` fields will be reported in the editor; use valid syntax as described in the [Logic](https://help.obsidian.md/web-clipper/logic) documentation.
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Obsidian Web Clipper Template Logic
|
|
2
|
-
|
|
3
|
-
**Official docs:** [Logic - Obsidian Help](https://help.obsidian.md/web-clipper/logic)
|
|
4
|
-
|
|
5
|
-
As of **Obsidian Web Clipper 1.0.0**, templates support logic in `noteContentFormat` and in property `value` fields: conditionals, loops, variable assignment, and fallbacks. This page describes how each works. For authoritative syntax and delimiters, use the official documentation link above.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## When to use logic
|
|
10
|
-
|
|
11
|
-
- **Conditionals:** Show optional sections only when data exists (e.g. nutrition block only if `{{schema:Recipe:nutrition}}` is present).
|
|
12
|
-
- **Variable assignment:** Assign a value once and reuse it in the template to avoid repeating long expressions.
|
|
13
|
-
- **Fallbacks:** Provide a default when a variable is empty so the note still looks correct.
|
|
14
|
-
- **Loops:** Iterate over arrays (ingredients, steps, tags) to format each item; combine with filters for list/table output.
|
|
15
|
-
|
|
16
|
-
Keep simple templates simple; add logic only when it improves the result or avoids broken output for missing data.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Conditionals
|
|
21
|
-
|
|
22
|
-
Conditionals include or exclude blocks based on whether a value exists or meets a condition.
|
|
23
|
-
|
|
24
|
-
- **Comparison operators:** Compare two values (e.g. equals, not equals, greater than, less than). Exact operators are defined in the official Logic page.
|
|
25
|
-
- **Logical operators:** Combine or negate conditions (e.g. and, or, not; or symbol forms like `&&`, `||`, `!`). Use these to build compound conditions.
|
|
26
|
-
- **Truthiness:** Values are evaluated in a JavaScript-like way for conditions. Empty strings, empty arrays, and missing variables are typically falsy; non-empty values are truthy. See the official docs for the full rules.
|
|
27
|
-
- **Typical use:** Wrap optional sections (e.g. author, nutrition, image) in a conditional so they only render when the variable has a value.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Assign a variable
|
|
32
|
-
|
|
33
|
-
You can assign a variable once and reuse it in the same template. Use this to avoid repeating long variable or filter chains (e.g. the same schema path or selector used in multiple places). The assigned variable is available for the rest of the template in that scope. Exact syntax (e.g. assignment block format and scope) is in the official Logic documentation.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Fallbacks
|
|
38
|
-
|
|
39
|
-
Fallbacks supply a default when a variable is empty.
|
|
40
|
-
|
|
41
|
-
- **Default when missing:** Provide a fallback value so the template still produces readable output when the primary variable is empty.
|
|
42
|
-
- **Chaining fallbacks:** You can chain multiple fallbacks (e.g. try variable A, then B, then a literal default). The first non-empty value is used.
|
|
43
|
-
- **With filters:** Fallbacks can be used together with filters. The evaluation order (variable → fallback → filter, or other) is defined in the official docs under "With filters" and "Evaluation order."
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Loops
|
|
48
|
-
|
|
49
|
-
Loops iterate over array values (e.g. ingredients, instructions, tags).
|
|
50
|
-
|
|
51
|
-
- **Loop sources:** The array to iterate over—typically a variable that returns a list (e.g. `{{schema:Recipe:recipeIngredient}}`, `{{schema:Recipe:recipeInstructions}}`).
|
|
52
|
-
- **Loop variables:** Inside the loop you get a variable for the current item; you may also get an index or other loop metadata. Names and behavior are described in the official "Loop variables" and "Accessing array items by index" sections.
|
|
53
|
-
- **Accessing array items by index:** When you need the nth item of an array outside a loop, or need the current index inside a loop, the syntax is defined in the official documentation.
|
|
54
|
-
- **Nested loops:** Loops can be nested when you have arrays of structured data (e.g. steps each with sub-steps).
|
|
55
|
-
- **Combine logic:** Loops and conditionals can be combined (e.g. loop over items and show a subsection only when a field exists, or conditionally include a loop).
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Evaluation order and combining logic
|
|
60
|
-
|
|
61
|
-
The order in which variables, filters, fallbacks, conditionals, and loops are evaluated is defined in the official documentation. When you combine logic (e.g. conditionals inside loops, or variables used in both conditionals and output), follow the official "Evaluation order" and "Combine logic" sections so behavior matches expectations.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Template validation
|
|
66
|
-
|
|
67
|
-
The Obsidian Web Clipper template editor **validates template syntax**. Invalid logic (e.g. malformed conditionals or loops) will be reported in the editor. When generating templates, use only logic constructs and syntax described on the official Logic page so that the template passes validation.
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Obsidian Web Clipper Variables
|
|
2
|
-
|
|
3
|
-
**Official Docs:** [help.obsidian.md/web-clipper/variables](https://help.obsidian.md/web-clipper/variables)
|
|
4
|
-
|
|
5
|
-
## Preset Variables
|
|
6
|
-
Automatically extracted from the page.
|
|
7
|
-
|
|
8
|
-
- `{{content}}`: Main article content (markdown).
|
|
9
|
-
- `{{contentHtml}}`: Main article content (HTML).
|
|
10
|
-
- `{{title}}`: Page title.
|
|
11
|
-
- `{{url}}`: Page URL.
|
|
12
|
-
- `{{author}}`: Author name.
|
|
13
|
-
- `{{date}}`: Current date.
|
|
14
|
-
- `{{published}}`: Publication date (if detected).
|
|
15
|
-
- `{{site}}`: Site name.
|
|
16
|
-
- `{{description}}`: Meta description.
|
|
17
|
-
- `{{highlights}}`: Highlighted text (if any).
|
|
18
|
-
- `{{selection}}`: Selected text.
|
|
19
|
-
- `{{fullHtml}}`: Full page HTML.
|
|
20
|
-
- `{{favicon}}`: Favicon URL.
|
|
21
|
-
- `{{image}}`: Social share image URL.
|
|
22
|
-
- `{{words}}`: Word count.
|
|
23
|
-
- `{{domain}}`: Domain name.
|
|
24
|
-
|
|
25
|
-
## Prompt Variables (AI)
|
|
26
|
-
Use `{{"Your prompt here"}}` to ask the AI Interpreter to extract or summarize info.
|
|
27
|
-
*Requires Interpreter to be enabled.*
|
|
28
|
-
|
|
29
|
-
Examples:
|
|
30
|
-
- `{{"Summarize in 3 bullet points"}}`
|
|
31
|
-
- `{{"Extract the ingredients list"}}`
|
|
32
|
-
- `{{"Translate to English"}}`
|
|
33
|
-
|
|
34
|
-
## Selector Variables
|
|
35
|
-
Extract content using CSS selectors.
|
|
36
|
-
Syntax: `{{selector:css-selector}}` or `{{selector:css-selector?attribute}}`
|
|
37
|
-
|
|
38
|
-
Examples:
|
|
39
|
-
- `{{selector:h1}}`: Text of H1 tag.
|
|
40
|
-
- `{{selector:img.hero?src}}`: Source of image with class 'hero'.
|
|
41
|
-
- `{{selector:.author}}`: Text of element with class 'author'.
|
|
42
|
-
- `{{selectorHtml:body|markdown}}`: Full HTML converted to markdown.
|
|
43
|
-
|
|
44
|
-
## Meta Variables
|
|
45
|
-
Extract data from meta tags.
|
|
46
|
-
Syntax: `{{meta:name}}` or `{{meta:property}}`
|
|
47
|
-
|
|
48
|
-
Examples:
|
|
49
|
-
- `{{meta:description}}`
|
|
50
|
-
- `{{meta:og:title}}`
|
|
51
|
-
|
|
52
|
-
## Schema.org Variables
|
|
53
|
-
Extract structured data.
|
|
54
|
-
Syntax: `{{schema:Property}}` or `{{schema:@Type:Property}}`
|
|
55
|
-
|
|
56
|
-
Examples:
|
|
57
|
-
- `{{schema:Recipe:recipeIngredient}}`
|
|
58
|
-
- `{{schema:author.name}}`
|
|
59
|
-
- `{{schema:Article:headline}}`
|
|
60
|
-
|
|
61
|
-
## Fallbacks
|
|
62
|
-
When a variable is empty, you can supply a default value (fallback).
|
|
63
|
-
Fallbacks can be chained (try variable A, then B, then a literal default) and used with filters.
|
|
64
|
-
For syntax and evaluation order, see [logic.md](logic.md).
|
|
@@ -1,205 +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
|
-
risk: unknown
|
|
5
|
-
source: "https://github.com/kepano/obsidian-skills"
|
|
6
|
-
date_added: "2026-03-21"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Obsidian Flavored Markdown Skill
|
|
10
|
-
|
|
11
|
-
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.
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
|
|
15
|
-
- Use when writing or editing Markdown notes intended for Obsidian.
|
|
16
|
-
- Use when the task involves wikilinks, embeds, callouts, frontmatter properties, or Obsidian-specific syntax.
|
|
17
|
-
- Use when the user wants notes that render correctly inside an Obsidian vault.
|
|
18
|
-
|
|
19
|
-
## Workflow: Creating an Obsidian Note
|
|
20
|
-
|
|
21
|
-
1. **Add frontmatter** with properties (title, tags, aliases) at the top of the file. See [PROPERTIES.md](references/PROPERTIES.md) for all property types.
|
|
22
|
-
2. **Write content** using standard Markdown for structure, plus Obsidian-specific syntax below.
|
|
23
|
-
3. **Link related notes** using wikilinks (`[[Note]]`) for internal vault connections, or standard Markdown links for external URLs.
|
|
24
|
-
4. **Embed content** from other notes, images, or PDFs using the `![[embed]]` syntax. See [EMBEDS.md](references/EMBEDS.md) for all embed types.
|
|
25
|
-
5. **Add callouts** for highlighted information using `> [!type]` syntax. See [CALLOUTS.md](references/CALLOUTS.md) for all callout types.
|
|
26
|
-
6. **Verify** the note renders correctly in Obsidian's reading view.
|
|
27
|
-
|
|
28
|
-
> When choosing between wikilinks and Markdown links: use `[[wikilinks]]` for notes within the vault (Obsidian tracks renames automatically) and plain Markdown links for external URLs only.
|
|
29
|
-
|
|
30
|
-
## Internal Links (Wikilinks)
|
|
31
|
-
|
|
32
|
-
```markdown
|
|
33
|
-
[[Note Name]] Link to note
|
|
34
|
-
[[Note Name|Display Text]] Custom display text
|
|
35
|
-
[[Note Name#Heading]] Link to heading
|
|
36
|
-
[[Note Name#^block-id]] Link to block
|
|
37
|
-
[[#Heading in same note]] Same-note heading link
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Define a block ID by appending `^block-id` to any paragraph:
|
|
41
|
-
|
|
42
|
-
```markdown
|
|
43
|
-
This paragraph can be linked to. ^my-block-id
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
For lists and quotes, place the block ID on a separate line after the block:
|
|
47
|
-
|
|
48
|
-
```markdown
|
|
49
|
-
> A quote block
|
|
50
|
-
|
|
51
|
-
^quote-id
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Embeds
|
|
55
|
-
|
|
56
|
-
Prefix any wikilink with `!` to embed its content inline:
|
|
57
|
-
|
|
58
|
-
```markdown
|
|
59
|
-
![[Note Name]] Embed full note
|
|
60
|
-
![[Note Name#Heading]] Embed section
|
|
61
|
-
![[image.png]] Embed image
|
|
62
|
-
![[image.png|300]] Embed image with width
|
|
63
|
-
![[document.pdf#page=3]] Embed PDF page
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
See [EMBEDS.md](references/EMBEDS.md) for audio, video, search embeds, and external images.
|
|
67
|
-
|
|
68
|
-
## Callouts
|
|
69
|
-
|
|
70
|
-
```markdown
|
|
71
|
-
> [!note]
|
|
72
|
-
> Basic callout.
|
|
73
|
-
|
|
74
|
-
> [!warning] Custom Title
|
|
75
|
-
> Callout with a custom title.
|
|
76
|
-
|
|
77
|
-
> [!faq]- Collapsed by default
|
|
78
|
-
> Foldable callout (- collapsed, + expanded).
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Common types: `note`, `tip`, `warning`, `info`, `example`, `quote`, `bug`, `danger`, `success`, `failure`, `question`, `abstract`, `todo`.
|
|
82
|
-
|
|
83
|
-
See [CALLOUTS.md](references/CALLOUTS.md) for the full list with aliases, nesting, and custom CSS callouts.
|
|
84
|
-
|
|
85
|
-
## Properties (Frontmatter)
|
|
86
|
-
|
|
87
|
-
```yaml
|
|
88
|
-
---
|
|
89
|
-
title: My Note
|
|
90
|
-
date: 2024-01-15
|
|
91
|
-
tags:
|
|
92
|
-
- project
|
|
93
|
-
- active
|
|
94
|
-
aliases:
|
|
95
|
-
- Alternative Name
|
|
96
|
-
cssclasses:
|
|
97
|
-
- custom-class
|
|
98
|
-
---
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Default properties: `tags` (searchable labels), `aliases` (alternative note names for link suggestions), `cssclasses` (CSS classes for styling).
|
|
102
|
-
|
|
103
|
-
See [PROPERTIES.md](references/PROPERTIES.md) for all property types, tag syntax rules, and advanced usage.
|
|
104
|
-
|
|
105
|
-
## Tags
|
|
106
|
-
|
|
107
|
-
```markdown
|
|
108
|
-
#tag Inline tag
|
|
109
|
-
#nested/tag Nested tag with hierarchy
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Tags can contain letters, numbers (not first character), underscores, hyphens, and forward slashes. Tags can also be defined in frontmatter under the `tags` property.
|
|
113
|
-
|
|
114
|
-
## Comments
|
|
115
|
-
|
|
116
|
-
```markdown
|
|
117
|
-
This is visible %%but this is hidden%% text.
|
|
118
|
-
|
|
119
|
-
%%
|
|
120
|
-
This entire block is hidden in reading view.
|
|
121
|
-
%%
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## Obsidian-Specific Formatting
|
|
125
|
-
|
|
126
|
-
```markdown
|
|
127
|
-
==Highlighted text== Highlight syntax
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Math (LaTeX)
|
|
131
|
-
|
|
132
|
-
```markdown
|
|
133
|
-
Inline: $e^{i\pi} + 1 = 0$
|
|
134
|
-
|
|
135
|
-
Block:
|
|
136
|
-
$$
|
|
137
|
-
\frac{a}{b} = c
|
|
138
|
-
$$
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## Diagrams (Mermaid)
|
|
142
|
-
|
|
143
|
-
````markdown
|
|
144
|
-
```mermaid
|
|
145
|
-
graph TD
|
|
146
|
-
A[Start] --> B{Decision}
|
|
147
|
-
B -->|Yes| C[Do this]
|
|
148
|
-
B -->|No| D[Do that]
|
|
149
|
-
```
|
|
150
|
-
````
|
|
151
|
-
|
|
152
|
-
To link Mermaid nodes to Obsidian notes, add `class NodeName internal-link;`.
|
|
153
|
-
|
|
154
|
-
## Footnotes
|
|
155
|
-
|
|
156
|
-
```markdown
|
|
157
|
-
Text with a footnote[^1].
|
|
158
|
-
|
|
159
|
-
[^1]: Footnote content.
|
|
160
|
-
|
|
161
|
-
Inline footnote.^[This is inline.]
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Complete Example
|
|
165
|
-
|
|
166
|
-
````markdown
|
|
167
|
-
---
|
|
168
|
-
title: Project Alpha
|
|
169
|
-
date: 2024-01-15
|
|
170
|
-
tags:
|
|
171
|
-
- project
|
|
172
|
-
- active
|
|
173
|
-
status: in-progress
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
# Project Alpha
|
|
177
|
-
|
|
178
|
-
This project aims to [[improve workflow]] using modern techniques.
|
|
179
|
-
|
|
180
|
-
> [!important] Key Deadline
|
|
181
|
-
> The first milestone is due on ==January 30th==.
|
|
182
|
-
|
|
183
|
-
## Tasks
|
|
184
|
-
|
|
185
|
-
- [x] Initial planning
|
|
186
|
-
- [ ] Development phase
|
|
187
|
-
- [ ] Backend implementation
|
|
188
|
-
- [ ] Frontend design
|
|
189
|
-
|
|
190
|
-
## Notes
|
|
191
|
-
|
|
192
|
-
The algorithm uses $O(n \log n)$ sorting. See [[Algorithm Notes#Sorting]] for details.
|
|
193
|
-
|
|
194
|
-
![[Architecture Diagram.png|600]]
|
|
195
|
-
|
|
196
|
-
Reviewed in [[Meeting Notes 2024-01-10#Decisions]].
|
|
197
|
-
````
|
|
198
|
-
|
|
199
|
-
## References
|
|
200
|
-
|
|
201
|
-
- [Obsidian Flavored Markdown](https://help.obsidian.md/obsidian-flavored-markdown)
|
|
202
|
-
- [Internal links](https://help.obsidian.md/links)
|
|
203
|
-
- [Embed files](https://help.obsidian.md/embeds)
|
|
204
|
-
- [Callouts](https://help.obsidian.md/callouts)
|
|
205
|
-
- [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
|
-

|
|
23
|
-

|
|
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
|
-
````
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Properties (Frontmatter) Reference
|
|
2
|
-
|
|
3
|
-
Properties use YAML frontmatter at the start of a note:
|
|
4
|
-
|
|
5
|
-
```yaml
|
|
6
|
-
---
|
|
7
|
-
title: My Note Title
|
|
8
|
-
date: 2024-01-15
|
|
9
|
-
tags:
|
|
10
|
-
- project
|
|
11
|
-
- important
|
|
12
|
-
aliases:
|
|
13
|
-
- My Note
|
|
14
|
-
- Alternative Name
|
|
15
|
-
cssclasses:
|
|
16
|
-
- custom-class
|
|
17
|
-
status: in-progress
|
|
18
|
-
rating: 4.5
|
|
19
|
-
completed: false
|
|
20
|
-
due: 2024-02-01T14:30:00
|
|
21
|
-
---
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Property Types
|
|
25
|
-
|
|
26
|
-
| Type | Example |
|
|
27
|
-
|------|---------|
|
|
28
|
-
| Text | `title: My Title` |
|
|
29
|
-
| Number | `rating: 4.5` |
|
|
30
|
-
| Checkbox | `completed: true` |
|
|
31
|
-
| Date | `date: 2024-01-15` |
|
|
32
|
-
| Date & Time | `due: 2024-01-15T14:30:00` |
|
|
33
|
-
| List | `tags: [one, two]` or YAML list |
|
|
34
|
-
| Links | `related: "[[Other Note]]"` |
|
|
35
|
-
|
|
36
|
-
## Default Properties
|
|
37
|
-
|
|
38
|
-
- `tags` - Note tags (searchable, shown in graph view)
|
|
39
|
-
- `aliases` - Alternative names for the note (used in link suggestions)
|
|
40
|
-
- `cssclasses` - CSS classes applied to the note in reading/editing view
|
|
41
|
-
|
|
42
|
-
## Tags
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
#tag
|
|
46
|
-
#nested/tag
|
|
47
|
-
#tag-with-dashes
|
|
48
|
-
#tag_with_underscores
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Tags can contain: letters (any language), numbers (not first character), underscores `_`, hyphens `-`, forward slashes `/` (for nesting).
|
|
52
|
-
|
|
53
|
-
In frontmatter:
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
---
|
|
57
|
-
tags:
|
|
58
|
-
- tag1
|
|
59
|
-
- nested/tag2
|
|
60
|
-
---
|
|
61
|
-
```
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: prompt-addons
|
|
3
|
-
description: Routes external prompt families into DevFlow 2.0 workflows, specialist agents, or thin skill aliases. Use when deciding whether a prompt-inspired behavior should become a mainline workflow, a companion command, a reusable skill, or remain legacy-only.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Prompt Addons
|
|
7
|
-
|
|
8
|
-
Use this skill when adapting outside prompt patterns into the DevFlow 2.0 system.
|
|
9
|
-
|
|
10
|
-
## Core Rule
|
|
11
|
-
|
|
12
|
-
Adapt intent, not old output contracts.
|
|
13
|
-
|
|
14
|
-
DevFlow 2.0 uses a stage-based, markdown-first model:
|
|
15
|
-
|
|
16
|
-
1. Mainline workflow stays minimal and ordered
|
|
17
|
-
2. Companion commands exist for non-mainline help
|
|
18
|
-
3. Specialist agents and skills handle reusable methods
|
|
19
|
-
4. JSON-first orchestration is legacy and should not define new architecture
|
|
20
|
-
|
|
21
|
-
## Mainline Routing
|
|
22
|
-
|
|
23
|
-
| Need | Route to |
|
|
24
|
-
| :--- | :--- |
|
|
25
|
-
| Explore problem space | `/00-Discover` |
|
|
26
|
-
| Clarify goal, scope, decisions | `/10-Define` |
|
|
27
|
-
| Lock delivery contract | `/20-Spec` |
|
|
28
|
-
| Break into execution plan | `/30-Plan` |
|
|
29
|
-
| Build the change | `/40-Implement` |
|
|
30
|
-
| Validate quality and evidence | `/50-Verify` |
|
|
31
|
-
| Package release-ready outcome | `/70-Release` |
|
|
32
|
-
| Summarize the full run | `/60-Report` |
|
|
33
|
-
|
|
34
|
-
## Companion Command Routing
|
|
35
|
-
|
|
36
|
-
| Command | Use when | Typical stage pairing |
|
|
37
|
-
| :--- | :--- | :--- |
|
|
38
|
-
| `Brainstorm` | โจทย์ยังไม่นิ่ง ต้องคิดทางเลือกก่อน lock | Discover, Define |
|
|
39
|
-
| `Research` | ต้องหาหลักฐานหรือข้อมูลเพิ่ม | Discover, Define, Spec, Verify |
|
|
40
|
-
| `Debug` | งานผิดปกติ ต้องหา root cause | Implement, Verify |
|
|
41
|
-
| `Preview` | ต้องตรวจชิ้นงานระหว่างทาง | Implement, Verify |
|
|
42
|
-
| `Wiki` | ต้องสกัดความรู้ reusable | Verify, Release, Report |
|
|
43
|
-
| `Help` | ผู้ใช้ไม่แน่ใจว่าจะเริ่มตรงไหน | ก่อนเข้า stage หรือระหว่างทาง |
|
|
44
|
-
|
|
45
|
-
## Classification Rule
|
|
46
|
-
|
|
47
|
-
ก่อนสร้าง workflow ใหม่ ให้จัดประเภทก่อน:
|
|
48
|
-
|
|
49
|
-
1. ถ้า intent เปลี่ยน stage ของงาน ให้ route เข้าสู่ mainline stage ที่มีอยู่
|
|
50
|
-
2. ถ้าเป็นวิธีทำงานที่ใช้ซ้ำหลาย stage ให้เป็น skill
|
|
51
|
-
3. ถ้าเป็นความเชี่ยวชาญเฉพาะด้าน ให้เป็น agent
|
|
52
|
-
4. ถ้าเป็นแค่ตัวช่วยคิดหรือหาหลักฐานระหว่างทาง ให้เป็น companion command
|
|
53
|
-
5. ถ้าอิง dashboard/json orchestration เดิมเป็นหลัก ให้คงไว้เป็น legacy หรือ migration note
|
|
54
|
-
|
|
55
|
-
## Prompt Family Routing
|
|
56
|
-
|
|
57
|
-
| Family | DevFlow 2.0 route | Keep as |
|
|
58
|
-
| :--- | :--- | :--- |
|
|
59
|
-
| Spec | `/10-Define`, `/20-Spec`, `/30-Plan` | workflow + `requirements-engineer` |
|
|
60
|
-
| Complexity | `/10-Define`, `/30-Plan` | workflow content, not standalone mainline |
|
|
61
|
-
| Roadmap | Discover/Define adjacent | skill or optional workflow outside core line |
|
|
62
|
-
| Ideation | `Brainstorm`, `Research` | companion command |
|
|
63
|
-
| Competitor | `Research` during Discover/Define | companion command or research skill |
|
|
64
|
-
| Insight | `Wiki`, `/60-Report` | companion command + report content |
|
|
65
|
-
| Coder | `/40-Implement` | workflow + specialist agents |
|
|
66
|
-
| QA | `/50-Verify` | workflow + QA/test skills |
|
|
67
|
-
| Follow-up | `/10-Define` or `/30-Plan` ของรอบใหม่ | stage reuse, not separate numbered mainline |
|
|
68
|
-
| GitHub review | `/50-Verify`, `/70-Release` | workflow/agent support |
|
|
69
|
-
| MCP tool validation | `/50-Verify` | tool-specific verification skill |
|
|
70
|
-
|
|
71
|
-
## Borderline Rules
|
|
72
|
-
|
|
73
|
-
| Idea | Route | Keep as | Rule |
|
|
74
|
-
| :--- | :--- | :--- | :--- |
|
|
75
|
-
| Validation fixer | `/50-Verify` แล้วค่อยย้อน `/40-Implement` ถ้าต้องแก้โค้ด | thin skill/process note | ให้ verification ชี้ failure ก่อนเสมอ |
|
|
76
|
-
| Documentation ideation | `Brainstorm`, `Wiki`, `/60-Report` | skill-backed support | ไม่ต้องเปิด mainline ใหม่ |
|
|
77
|
-
| Performance ideation | `/50-Verify` หรือ `/40-Implement` เมื่อมีหลักฐาน | specialist skill/agent | ต้องมี measurement |
|
|
78
|
-
| Security ideation | `/50-Verify` หรือ `Debug` เมื่อมี incident symptom | specialist skill/agent | treat as finding-first |
|
|
79
|
-
| Follow-up planning | `/10-Define` -> `/20-Spec` -> `/30-Plan` ของรอบใหม่ | mainline reuse | ไม่แยก workflow หมายเลขใหม่ |
|
|
80
|
-
| Legacy dashboard orchestration | legacy note only | migration-only | ไม่ใช้เป็นแบบตั้งต้นของ DevFlow 2.0 |
|
|
81
|
-
|
|
82
|
-
## Follow-Up Planning
|
|
83
|
-
|
|
84
|
-
เมื่อผู้ใช้ต้องการต่อยอดงานเดิม:
|
|
85
|
-
|
|
86
|
-
1. อ่าน stage artifacts ที่มีอยู่ของ running ID เดิม
|
|
87
|
-
2. ระบุให้ชัดว่าอะไร lock แล้ว และอะไรจะเพิ่มใหม่
|
|
88
|
-
3. เริ่มรอบใหม่จาก `/10-Define` ถ้าโจทย์เปลี่ยน หรือ `/30-Plan` ถ้า spec ยังใช้ได้
|
|
89
|
-
4. ใช้ไฟล์ `.md` ของ stage ใหม่เป็นหลักในการบันทึกบริบท
|
|
90
|
-
|
|
91
|
-
## Output Principle
|
|
92
|
-
|
|
93
|
-
เมื่อ prompt family ถูกแปลงเข้าระบบ:
|
|
94
|
-
|
|
95
|
-
1. อย่า copy contract เดิมเข้ามาตรง ๆ
|
|
96
|
-
2. แปลงให้สอดคล้องกับ numbering rule ของ DevFlow 2.0
|
|
97
|
-
3. อย่าทำให้ผู้ใช้ต้องเดาเลขย้อนกลับ
|
|
98
|
-
4. ให้ mainline มีเฉพาะ state ของงาน
|
|
99
|
-
5. ให้ความสามารถเสริมไปอยู่ใน skill, agent, หรือ companion command ตามความเหมาะสม
|