Mandatory pre-flight. Response Filter
When a practice run produces sample lines, images, or rhymes, run the applicable section of response-filter (§1 rhyme, §2 line, §7 image) before emitting them. NAME each box's pass / fail / skip-with-reason (aloud or in reasoning); correct before emission. Skips are valid; silent skips are not. Prompt-only runs (assigning an exercise) need no filter pass.
Purpose
The habit layer: a daily craft routine and a numbered-exercise index across all four books, so a writer can build and sustain practice. This skill hands out prompts and curricula; the craft skills do the in-the-moment coaching on the output.
Method content is Pat Pattison's, under the plugin-root ../../context/pat-pattison/; a future
author's method plugs in at context/<author>/ without changing this skill, the author seam per
the plugin-root ../../README.md "Method content and the author seam".
Action Router
/songwriting:practice <action> [args]. Parse $ARGUMENTS: first token = action when it matches a listed action, remainder = args; otherwise treat all of $ARGUMENTS as payload for the default.
No action → issue one daily craft prompt immediately (default a 90-second object-writing dive).
| Action | Use when the user asks for | Load |
|---|---|---|
daily (default) |
a daily craft prompt or practice curriculum | daily-practice, templates/object-writing-prompt, templates/metaphor-collision-prompt |
exercise |
a numbered exercise from any of the four books (structural / 56-day / rhyme worksheets) | exercises |
Handlers
- Pre-flight when producing sample output: run the applicable response-filter section; a prompt-only (assign-an-exercise) run needs no filter pass.
- Give one usable prompt or a bounded sequence. Do not assign the full curriculum unless asked.
- Practice output persists per the artifact convention (
songwriting/practice/<YYYY>/<date>.md).
Persistence and template overrides
Write generated files to the paths in
artifact-persistence
"Where generated work persists", and honor a consuming project's own songwriting layout when it
defines one. Daily practice goes to songwriting/practice/<YYYY>/<date>.md.
Before loading any bundled templates/<name>.md, check
${CLAUDE_PROJECT_DIR}/songwriting/templates/pat-pattison/<name>.md first: a project-level
override wins over the bundled skill default, first match, per that file's "Template override".
Related skills
- A single in-session object-writing or metaphor prompt →
/songwriting:object-writing - Rhyme worksheets specifically →
/songwriting:rhyme worksheet