diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-10 00:18:05 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-10 00:18:05 -0500 |
| commit | 891e1ab36aa01358bcd86026450f5a645c4eae11 (patch) | |
| tree | 17fb0f44cbaed5d9197670df6626b3a28ad0f7e4 /claude-templates | |
| parent | 358e350299346e88fd57f923ef27ec79b7bd8728 (diff) | |
| download | rulesets-891e1ab36aa01358bcd86026450f5a645c4eae11.tar.gz rulesets-891e1ab36aa01358bcd86026450f5a645c4eae11.zip | |
docs(create-workflow): document the supporting-document convention
A workflow that outgrows its inline content stores the overflow in a sibling <workflow>.<suffix>.org, linked inline. This reuses the engine.plugin dot-glob, so the drift-check and discovery glob already treat the file as owned rather than an orphan. It also travels with the workflow on promotion. I extended the INDEX drift-check note to name supporting docs alongside source plugins.
Diffstat (limited to 'claude-templates')
| -rw-r--r-- | claude-templates/.ai/workflows/INDEX.org | 2 | ||||
| -rw-r--r-- | claude-templates/.ai/workflows/create-workflow.org | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/claude-templates/.ai/workflows/INDEX.org b/claude-templates/.ai/workflows/INDEX.org index 1d520e2..c03c92f 100644 --- a/claude-templates/.ai/workflows/INDEX.org +++ b/claude-templates/.ai/workflows/INDEX.org @@ -8,7 +8,7 @@ Single-source catalog of every workflow in this directory, with the trigger phra * Drift Check -This index must list every =.org= file in =.ai/workflows/= except this one and except *source plugins*. A source plugin is any file matching =<indexed-workflow>.*.org= (a second dot-segment after an indexed engine name, e.g. =triage-intake.personal-gmail.org=) — it belongs to its engine, is not independently triggerable, and gets no entry of its own. Startup verifies the index matches the directory and flags drift (missing entries or stale entries pointing at deleted files), treating plugins as owned by their engine rather than as orphans. +This index must list every =.org= file in =.ai/workflows/= except this one and except files with a second dot-segment after an indexed workflow name — =<indexed-workflow>.*.org=. Two kinds live in that namespace and neither is indexed: *source plugins* (an adapter belonging to an engine, e.g. =triage-intake.personal-gmail.org=) and *supporting documents* (extracted reference content for a workflow, e.g. =meeting-prep.pre-wire.org=). Both belong to their owning workflow, are not independently triggerable, and get no entry of their own. Startup verifies the index matches the directory and flags drift (missing entries or stale entries pointing at deleted files), treating these dotted files as owned by their workflow rather than as orphans. * Catalog diff --git a/claude-templates/.ai/workflows/create-workflow.org b/claude-templates/.ai/workflows/create-workflow.org index e6587c8..6060df1 100644 --- a/claude-templates/.ai/workflows/create-workflow.org +++ b/claude-templates/.ai/workflows/create-workflow.org @@ -223,6 +223,14 @@ Write the workflow file at =.ai/workflows/[name].org= using this structure: - Include decision frameworks for common situations - Note that this is a living document +*** Supporting documents + +When a workflow needs more supporting content than fits inline (a condensed method that has a fuller reference version, an extracted procedure, a long reference table), store it in a sibling file named after the workflow with a descriptive suffix — =<workflow>.<suffix>.org= — and link it inline as part of the sentence, not as a bare "see X" footnote. + +This reuses the dot-delimited =engine.plugin.org= convention: the startup =.ai/= rsync, the INDEX.org drift-check, and the workflow-discovery glob already recognize a dotted name =foo.bar.org= as belonging to =foo=, so a supporting doc is correctly *not* treated as an independently-triggerable workflow or an INDEX orphan. It also keeps the workflow promotion-safe — when a project-only workflow is promoted to a template, its supporting files travel with it under the same prefix, whereas a link into a project-specific =assets/= doc would break on promotion. + +Worked example: a meeting-prep workflow whose mid-flow phase carries a condensed version of a method, with the full method extracted to =meeting-prep.pre-wire.org= beside it and linked inline. + ** Phase 5: Update Project State Update =notes.org=: |
