Overview
Many daily/scheduled workflows automate code improvements and create pull requests, but duplicate the same frontmatter boilerplate. A shared/daily-pr-base.md component would centralize the PR-output pattern, analogous to how daily-audit-base.md serves discussion workflows.
Current Usage (7 confirmed + ~8 partial)
Workflows with the complete pattern (skip-if-match: is:pr + create-pull-request + activation-app.md):
| Workflow |
Skip-if-match |
Create-PR |
code-simplifier.md |
✅ |
✅ |
dead-code-remover.md |
✅ |
✅ |
code-scanning-fixer.md |
✅ |
✅ |
slide-deck-maintainer.md |
✅ |
✅ |
ubuntu-image-analyzer.md |
✅ |
✅ |
unbloat-docs.md |
✅ |
✅ |
daily-rendering-scripts-verifier.md |
✅ |
✅ |
Partial adopters (create-pull-request without skip-if-match, or missing activation-app): daily-doc-updater, daily-workflow-updater, daily-file-diet, daily-caveman-optimizer, jsweep, daily-hippo-learn, functional-pragmatist, daily-workflow-updater.
Proposed Shared Component: shared/daily-pr-base.md
---
# Bundle for daily automated code improvement workflows that create pull requests.
# Bundles: activation-app + skip-if-match (PR) + standardized create-pull-request safe-outputs.
#
# Usage:
# imports:
# - uses: shared/daily-pr-base.md
# with:
# title-prefix: "[my-workflow] "
# expires: "1d"
# labels: [automation]
# reviewers: [copilot]
import-schema:
title-prefix:
type: string
required: true
description: "Title prefix for created PRs, e.g. '[my-workflow] '"
expires:
type: string
default: "1d"
description: "How long to keep open PRs before expiry"
labels:
type: array
default: [automation]
description: "Labels to apply to created PRs"
reviewers:
type: array
default: [copilot]
description: "Reviewers to assign to created PRs"
imports:
- shared/activation-app.md
- shared/reporting.md
safe-outputs:
create-pull-request:
expires: ${{ github.aw.import-inputs.expires }}
title-prefix: ${{ github.aw.import-inputs.title-prefix }}
labels: ${{ github.aw.import-inputs.labels }}
reviewers: ${{ github.aw.import-inputs.reviewers }}
noop:
---
Example Usage (After Migration)
on:
schedule: daily
skip-if-match: 'is:pr is:open in:title "[code-simplifier]"'
imports:
- uses: shared/daily-pr-base.md
with:
title-prefix: "[code-simplifier] "
expires: "1d"
labels: [refactoring, code-quality, automation]
reviewers: [copilot]
Estimated Impact
- ~15 workflows benefit (7 direct + 8 partial adopters)
- ~12–18 lines removed per workflow
- Maintenance benefit: PR expiry, reviewer defaults, and activation-app config updated in one place
Migration Plan
- Create
shared/daily-pr-base.md with the schema above
- Run
make recompile to verify no existing compilations break
- For each of the 7 confirmed workflows: replace inline
imports + safe-outputs.create-pull-request block with the new parameterized import
- Compile and validate each migrated workflow
- Submit PR with migrations
References: §25163549011
Generated by Workflow Skill Extractor · ● 4.3M · ◷
Overview
Many daily/scheduled workflows automate code improvements and create pull requests, but duplicate the same frontmatter boilerplate. A
shared/daily-pr-base.mdcomponent would centralize the PR-output pattern, analogous to howdaily-audit-base.mdserves discussion workflows.Current Usage (7 confirmed + ~8 partial)
Workflows with the complete pattern (
skip-if-match: is:pr+create-pull-request+activation-app.md):code-simplifier.mddead-code-remover.mdcode-scanning-fixer.mdslide-deck-maintainer.mdubuntu-image-analyzer.mdunbloat-docs.mddaily-rendering-scripts-verifier.mdPartial adopters (create-pull-request without skip-if-match, or missing activation-app):
daily-doc-updater,daily-workflow-updater,daily-file-diet,daily-caveman-optimizer,jsweep,daily-hippo-learn,functional-pragmatist,daily-workflow-updater.Proposed Shared Component:
shared/daily-pr-base.mdExample Usage (After Migration)
Estimated Impact
Migration Plan
shared/daily-pr-base.mdwith the schema abovemake recompileto verify no existing compilations breakimports+safe-outputs.create-pull-requestblock with the new parameterized importReferences: §25163549011