Commit 6d21ccb
Add Claude configuration for training materials development (#681)
* Add Claude configuration for training materials development
This commit adds comprehensive Claude AI assistant configuration to help
future materials developers create and maintain Nextflow training content.
Configuration includes:
- .clinerules: Core conventions for Nextflow scripts, markdown docs, and repo structure
- README.md: Developer guide explaining available tools and workflow
- Custom slash commands for common tasks:
- Content creation: /new-module, /new-lesson, /add-exercise
- Quality assurance: /validate, /review-lesson, /test-example
- Development workflow: /preview, /update-nav, /find-todos
These configurations encode best practices from CONTRIBUTING.md and
patterns observed throughout the existing training materials.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Add stop-preview command and improve preview command
- Add /stop-preview command to stop running MkDocs preview servers
- Remove -it flags from preview Docker command to fix background execution
- Add note about initial build time for multiple languages
- Reference /stop-preview command in preview documentation
- Improve structure and clarity of preview command options
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Prettier
* Refactor Claude config: Convert validation tasks to skills
Based on feedback, this commit refines the Claude configuration to better
separate concerns between commands (interactive, template-based) and
skills (autonomous, multi-step).
Changes:
- Converted to skills: validate, test-example, find-todos
(These are autonomous tasks requiring search, analysis, and reporting)
- Kept as commands: new-lesson, new-module, add-exercise, review-lesson
(These are interactive, template-based tasks requiring user input)
- Removed: preview, update-nav (too simple to warrant commands/skills)
- Updated README with clear rationale for commands vs skills design decisions
- Added UserPromptSubmit hook to run heading validation automatically
Skills are better for validation/testing as they can work autonomously
across multiple files and make decisions. Commands are better for content
creation where the expanded template prompt is valuable to see.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Add back /preview command for starting Docker preview server
Restores the /preview command from initial commit that starts the MkDocs
preview server. Includes Docker and Python options with troubleshooting tips.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Improve /preview command to check for running servers
Add check for existing Docker containers before attempting to start
a new preview server. This prevents "port already allocated" errors
when a server is already running.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Prettier
* Fix markdown list indentation in .clinerules
Corrects list indentation to use 4 spaces (multiple of 4) as required
by the heading validation script. The hook caught these issues!
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Fix spacing again
* Remove invalid 'tags' field from stop-preview command frontmatter
Only 'description' is valid in command frontmatter. Removed the 'tags'
field as noted in review feedback.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Fix spacing again
* Add CLAUDE.md for project context
CLAUDE.md is automatically pulled into context by Claude Code, providing:
- Quick facts about the training repository
- Common commands and workflows
- Repository structure and conventions
- Gotchas and important warnings
- Testing and validation procedures
This is distinct from .clinerules (behavior rules) and .claude/README.md
(documentation about the Claude configuration).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Fix Claude skills implementation
Skills were incorrectly named and missing required YAML frontmatter:
- Rename skill.md → SKILL.md (required naming convention)
- Add YAML frontmatter with name and description fields
- Update README to clarify skills are model-invoked, not user-invoked
Skills are now properly configured to be automatically invoked by
Claude when relevant, rather than requiring manual activation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Fix CLAUDE.md reference to skill invocation
Update outdated @Validate syntax to clarify that skills are
automatically invoked by Claude when relevant, not manually
triggered with @ prefix.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Consolidate validation: merge review-lesson into validate skill
Changes:
- Remove /review-lesson slash command
- Merge lesson review checklist into validate skill
- Validate skill now handles both automated checks and deep reviews
- Update README to reflect new organization
Rationale: review-lesson was functionally a skill (autonomous,
multi-step validation) but implemented as a slash command. This
consolidates all validation and review functionality into a single
skill that activates automatically when relevant.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Strengthen validate skill description to match 'review' queries
Add 'reviewing' explicitly to trigger phrases so the skill activates
when users say "review this lesson" not just "validate".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Prettier
* Remove obsolete .clinerules file
The .clinerules file was for Cline (a different AI coding tool).
Claude Code uses CLAUDE.md in the repo root instead. All conventions
from .clinerules are already documented in CLAUDE.md, making this
file redundant.
Update .claude/README.md to reference CLAUDE.md instead.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Prettier
* Document before/after tabbed comparison pattern
Add documentation for the before/after tabbed block pattern used in
debugging side quest to both CLAUDE.md and /new-lesson command.
This pattern uses === "After" / === "Before" tabs with hl_lines and
linenums to clearly show code fixes, making it easier to understand
what changed and why.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Prettier
* Prettier
---------
Co-authored-by: Claude <[email protected]>1 parent 718ff42 commit 6d21ccb
File tree
10 files changed
+1120
-0
lines changed- .claude
- commands
- skills
- find-todos
- test-example
- validate
10 files changed
+1120
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
0 commit comments