@orderful/droid 0.6.0 → 0.7.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.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: brain-obsidian
3
+ description: >-
4
+ Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder
5
+ organization. Requires brain skill. Install this to use brain docs with your
6
+ Obsidian vault.
7
+ globs:
8
+ - "**/brain/**/*.md"
9
+ alwaysApply: false
10
+ ---
11
+
12
+ # Brain Obsidian Extension
13
+
14
+ Extends the brain skill with Obsidian-specific features. **This skill overrides brain's default templates and workflows.**
15
+
16
+ ## Requirements
17
+
18
+ - `brain` skill must be installed
19
+ - Set `brain_dir` to your Obsidian vault path in brain skill overrides
20
+
21
+ ## Configuration
22
+
23
+ **Required:** Set vault path in `~/.droid/skills/brain/overrides.yaml`:
24
+
25
+ ```yaml
26
+ brain_dir: ~/path/to/your/vault
27
+ ```
28
+
29
+ **Optional:** Configure folders in `~/.droid/skills/brain-obsidian/overrides.yaml`:
30
+
31
+ | Setting | Default | Description |
32
+ |--------------------|---------------|---------------------------------|
33
+ | `inbox_folder` | `0-Inbox` | Where new docs are created |
34
+ | `archive_folder` | `4-Archives` | Where stale/done docs go |
35
+ | `para_structure` | `false` | Enable full PARA organization |
36
+ | `projects_folder` | `1-Projects` | Active project docs (PARA only) |
37
+ | `areas_folder` | `1-Areas` | Area docs (PARA only) |
38
+ | `resources_folder` | `3-Resources` | Reference material (PARA only) |
39
+
40
+ ## What This Adds
41
+
42
+ | Feature | Description |
43
+ |---------------------|--------------------------------------------|
44
+ | YAML frontmatter | Type, status, dates, project links, tags |
45
+ | Wikilinks | `[[note-name]]` syntax for linking |
46
+ | Folder organization | Inbox + Archive always; full PARA optional |
47
+ | Project linking | Associate brain docs with project files |
48
+
49
+ ## Folder Organization
50
+
51
+ **Always available:**
52
+ - `inbox_folder` - New docs land here
53
+ - `archive_folder` - Stale/completed docs
54
+
55
+ **With `para_structure: true`:**
56
+ ```
57
+ vault/
58
+ ├── {inbox_folder}/ # New docs (default: 0-Inbox)
59
+ ├── {projects_folder}/ # Active project docs (default: 1-Projects)
60
+ ├── {areas_folder}/ # Area docs (default: 2-Areas)
61
+ ├── {resources_folder}/ # Reference material (default: 3-Resources)
62
+ └── {archive_folder}/ # Completed/stale (default: 4-Archives)
63
+ ```
64
+
65
+ ## Overridden Behavior
66
+
67
+ When this skill is installed, **ALL brain operations use Obsidian format**:
68
+
69
+ ### Templates
70
+
71
+ All docs get YAML frontmatter:
72
+
73
+ ```yaml
74
+ ---
75
+ type: plan | research | review | note
76
+ status: exploring | drafting | decided | done
77
+ created: YYYY-MM-DD
78
+ updated: YYYY-MM-DD
79
+ project: "[[project-name]]" # Optional
80
+ tags: [] # Optional
81
+ ---
82
+ ```
83
+
84
+ See `references/templates.md` for full templates.
85
+
86
+ ### File Location
87
+
88
+ Docs are created in your vault's inbox folder:
89
+ - `{brain_dir}/{inbox_folder}/{filename}.md`
90
+
91
+ ### Finalizing
92
+
93
+ When running `/brain done`:
94
+ 1. Updates status to `done` in frontmatter
95
+ 2. Suggests moving to archive (or projects/resources if PARA enabled)
96
+ 3. Confirms before moving
97
+
98
+ ## Commands
99
+
100
+ Same commands as brain skill, but with Obsidian output:
101
+
102
+ | Command | Obsidian Behavior |
103
+ |---------------------------|--------------------------------------------|
104
+ | `/brain plan {topic}` | Creates in inbox with frontmatter |
105
+ | `/brain research {topic}` | Creates in inbox with frontmatter |
106
+ | `/brain review {topic}` | Creates in inbox with frontmatter |
107
+ | `/brain note {text}` | Quick capture to inbox |
108
+ | `/brain done` | Updates status, suggests archive/PARA move |
@@ -0,0 +1,45 @@
1
+ name: brain-obsidian
2
+ description: >-
3
+ Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder
4
+ organization. Requires brain skill. Install this to use brain docs with your
5
+ Obsidian vault.
6
+ version: 0.1.0
7
+ status: beta
8
+ dependencies:
9
+ - brain
10
+ # Optional: project skill enables linking features
11
+ provides_output: false
12
+ config_schema:
13
+ inbox_folder:
14
+ type: string
15
+ description: Folder for new brain docs
16
+ default: "0-Inbox"
17
+ archive_folder:
18
+ type: string
19
+ description: Folder for archived/stale docs
20
+ default: "4-Archives"
21
+ para_structure:
22
+ type: boolean
23
+ description: Enable full PARA folder organization
24
+ default: false
25
+ projects_folder:
26
+ type: string
27
+ description: Folder for active project docs (when para_structure is true)
28
+ default: "1-Projects"
29
+ areas_folder:
30
+ type: string
31
+ description: Folder for area docs (when para_structure is true)
32
+ default: "1-Areas"
33
+ resources_folder:
34
+ type: string
35
+ description: Folder for reference material (when para_structure is true)
36
+ default: "3-Resources"
37
+ examples:
38
+ - title: "Create planning doc in vault"
39
+ code: |
40
+ /brain plan auth refactor
41
+ # Creates in vault's 0-Inbox/ with YAML frontmatter
42
+ - title: "Link to project"
43
+ code: |
44
+ /brain plan feature-x
45
+ # Frontmatter includes project: "[[feature-x]]"
@@ -0,0 +1,144 @@
1
+ # Obsidian Brain Templates
2
+
3
+ Templates with YAML frontmatter and wikilink support.
4
+
5
+ ## Plan Template
6
+
7
+ ```markdown
8
+ ---
9
+ type: plan
10
+ status: exploring
11
+ created: {date}
12
+ updated: {date}
13
+ project: "[[{project}]]"
14
+ tags: []
15
+ ---
16
+
17
+ # {Topic}
18
+
19
+ Planning {brief description}.
20
+
21
+ ## Context
22
+
23
+ What we're solving and why.
24
+
25
+ ## Exploration
26
+
27
+ Options and approaches considered.
28
+
29
+ ## Decision
30
+
31
+ What we chose and why.
32
+
33
+ ## Next Steps
34
+
35
+ - [ ] Action items
36
+ ```
37
+
38
+ ## Research Template
39
+
40
+ ```markdown
41
+ ---
42
+ type: research
43
+ status: exploring
44
+ created: {date}
45
+ updated: {date}
46
+ project: "[[{project}]]"
47
+ tags: []
48
+ ---
49
+
50
+ # {Topic}
51
+
52
+ Researching {brief description}.
53
+
54
+ ## Questions
55
+
56
+ What we're trying to understand.
57
+
58
+ ## Findings
59
+
60
+ What we've learned.
61
+
62
+ ## Summary
63
+
64
+ Key takeaways.
65
+
66
+ ## Related
67
+
68
+ - [[related-note-1]]
69
+ - [[related-note-2]]
70
+ ```
71
+
72
+ ## Review Template
73
+
74
+ ```markdown
75
+ ---
76
+ type: review
77
+ status: exploring
78
+ created: {date}
79
+ updated: {date}
80
+ project: "[[{project}]]"
81
+ tags: []
82
+ ---
83
+
84
+ # {Topic}
85
+
86
+ Reviewing {brief description}.
87
+
88
+ ## Overview
89
+
90
+ What's being reviewed and scope.
91
+
92
+ ## Observations
93
+
94
+ Key findings and notes.
95
+
96
+ ## Recommendations
97
+
98
+ Suggested changes or actions.
99
+
100
+ ## Verdict
101
+
102
+ Overall assessment.
103
+ ```
104
+
105
+ ## Note Template
106
+
107
+ ```markdown
108
+ ---
109
+ type: note
110
+ created: {date}
111
+ tags: []
112
+ ---
113
+
114
+ # {Brief Title}
115
+
116
+ {content}
117
+ ```
118
+
119
+ ## Template Variables
120
+
121
+ | Variable | Description | Example |
122
+ |----------|-------------|---------|
123
+ | `{Topic}` | Doc title from user input | "Auth Refactor" |
124
+ | `{date}` | Current date (YYYY-MM-DD) | "2025-01-15" |
125
+ | `{brief description}` | Context from conversation | "refactoring the authentication system" |
126
+ | `{project}` | Active project name (if any) | "transaction-templates" |
127
+ | `{content}` | User-provided text | (for notes) |
128
+
129
+ ## Frontmatter Fields
130
+
131
+ | Field | Type | Description |
132
+ |-------|------|-------------|
133
+ | `type` | string | Doc type: `plan`, `research`, `review`, `note` |
134
+ | `status` | string | Lifecycle: `exploring`, `drafting`, `decided`, `done`, `stale` |
135
+ | `created` | date | Creation date (YYYY-MM-DD) |
136
+ | `updated` | date | Last modification date |
137
+ | `project` | wikilink | Link to related project: `"[[project-name]]"` |
138
+ | `tags` | list | Tags for filtering: `[tag1, tag2]` |
139
+
140
+ ## Wikilink Conventions
141
+
142
+ - Project links: `[[project-name]]` or `[[1-Projects/project-name/PROJECT]]`
143
+ - Related notes: `[[note-name]]`
144
+ - Use Obsidian's autocomplete to find existing notes
@@ -0,0 +1,192 @@
1
+ # Obsidian Brain Workflows
2
+
3
+ Obsidian-specific procedures that override brain defaults.
4
+
5
+ ## Creating Docs
6
+
7
+ **Overrides:** brain's Creating workflow
8
+
9
+ **Steps:**
10
+
11
+ 1. **Resolve paths from config:**
12
+ - `brain_dir` from brain skill (your vault path)
13
+ - `inbox_folder` from brain-obsidian (default: `0-Inbox`)
14
+
15
+ 2. **Target folder:** `{brain_dir}/{inbox_folder}/`
16
+
17
+ 3. **Generate filename** using brain's naming conventions:
18
+ - Format: `{type}-{topic-slug}.md`
19
+
20
+ 4. **Check for active project:**
21
+ - If `/project` was loaded this session, use its name for `project` field
22
+ - Otherwise, leave `project` field empty or ask user
23
+
24
+ 5. **Apply Obsidian template** from `references/templates.md`:
25
+ - Include YAML frontmatter with all fields
26
+ - Set `created` and `updated` to today
27
+ - Set `status: exploring`
28
+
29
+ 6. **Create the file** in vault
30
+
31
+ 7. **Set as active doc** (same as brain)
32
+
33
+ ## Opening Docs
34
+
35
+ **Overrides:** brain's Opening workflow
36
+
37
+ **Steps:**
38
+
39
+ 1. **Search in brain_dir** (your vault):
40
+ ```
41
+ Glob: {brain_dir}/**/*{topic}*.md
42
+ ```
43
+
44
+ 2. **Rest of workflow same as brain** (fuzzy match, select, read, set active)
45
+
46
+ ## Updating Frontmatter
47
+
48
+ When modifying any brain doc:
49
+
50
+ 1. **Update the `updated` field** to current date
51
+ 2. **Update `status`** if work has progressed
52
+ 3. **Add `project` link** if doc becomes associated with a project
53
+
54
+ ## Finalizing
55
+
56
+ **Overrides:** brain's Finalizing workflow
57
+
58
+ **Steps:**
59
+
60
+ 1. **Read active doc** and current location
61
+
62
+ 2. **Update frontmatter:**
63
+ - Set `status: done`
64
+ - Update `updated` date
65
+
66
+ 3. **Suggest destination based on content and config:**
67
+
68
+ **Without PARA (`para_structure: false`):**
69
+ | Condition | Suggested Destination |
70
+ |-----------|----------------------|
71
+ | Done/stale | `{archive_folder}/` |
72
+ | Still useful in inbox | Keep in place |
73
+
74
+ **With PARA (`para_structure: true`):**
75
+ | Condition | Suggested Destination |
76
+ |-----------|----------------------|
77
+ | Has active project link | `{projects_folder}/` |
78
+ | Ongoing area of responsibility | `{areas_folder}/` |
79
+ | Reference/learning value | `{resources_folder}/` |
80
+ | Stale or obsolete | `{archive_folder}/` |
81
+
82
+ 4. **Confirm move with user** before relocating
83
+
84
+ 5. **Move the file** if confirmed:
85
+ ```bash
86
+ mv "{brain_dir}/{inbox_folder}/{file}" "{brain_dir}/{destination}/{file}"
87
+ ```
88
+
89
+ 6. **Clear active doc** from session
90
+
91
+ ## Quick Notes
92
+
93
+ **Overrides:** brain's Notes workflow
94
+
95
+ **Steps:**
96
+
97
+ 1. **Create in inbox:** `{brain_dir}/{inbox_folder}/note-{date}-{slug}.md`
98
+
99
+ 2. **Use note template** with minimal frontmatter:
100
+ ```yaml
101
+ ---
102
+ type: note
103
+ created: {date}
104
+ tags: []
105
+ ---
106
+ ```
107
+
108
+ 3. **Fire-and-forget** (does not become active)
109
+
110
+ ## Project Integration (Optional)
111
+
112
+ **Requires:** `project` skill. If not installed, suggest:
113
+ > "Linking to projects requires the project skill. Install it with `droid` → Skills → project"
114
+
115
+ When a project is loaded via `/project {name}`:
116
+
117
+ 1. **Remember project name** for session
118
+ 2. **New brain docs** automatically get `project: "[[{name}]]"` in frontmatter
119
+ 3. **Suggest linking** existing brain docs to the project
120
+
121
+ ## Adding Brain Doc to Existing Project
122
+
123
+ **Trigger:** User says "add this to the project", "link this to project", or "capture in project"
124
+
125
+ **Requires:** `project` skill. If not installed, suggest:
126
+ > "Linking to projects requires the project skill. Install it with `droid` → Skills → project"
127
+
128
+ For linking a brain doc (research, notes, design) to an existing project.
129
+
130
+ **Steps:**
131
+
132
+ 1. **Check for active project:**
133
+ - If project loaded via `/project`, use that
134
+ - Otherwise, ask which project to link to
135
+
136
+ 2. **Update brain doc frontmatter:**
137
+ - Add `project: "[[{project-name}]]"`
138
+ - Update status if appropriate
139
+
140
+ 3. **Update project:**
141
+ - Add wikilink in Related section: `[[{brain-doc}]]`
142
+ - Or add to appropriate section (Key Decisions, Implementation, etc.)
143
+
144
+ 4. **Suggest moving brain doc:**
145
+ - With PARA: move to `{projects_folder}/` alongside project
146
+ - Without PARA: keep in place with project link
147
+
148
+ ## Promoting Brain Doc to New Project
149
+
150
+ **Trigger:** User says "promote to project", "make this a project", or "convert to project"
151
+
152
+ **Requires:** `project` skill. If not installed, suggest:
153
+ > "Promoting to project requires the project skill. Install it with `droid` → Skills → project"
154
+
155
+ For graduating a full tech design or plan into its own project.
156
+
157
+ **Steps:**
158
+
159
+ 1. **Confirm promotion:**
160
+ - "This will create a new project from this brain doc. Continue?"
161
+
162
+ 2. **Extract project info from brain doc:**
163
+ - Title → project name
164
+ - Context → project overview
165
+ - Decision/Next Steps → initial tasks
166
+ - Status → project status
167
+
168
+ 3. **Create new project** via project skill:
169
+ - Generate PROJECT.md from brain doc content
170
+ - Create CHANGELOG.md with initial entry
171
+ - Place in projects directory
172
+
173
+ 4. **Update original brain doc:**
174
+ - Add `project: "[[{new-project}]]"` to frontmatter
175
+ - Update status to `done`
176
+ - Add note: "Promoted to project: [[{new-project}]]"
177
+
178
+ 5. **Handle the brain doc:**
179
+ - Option A: Keep as historical reference in `{resources_folder}/`
180
+ - Option B: Archive to `{archive_folder}/`
181
+ - Option C: Delete (content now lives in project)
182
+
183
+ ## Listing Docs
184
+
185
+ **Overrides:** brain's Listing workflow
186
+
187
+ Search in vault:
188
+ ```
189
+ Glob: {brain_dir}/**/*.md
190
+ ```
191
+
192
+ Filter to brain doc types by checking frontmatter for `type: plan|research|review|note`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderful/droid",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "AI workflow toolkit for sharing skills, commands, and agents across the team",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,144 @@
1
+ ---
2
+ name: brain
3
+ description: >-
4
+ Collaborative scratch pad for planning and research. Triggers on phrases like
5
+ "let's use our brain", "let's think through this", or "plan this out" to capture
6
+ AI output into a persistent doc. Create docs with /brain plan, /brain research,
7
+ or /brain review. Use @mentions for async discussion. Docs persist across sessions.
8
+ globs:
9
+ - "**/brain/**/*.md"
10
+ alwaysApply: false
11
+ ---
12
+
13
+ # Brain Skill
14
+
15
+ Scratch pad for planning, research, and design docs that persist across sessions.
16
+
17
+ ## Why Brain Docs?
18
+
19
+ Ideas develop through iteration, not single prompts.
20
+
21
+ - **Thinking space** - Work through problems before committing to code
22
+ - **Async collaboration** - Leave `@mentions` for discussion across sessions (see comments skill for full support)
23
+ - **Persistent context** - Docs survive after chat history disappears
24
+
25
+ ## When to Use
26
+
27
+ - Planning implementation for a feature
28
+ - Researching a problem or technology
29
+ - Design work that benefits from written iteration
30
+ - User says "brain", "let's think through", "plan this out"
31
+ - Optionally, to capture output from plan mode sessions
32
+
33
+ ## When NOT to Use
34
+
35
+ - Quick questions that don't need persistence
36
+ - Tasks with clear implementation path
37
+ - One-off lookups or simple fixes
38
+
39
+ ## Configuration
40
+
41
+ Check `~/.droid/skills/brain/overrides.yaml` for user settings:
42
+
43
+ | Setting | Default | Description |
44
+ |---------|---------|-------------|
45
+ | `brain_dir` | `~/{ai_tool}/brain` | Where docs are stored (varies by AI tool) |
46
+ | `inbox_folder` | (empty) | Optional subfolder for new docs (omit for flat structure) |
47
+
48
+ Default `brain_dir` by AI tool:
49
+ - **claude-code**: `~/.claude/brain`
50
+ - **opencode**: `~/.opencode/brain`
51
+
52
+ ## Core Concepts
53
+
54
+ **Active doc:** Opening or creating a brain doc makes it "active" for the session. Subsequent `/brain add` commands append to it without specifying a path.
55
+
56
+ **Doc types:**
57
+ - `plan` - Structured: Context → Exploration → Decision → Next Steps
58
+ - `research` - Open-ended exploration of a topic
59
+ - `review` - Code review, document review, or any evaluation task
60
+ - `note` - Quick capture (fire-and-forget, doesn't become active)
61
+
62
+ **Comment conventions:** Use `@droid` / `@{user}` markers for async back-and-forth. If droid's `comments` skill is installed, use `/comments check` for full support.
63
+
64
+ **Status lifecycle:** `exploring` → `drafting` → `decided` → `done`
65
+
66
+ ## Commands
67
+
68
+ | Command | Action |
69
+ |---------|--------|
70
+ | `/brain` | List recent docs or create new |
71
+ | `/brain {topic}` | Open existing (fuzzy match) → becomes active |
72
+ | `/brain plan {topic}` | Create planning doc → becomes active |
73
+ | `/brain research {topic}` | Create research doc → becomes active |
74
+ | `/brain review {topic}` | Create review doc → becomes active |
75
+ | `/brain note {text}` | Quick capture (standalone, doesn't become active) |
76
+ | `/brain add {text}` | Append to active doc |
77
+ | `/brain check` | Address @droid comments in active doc |
78
+ | `/brain done` | Finalize active doc, update status |
79
+
80
+ ## Opening a Doc
81
+
82
+ **Trigger:** `/brain {topic}` or user asks to open a brain doc
83
+
84
+ **TLDR:** Fuzzy-match topic against existing docs, read content, set as active.
85
+
86
+ Full procedure: `references/workflows.md` § Opening
87
+
88
+ ## Creating a Doc
89
+
90
+ **Trigger:** `/brain plan {topic}` or `/brain research {topic}`
91
+
92
+ **TLDR:** Create doc from template, set as active, gather initial context.
93
+
94
+ Full procedure: `references/workflows.md` § Creating
95
+ Templates: `references/templates.md`
96
+ Naming: `references/naming.md`
97
+
98
+ ## Quick Notes
99
+
100
+ **Trigger:** `/brain note {text}`
101
+
102
+ **TLDR:** Fire-and-forget capture to inbox. Does not become active doc.
103
+
104
+ Full procedure: `references/workflows.md` § Notes
105
+
106
+ ## Adding Content
107
+
108
+ **Trigger:** `/brain add {text}`
109
+
110
+ **TLDR:** Append text to active doc with timestamp.
111
+
112
+ Full procedure: `references/workflows.md` § Adding
113
+
114
+ ## Checking Comments
115
+
116
+ **Trigger:** `/brain check`
117
+
118
+ **TLDR:** Find `> @droid` comments in active doc, address each one.
119
+
120
+ Full procedure: `references/workflows.md` § Checking
121
+
122
+ ## Finalizing
123
+
124
+ **Trigger:** `/brain done`
125
+
126
+ **TLDR:** Review doc, update status to `done`, suggest next steps.
127
+
128
+ Full procedure: `references/workflows.md` § Finalizing
129
+
130
+ ## Extensions
131
+
132
+ Before creating or modifying brain docs, check if any `brain-*` extension skills are installed:
133
+
134
+ ```
135
+ ~/.claude/skills/brain-*/SKILL.md
136
+ ~/.droid/skills/brain-*/SKILL.md
137
+ ```
138
+
139
+ If found (e.g., `brain-obsidian`), **ALWAYS** use the extension's templates, workflows, and configuration instead of this skill's defaults. Extensions may provide:
140
+ - Alternative template formats (YAML frontmatter, wikilinks)
141
+ - Folder organization (PARA structure)
142
+ - Additional commands or integrations
143
+
144
+ The base brain skill provides simple markdown. Extensions layer on advanced features.
@@ -0,0 +1,31 @@
1
+ name: brain
2
+ description: >-
3
+ Collaborative scratch pad for planning and research. Triggers on phrases like
4
+ "let's use our brain", "let's think through this", or "plan this out" to capture
5
+ AI output into a persistent doc. Create docs with /brain plan, /brain research,
6
+ or /brain review. Use @mentions for async discussion. Docs persist across sessions.
7
+ version: 0.1.0
8
+ status: beta
9
+ dependencies: []
10
+ provides_output: false
11
+ config_schema:
12
+ brain_dir:
13
+ type: string
14
+ description: Directory for brain docs (default varies by AI tool)
15
+ inbox_folder:
16
+ type: string
17
+ description: Subfolder for new docs (empty = flat structure)
18
+ default: ""
19
+ examples:
20
+ - title: "Start a planning doc"
21
+ code: |
22
+ /brain plan auth refactor
23
+ # Creates planning doc, becomes active for session
24
+ - title: "Quick note capture"
25
+ code: |
26
+ /brain note Remember to check rate limits on the API
27
+ # Fire-and-forget to inbox
28
+ - title: "Check for comments"
29
+ code: |
30
+ /brain check
31
+ # Find and address @mentions in active doc
@@ -0,0 +1,7 @@
1
+ # Brain Skill Commands
2
+
3
+ Commands in this folder are installed to `~/.claude/commands/` (or equivalent for other AI tools).
4
+
5
+ ## /brain
6
+
7
+ Main entry point for brain doc management. See `brain.md` for details.