obsidian-dev-skills 1.0.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,210 @@
1
+ <!--
2
+ Source: Based on Obsidian Developer Policies, Theme Guidelines, and official release checklist
3
+ Last synced: See sync-status.json for authoritative sync dates
4
+ Update frequency: Check Obsidian Developer Policies and Theme Guidelines for updates
5
+ -->
6
+
7
+ # Release Readiness Checklist
8
+
9
+ This document provides a comprehensive checklist to verify your theme is ready for release to the Obsidian community. Use this when preparing a release or when asked "is my theme ready for release?"
10
+
11
+ **For AI Agents**: When a user asks about release readiness, run through this checklist systematically. Perform automated checks where possible, and ask the user interactively for items that require their input.
12
+
13
+ ## Quick Reference
14
+
15
+ - **Developer Policies**: [Developer Policies](https://docs.obsidian.md/Developer+policies)
16
+ - **Theme Guidelines**: [Theme Guidelines](https://docs.obsidian.md/Themes/Releasing/Theme+guidelines)
17
+ - **Release Process**: See [versioning-releases.md](versioning-releases.md)
18
+
19
+ ## Automated Checks (AI Can Verify)
20
+
21
+ These checks can be performed automatically by reading files and scanning code:
22
+
23
+ ### File Requirements
24
+
25
+ - [ ] **`theme.css`** exists in project root (or compiled from SCSS/Sass)
26
+ - For themes with build tools: Check that `theme.css` is generated correctly
27
+ - For simple themes: Check that `theme.css` exists and is valid CSS
28
+ - [ ] **`manifest.json`** exists in project root with valid JSON structure
29
+ - [ ] **`LICENSE`** file exists in project root
30
+ - [ ] **`README.md`** exists in project root
31
+
32
+ ### Manifest Validation
33
+
34
+ - [ ] **Required fields present**: `name`, `version`, `minAppVersion`, `description`, `author`
35
+ - [ ] **`name` format**: Should match the theme's display name
36
+ - [ ] **`version` format**: Semantic Versioning (x.y.z, e.g., `"1.0.0"`)
37
+ - [ ] **`minAppVersion`**: Set appropriately for CSS features used
38
+ - [ ] **Optional fields** (if applicable): `authorUrl`, `fundingUrl`
39
+ - [ ] **JSON syntax**: Valid JSON (proper quotes, commas, brackets)
40
+
41
+ ### Version Consistency
42
+
43
+ - [ ] **GitHub release tag**: Matches `manifest.json` version exactly (no "v" prefix)
44
+ - If checking before release: Verify version format is ready
45
+ - If checking after release: Verify tag matches manifest version
46
+
47
+ ### CSS Quality Checks
48
+
49
+ - [ ] **Valid CSS syntax**: No syntax errors in `theme.css`
50
+ - [ ] **No tracking or analytics**: No external tracking scripts, analytics, or telemetry in CSS
51
+ - [ ] **No remote resources**: No `@import` statements loading external stylesheets (unless explicitly disclosed)
52
+ - [ ] **Browser compatibility**: CSS features used are compatible with Obsidian's browser targets (Chrome and iOS Safari)
53
+ - [ ] **No obfuscated code**: CSS is readable and not minified/obfuscated (unless using build tools that minify for production)
54
+
55
+ ### README.md Content
56
+
57
+ - [ ] **File exists**: `README.md` present in root
58
+ - [ ] **Describes purpose**: Clear description of what the theme does and its design philosophy
59
+ - [ ] **Usage instructions**: How to install and use the theme
60
+ - [ ] **Screenshots**: Visual examples of the theme (recommended)
61
+ - [ ] **Attribution**: If using third-party code or design elements, proper attribution included
62
+
63
+ ### LICENSE File
64
+
65
+ - [ ] **File exists**: `LICENSE` file present in root
66
+ - [ ] **License specified**: Clear license type (MIT, GPL, etc.)
67
+ - [ ] **Third-party compliance**: If using code or design elements from other themes, verify license compatibility and attribution
68
+
69
+ ## Interactive Checks (AI Asks User)
70
+
71
+ These checks require user input or confirmation:
72
+
73
+ ### Platform Testing
74
+
75
+ - [ ] **Windows**: Theme tested and working on Windows
76
+ - [ ] **macOS**: Theme tested and working on macOS
77
+ - [ ] **Linux**: Theme tested and working on Linux
78
+ - [ ] **Android**: Theme tested and working on Android (if applicable)
79
+ - [ ] **iOS**: Theme tested and working on iOS (if applicable)
80
+
81
+ **Note**: If user doesn't have access to all platforms, they should test on available platforms and note limitations.
82
+
83
+ ### Theme-Specific Testing
84
+
85
+ - [ ] **Dark mode**: Theme includes dark mode styles and they work correctly
86
+ - [ ] **Light mode**: Theme includes light mode styles and they work correctly (or theme is dark-only and this is documented)
87
+ - [ ] **Mode switching**: Theme correctly switches between dark and light modes
88
+ - [ ] **All Obsidian views**: Theme tested in:
89
+ - [ ] Editor (Live Preview, Source Mode, Reading Mode)
90
+ - [ ] File explorer
91
+ - [ ] Settings pages
92
+ - [ ] Command palette
93
+ - [ ] Graph view
94
+ - [ ] Canvas view (if applicable)
95
+ - [ ] Other views used by the theme
96
+
97
+ ### GitHub Release
98
+
99
+ - [ ] **Release created**: GitHub release exists for the version
100
+ - [ ] **Required files attached**: `theme.css` and `manifest.json` attached as **individual binary assets** (not just in source.zip)
101
+ - [ ] **Release name matches version**: Release name/tag exactly matches `manifest.json` version (no "v" prefix)
102
+
103
+ ### Community Theme Registration
104
+
105
+ - [ ] **`manifest.json` name matches `community-css-themes.json`**: The `name` in your `manifest.json` matches the `name` in the `community-css-themes.json` file (for themes already in the community catalog)
106
+
107
+ ### Documentation Quality
108
+
109
+ - [ ] **README.md describes purpose**: Clear explanation of what the theme does and its design philosophy
110
+ - [ ] **README.md provides usage instructions**: Step-by-step guide on how to install and use the theme
111
+ - [ ] **Screenshots included**: Visual examples showing the theme in use (highly recommended)
112
+
113
+ ### Developer Policies Adherence
114
+
115
+ - [ ] **Read Developer Policies**: User confirms they have read [Developer Policies](https://docs.obsidian.md/Developer+policies)
116
+ - [ ] **No prohibited features**:
117
+ - [ ] No tracking or analytics
118
+ - [ ] No remote code execution
119
+ - [ ] No self-updating mechanisms
120
+ - [ ] **Mandatory disclosures** (if applicable):
121
+ - [ ] Remote resources: Disclosed in README if using `@import` for external stylesheets
122
+ - [ ] Network usage: Disclosed in README and settings (if any)
123
+ - [ ] **Licensing**: LICENSE file present and compliant with any third-party code/licenses
124
+
125
+ ### Theme Guidelines Adherence
126
+
127
+ - [ ] **Read Theme Guidelines**: User confirms they have read [Theme Guidelines](https://docs.obsidian.md/Themes/Releasing/Theme+guidelines)
128
+ - [ ] **CSS organization**: CSS is well-organized (logical structure, comments where helpful)
129
+ - [ ] **Browser compatibility**: CSS features are compatible with Obsidian's browser targets
130
+ - [ ] **Performance**: Theme doesn't cause significant performance issues
131
+ - [ ] **Accessibility**: Theme maintains reasonable contrast ratios and readability
132
+
133
+ ### Third-Party Code
134
+
135
+ - [ ] **License compliance**: All third-party code/licenses are compatible with your theme's license
136
+ - [ ] **Attribution**: Proper attribution given in README.md for any code or design elements from other themes/projects
137
+ - [ ] **License compatibility**: Your theme's license is compatible with any third-party code used
138
+
139
+ ## Developer Policies Summary
140
+
141
+ For reference, key points from [Developer Policies](https://docs.obsidian.md/Developer+policies):
142
+
143
+ ### Prohibited
144
+
145
+ - **Tracking or analytics**: No tracking scripts, analytics, or telemetry
146
+ - **Remote code execution**: No fetching and executing remote scripts
147
+ - **Self-updating**: No automatic code updates outside normal releases
148
+
149
+ ### Mandatory Disclosures
150
+
151
+ If your theme requires any of the following, you **must** disclose it clearly:
152
+ - Remote resources (external stylesheets via `@import`)
153
+ - Network usage (if any)
154
+
155
+ ### Licensing
156
+
157
+ - Include a LICENSE file
158
+ - Respect licenses of any third-party code or design elements used
159
+ - Provide proper attribution for third-party code or design elements
160
+
161
+ ## Theme Guidelines Summary
162
+
163
+ For reference, key points from [Theme Guidelines](https://docs.obsidian.md/Themes/Releasing/Theme+guidelines):
164
+
165
+ - **CSS organization**: Organize CSS into logical sections
166
+ - **Browser compatibility**: Ensure CSS features work in Obsidian's browser targets (Chrome and iOS Safari)
167
+ - **Performance**: Avoid CSS that causes performance issues
168
+ - **Testing**: Test on all applicable platforms and in all Obsidian views
169
+ - **Documentation**: Include clear README with screenshots
170
+
171
+ ## AI Agent Workflow
172
+
173
+ When user asks "is my theme ready for release?" or similar:
174
+
175
+ 1. **Run automated checks**:
176
+ - Check file existence (`theme.css`, `manifest.json`, `LICENSE`, `README.md`)
177
+ - Validate `manifest.json` structure and required fields
178
+ - Check version format and consistency
179
+ - Scan CSS for prohibited patterns (tracking, remote imports, etc.)
180
+ - Verify README.md has basic content
181
+
182
+ 2. **Present interactive checklist**:
183
+ - Ask about platform testing (Windows, macOS, Linux, Android, iOS)
184
+ - Ask about theme-specific testing (dark/light mode, all Obsidian views)
185
+ - Ask about GitHub release status and file attachments
186
+ - Ask about community-css-themes.json name matching (if applicable)
187
+ - Ask about README.md quality (purpose, usage instructions, screenshots)
188
+ - Ask about Developer Policies adherence
189
+ - Ask about Theme Guidelines adherence
190
+ - Ask about third-party code license compliance and attribution
191
+
192
+ 3. **Report results**:
193
+ - Show pass/fail/warning status for each item
194
+ - Provide actionable guidance for any failures
195
+ - Summarize overall readiness status
196
+
197
+ 4. **Provide next steps**:
198
+ - If ready: Guide user through release process (see [versioning-releases.md](versioning-releases.md))
199
+ - If not ready: List specific items to address before release
200
+
201
+ ## Related Documentation
202
+
203
+ - [versioning-releases.md](versioning-releases.md) - Release process and versioning
204
+ - [security-privacy.md](security-privacy.md) - Security and privacy guidelines
205
+ - [manifest.md](manifest.md) - Manifest requirements and validation
206
+ - [testing.md](testing.md) - Testing procedures and platform testing
207
+ - [ux-copy.md](ux-copy.md) - UI text conventions (for theme names and descriptions)
208
+ - [build-workflow.md](build-workflow.md) - Build commands (if using build tools)
209
+ - [performance.md](performance.md) - Performance optimization best practices
210
+
@@ -0,0 +1,61 @@
1
+ <!--
2
+ Source: Based on Obsidian Developer Policies and Guidelines
3
+ Last synced: See sync-status.json for authoritative sync dates
4
+ Update frequency: Check Obsidian Developer Policies for updates
5
+ -->
6
+
7
+ # Security, privacy, and compliance
8
+
9
+ Follow Obsidian's **Developer Policies** (https://docs.obsidian.md/Developer+policies) and **Theme Guidelines** (https://docs.obsidian.md/Themes/Releasing/Theme+guidelines). See [release-readiness.md](release-readiness.md) for a comprehensive release checklist.
10
+
11
+ ## Developer Policies Requirements
12
+
13
+ ### Prohibited Practices
14
+
15
+ - **Code obfuscation**: CSS must be readable and not minified/obfuscated
16
+ - **Dynamic ads**: No dynamic advertising
17
+ - **Client-side telemetry**: No hidden telemetry. If you collect optional analytics, require explicit opt-in and document clearly in `README.md`
18
+ - **Self-updating mechanisms**: No automatic code updates outside of normal releases. Never execute remote code, fetch and eval scripts, or auto-update code
19
+
20
+ ### Mandatory Disclosures
21
+
22
+ If your theme requires any of the following, you **must** disclose it clearly in `README.md`:
23
+
24
+ - **Payments or subscriptions**: Clearly state if the theme requires payment
25
+ - **User accounts**: Disclose if user accounts are required
26
+ - **Network usage**: Disclose any API calls, external services, or network requests
27
+ - **Files outside vault**: Disclose if the theme accesses files outside the Obsidian vault (rare for themes, but applicable if using any external resources)
28
+
29
+ ### Privacy and Security
30
+
31
+ - Default to local/offline operation. Only make network requests when essential to the feature.
32
+ - Minimize scope: read/write only what's necessary inside the vault. Do not access files outside the vault.
33
+ - Clearly disclose any external services used, data sent, and risks.
34
+ - Respect user privacy. Do not collect vault contents, filenames, or personal information unless absolutely necessary and explicitly consented.
35
+ - Avoid deceptive patterns, ads, or spammy notifications.
36
+
37
+ ### Licensing
38
+
39
+ - Include a LICENSE file in your project root
40
+ - Respect licenses of any third-party code used
41
+ - Provide proper attribution for third-party code in `README.md`
42
+ - Ensure license compatibility between your theme's license and any third-party code licenses
43
+
44
+ ## Theme Guidelines
45
+
46
+ - **CSS organization**: Organize CSS/SCSS into logical files/folders
47
+ - **CSS variables**: Use consistent naming conventions for CSS variables
48
+ - **Security**: Themes are CSS-only and have minimal security surface area
49
+
50
+ ## Implementation
51
+
52
+ Themes are CSS-only and have minimal security surface area, but still follow privacy guidelines for any optional features.
53
+
54
+ ## Related Documentation
55
+
56
+ - [release-readiness.md](release-readiness.md) - Comprehensive release checklist including policy adherence
57
+ - [manifest.md](manifest.md) - Manifest requirements (includes security-related fields)
58
+ - [Developer Policies](https://docs.obsidian.md/Developer+policies) - Official Obsidian Developer Policies
59
+ - [Theme Guidelines](https://docs.obsidian.md/Themes/Releasing/Theme+guidelines) - Official Theme Guidelines
60
+
61
+
@@ -0,0 +1,153 @@
1
+ <!--
2
+ Source: Project-specific workflow
3
+ Last synced: See sync-status.json for authoritative sync dates
4
+ Update frequency: Update as workflow evolves
5
+ -->
6
+
7
+ # Summarize Commands
8
+
9
+ When the user requests "Summarize" or "Summarize for release", use these workflows to generate commit messages or release notes.
10
+
11
+ ## "Summarize" Command
12
+
13
+ **Purpose**: Generate a succinct git commit message based on all changed files.
14
+
15
+ **Workflow**:
16
+
17
+ 1. **Get all changed files**:
18
+ ```bash
19
+ git status
20
+ git diff --cached # For staged changes
21
+ git diff # For unstaged changes
22
+ ```
23
+
24
+ 2. **Read and analyze all changed files**:
25
+ - Look at the actual file contents, not just the chat history
26
+ - Understand what changed across all files
27
+ - Get the overall picture of the changes
28
+
29
+ 3. **Generate commit message** in this format:
30
+ ```
31
+ [Summary of changes]
32
+ - [more detailed item 1]
33
+ - [more detailed item 2]
34
+ - [more detailed item 3]
35
+ ```
36
+
37
+ 4. **Present as a code block** so the user can easily copy it:
38
+ ````
39
+ ```
40
+ [Summary of changes]
41
+ - [more detailed item 1]
42
+ - [more detailed item 2]
43
+ ```
44
+ ````
45
+
46
+ **Important**:
47
+ - Look at actual file changes, not just chat context
48
+ - Be succinct but descriptive
49
+ - Focus on what changed, not how it was changed
50
+ - Use present tense (e.g., "Add feature" not "Added feature")
51
+ - Group related changes together
52
+
53
+ **Example**:
54
+ ```
55
+ Reorganize agent instructions into structured directory
56
+ - Split AGENTS.md into topic-based files in .agents/
57
+ - Add build workflow documentation
58
+ - Update ref-instructions with symlink strategy
59
+ - Add summarize command workflows
60
+ ```
61
+
62
+ ## "Summarize for Release" Command
63
+
64
+ **Purpose**: Generate markdown-formatted release notes for a GitHub release.
65
+
66
+ **Workflow**:
67
+
68
+ 1. **Check the version**:
69
+ ```bash
70
+ # Check manifest.json for version
71
+ # Or check package.json
72
+ # Or ask the user if version is unclear
73
+ ```
74
+
75
+ 2. **Get all changes since last release**:
76
+ ```bash
77
+ git log --oneline # See recent commits
78
+ git diff <last-release-tag>..HEAD # See all changes
79
+ ```
80
+
81
+ 3. **Read and analyze all changed files**:
82
+ - Look at actual file contents and changes
83
+ - Understand the full scope of changes
84
+ - Categorize changes by type (Features, Fixes, Improvements, etc.)
85
+
86
+ 4. **Generate release notes** in markdown format:
87
+ ```markdown
88
+ ### Features
89
+ - [Feature description 1]
90
+ - [Feature description 2]
91
+
92
+ ### Fixes
93
+ - [Fix description 1]
94
+ - [Fix description 2]
95
+
96
+ ### Improvements
97
+ - [Improvement description 1]
98
+ ```
99
+
100
+ 5. **Present as a code block** with the version clearly indicated:
101
+ ````
102
+ ```markdown
103
+ ## Version X.Y.Z
104
+
105
+ ### Features
106
+ - [Feature description 1]
107
+ - [Feature description 2]
108
+
109
+ ### Fixes
110
+ - [Fix description 1]
111
+
112
+ ### Improvements
113
+ - [Improvement description 1]
114
+ ```
115
+ ````
116
+
117
+ **Important**:
118
+ - Start with `###` headings (third-level markdown)
119
+ - Use bullet points under each heading
120
+ - Be succinct and punchy
121
+ - Focus on user-facing changes
122
+ - Group logically (Features, Fixes, Breaking Changes, Improvements, etc.)
123
+ - Include version number at the top
124
+ - Look at actual changes, not just chat history
125
+
126
+ **Example**:
127
+ ```markdown
128
+ ## Version 1.2.0
129
+
130
+ ### Features
131
+ - Add structured .agents directory for better organization
132
+ - Implement symlink strategy for reference repositories
133
+ - Add build workflow automation
134
+
135
+ ### Improvements
136
+ - Reorganize documentation into topic-based files
137
+ - Update ref-instructions with Windows symlink guide
138
+ - Add summarize command workflows
139
+
140
+ ### Fixes
141
+ - Fix build command execution order
142
+ - Update documentation paths
143
+ ```
144
+
145
+ ## Tips for Better Summaries
146
+
147
+ - **Read the files**: Don't rely solely on chat history - actually read the changed files
148
+ - **Understand context**: Look at related files to understand the full picture
149
+ - **Be specific**: "Add build workflow" is better than "Update docs"
150
+ - **Group logically**: Related changes should be grouped together
151
+ - **User perspective**: Focus on what users/developers will notice
152
+ - **Version awareness**: For releases, always check and include the version number
153
+