
Workflow Automation
- 226 installs
- 40 repo stars
- Updated August 4, 2026
- akillness/oh-my-skills
Automate recurring dev rituals—issue triage, release checklists, agent handoffs, and repo housekeeping—so teams spend less time on manual coordination each sprint.
About
Guides designing and wiring workflow automation for software teams: identify repetitive rituals, encode them as agent or script pipelines, connect issue trackers and git flows, and iterate triggers until manual coordination drops without losing oversight.
- repeatable agent task chains
- PR and release ritual scripting
- backlog triage automation
- cross-tool orchestration patterns
- toil reduction playbooks
Workflow Automation by the numbers
- 226 all-time installs (skills.sh)
- Ranked #561 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/akillness/oh-my-skills --skill workflow-automationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 226 |
|---|---|
| repo stars | ★ 40 |
| Last updated | August 4, 2026 |
| Repository | akillness/oh-my-skills ↗ |
What it does
Automate recurring dev rituals—issue triage, release checklists, agent handoffs, and repo housekeeping—so teams spend less time on manual coordination each sprint.
Files
Workflow Automation
Use this skill as the repo's routing-first recurring workflow automation anchor.
The job is not to dump a giant Makefile, shell-script pile, hook config, and CI YAML blob. The job is to: 1. classify the recurring workflow, 2. choose one primary automation mode, 3. keep local entrypoints, hooks, CI mirrors, and scheduled maintenance honest about scope, 4. emit one reusable packet with clear route-outs.
Read these support docs first:
- references/automation-modes.md
- references/mode-packets-and-route-outs.md
- references/handoff-boundaries.md
If the main ask is:
- machine/runtime provisioning, local services, devcontainers, or cross-machine reproducibility → use
system-environment-setup - deployment rollout, hosted CI/CD architecture, preview/staging/prod promotion, or rollback design → use
deployment-automationorvercel-deploy - branch/rebase/recovery/push safety → use
git-workflow - test-depth / merge-gate policy → use
testing-strategies - runtime telemetry / alerts / production visibility → use
monitoring-observability
When to use this skill
- Replace README command sprawl with one repeatable repo-owned command surface
- Choose between package scripts, Make,
just, Task, shell entrypoints, hooks, CI wrappers, or maintenance bots - Design
setup,bootstrap,dev,test,lint,verify, orcicommands for a repo - Tighten the boundary between local workflow glue and hosted CI enforcement
- Decide whether a repeated chore belongs in hooks, a task runner, or scheduled automation
- Diagnose a messy workflow layer spread across docs, scripts, hooks, and CI YAML
When not to use this skill
- The real blocker is machine setup, service topology, toolchain pinning, or container/devcontainer reproducibility
- The real blocker is release/deploy architecture or cloud runtime automation
- The real blocker is Git collaboration/recovery rather than repo command design
- The real blocker is test strategy policy rather than how commands are exposed
- The commands are already obvious and the only job is trivial implementation
Instructions
Step 1: Normalize the request
Capture the request in this form first:
workflow_intake:
primary_goal: task-entrypoints | bootstrap-onboarding | local-ci-parity | hook-guardrails | repo-maintenance | workflow-diagnosis | hybrid
repo_shape: single-app | app-plus-services | monorepo | library-cli | docs-content | game-project | unknown
current_surface: package-scripts | make-just-task | shell-scripts | ci-workflows | hooks | bots-schedules | mixed | none | unknown
main_pain:
- command-sprawl
- onboarding-drift
- local-vs-ci-mismatch
- interactive-script
- cross-platform-friction
- duplicated-logic
- hook-friction
- bot-noise
- unclear-owner
- unknown
blast_radius: local-dev-loop | repo-plus-ci | multi-team-repo | unknown
confidence: high | medium | lowIf the request is vague, assume the smallest obvious repo-local recurring workflow interpretation and state the assumption.
Step 2: Choose exactly one primary mode
Pick one mode for the current run: 1. task-entrypoints — one memorable command surface for recurring human-invoked work 2. bootstrap-onboarding — first-run setup, seed/init, or repeated repo initialization 3. local-ci-parity — one local verification command that mirrors the critical CI checks 4. hook-guardrails — fast local hygiene checks before commit/push 5. repo-maintenance — dependency updates, scheduled cleanup, release-prep chores, stale-item automation 6. workflow-diagnosis — the workflow layer is messy and needs simplification before more automation is added
Use workflow-diagnosis when the repo currently has too many front doors and you need to simplify before picking the new steady-state mode.
Step 3: Pick the smallest automation surface
Use these defaults:
- package scripts / Make / `just` / Task for the human-facing entrypoint layer
- hooks for fast deterministic guardrails only
- hosted CI for enforcement, matrices, schedules, and secrets-dependent work
- local CI wrappers when faster pre-push feedback is the point
- bots / schedules when the work is recurring maintenance rather than a command humans should type every day
Do not let repo automation silently absorb environment provisioning or deployment architecture.
Step 4: Keep the workflow invariants visible
These rules should survive every answer:
- prefer one obvious front door over many partially documented ones
- keep bootstrap flows idempotent and non-interactive by default
- hooks must stay short, deterministic, and mirrored in CI because local bypass exists
- local CI parity should mirror the critical checks, not every hosted-runner detail
- scheduled maintenance needs an owner/review policy, not just a bot config
- name where local and hosted automation intentionally differ
Step 5: Build the workflow automation packet
Return this structure:
# Workflow Automation Packet
## Recommended mode
- Mode: task-entrypoints | bootstrap-onboarding | local-ci-parity | hook-guardrails | repo-maintenance | workflow-diagnosis
- Why this mode fits: ...
## Current state
- Repo shape: ...
- Current surface: ...
- Main pain: ...
- Blast radius: ...
- Confidence: high | medium | low
## Recommended surface
- Human-facing entrypoint: ...
- Supporting hooks / CI / schedules: ...
- What stays out of scope: ...
## Safest next move
1. ...
2. ...
3. ...
## Guardrails
- Idempotency / non-interactive behavior: ...
- Local vs CI boundary: ...
- Ownership / review policy: ...
## Route-outs
- `system-environment-setup` when ...
- `deployment-automation` / `vercel-deploy` when ...
- `git-workflow` when ...
- `testing-strategies` when ...Step 6: Use the mode packets, not a giant tool catalog
Pull the exact packet shape from references/mode-packets-and-route-outs.md.
Rules:
task-entrypointsshould collapse multiple commands into one discoverable human surfacebootstrap-onboardingmust end with a verification command and state prerequisite boundarieslocal-ci-paritymust call out parity limits such as secrets, services, or matrix differenceshook-guardrailsmust stay fast enough that contributors do not immediately bypass themrepo-maintenancemust include review cadence / batching / noise control expectationsworkflow-diagnosismust simplify and dedupe before proposing another layer
Output format
Return a short Workflow Automation Packet or Automation Hardening Brief.
Required qualities:
- classify the workflow before prescribing tools
- choose one primary mode
- prefer the smallest useful surface
- keep local commands, hooks, CI, and schedules honest about their boundaries
- make route-outs explicit instead of letting the skill absorb neighboring jobs
Examples
Example 1: messy command surface
Input: "This repo has README commands, a stale Makefile, and random scripts. We need one repeatable automation layer for dev, test, and lint." Output direction: choose workflow-diagnosis, consolidate to one human-facing surface, then route deployment/environment concerns away.
Example 2: local verification before push
Input: "Developers keep pushing just to discover CI failures. I want one local command that mirrors CI enough to catch problems earlier." Output direction: choose local-ci-parity, add one ci wrapper, and state parity limits instead of promising full CI reproduction.
Example 3: onboarding pain
Input: "New contributors need to install tools, copy env files, seed data, and run setup every time they switch branches." Output direction: choose bootstrap-onboarding, recommend one idempotent bootstrap entrypoint, and hand broad machine/service setup to system-environment-setup.
Example 4: scheduled repo chores
Input: "Dependency updates and cleanup tasks keep slipping. Should this live in scripts, hooks, or scheduled automation?" Output direction: choose repo-maintenance, recommend bots/schedules plus review rules, and keep daily developer entrypoints separate.
Best practices
1. Start from the repeated workflow, not from a favorite tool. 2. Prefer one discoverable front door over many half-owned surfaces. 3. Keep repo-local glue separate from environment, deployment, Git policy, and observability. 4. Treat interactive prompts as a last resort. 5. If local and CI differ, say exactly where and why. 6. Simplify and dedupe before adding more automation.
References
{
"skill_name": "workflow-automation",
"evals": [
{
"id": 1,
"prompt": "This repo has README commands, a stale Makefile, and random shell scripts. We need one repeatable automation layer for dev, test, and lint without turning it into a deployment project.",
"expected_output": "The skill activates in workflow-diagnosis or task-entrypoints mode, recommends a thin repo-local entrypoint layer, and routes deployment concerns away.",
"assertions": [
"Response classifies the workflow before prescribing tools",
"Response recommends one human-facing command layer such as Make, just, Task, or package scripts",
"Response explicitly routes deployment architecture away from workflow-automation"
]
},
{
"id": 2,
"prompt": "Developers keep pushing just to discover CI failures. I want a local command that mirrors CI enough to catch problems earlier, but we still use GitHub Actions as the real gate.",
"expected_output": "The skill activates in local-ci-parity mode and distinguishes local feedback commands from hosted CI enforcement.",
"assertions": [
"Response names local-CI parity as the primary mode or equivalent",
"Response recommends a local ci wrapper command and keeps hosted CI as enforcement",
"Response calls out parity limits such as secrets, images, or service topology"
]
},
{
"id": 3,
"prompt": "New contributors need to install tools, copy env files, seed data, and start services before they can run tests. Should this be one bootstrap script or part of our environment setup?",
"expected_output": "The skill activates, recommends an idempotent bootstrap entrypoint for repo-scoped steps, and routes broader machine/service provisioning to system-environment-setup when needed.",
"assertions": [
"Response identifies bootstrap-onboarding as the primary mode or equivalent",
"Response requires idempotent and non-interactive behavior for the bootstrap path",
"Response explicitly distinguishes repo automation from broader environment provisioning"
]
},
{
"id": 4,
"prompt": "Dependency update PRs, stale cleanup, and release-prep chores keep slipping. We have a few scripts already, but I need to know whether this should become a scheduled bot workflow and what humans still own.",
"expected_output": "The skill activates in repo-maintenance mode, recommends a scheduled or bot-owned maintenance surface, and defines review/noise-control guardrails instead of treating automation as fully autonomous.",
"assertions": [
"Response identifies repo-maintenance as the primary mode or equivalent",
"Response distinguishes scheduled automation from daily human-invoked commands",
"Response includes review cadence, batching, ownership, or noise-control guidance"
]
}
]
}
Workflow Automation Modes
Use this quick map when deciding what workflow-automation should own.
1. task-entrypoints
Use when the repo needs stable, memorable commands for recurring developer work.
Typical fit:
make devjust testnpm run citask lint
Choose this mode when:
- humans invoke the commands often
- the main pain is command sprawl or poor discoverability
- the underlying tools already exist and only need a thin wrapper
Avoid this mode when the real problem is cloud deployment or machine provisioning.
2. bootstrap-onboarding
Use when first-run setup or repeated initialization is the main pain.
Typical fit:
scripts/bootstrap.shmake setupjust bootstrap
Guardrails:
- safe to rerun
- checks prerequisites first
- prompts are optional or avoided by default
- ends with a verification step
3. local-ci-parity
Use when developers need fast confidence before pushing.
Typical fit:
make citask verifyactfor a subset of GitHub Actions jobs
Guardrails:
- mirror the critical CI checks, not every hosted-runner detail
- name where local and hosted CI intentionally differ
- keep the command fast enough to use regularly
4. hook-guardrails
Use when the main need is local hygiene enforcement.
Typical fit:
- lint/format hooks
- fast unit checks
- secret scanning
Guardrails:
- keep hooks short and deterministic
- mirror policy in CI
- do not hide slow integration suites in hooks
5. repo-maintenance
Use when recurring chores are better handled by bots or schedules than by a developer typing commands.
Typical fit:
- dependency update bots
- scheduled cleanup jobs
- stale-issue handling
- release-note prep
Guardrails:
- define review/approval expectations
- keep bot noise under control
- separate maintenance automation from deployment rollout
Choosing between modes
- If humans type the command often → start with
task-entrypoints - If new contributors are blocked → start with
bootstrap-onboarding - If CI failures are found too late → start with
local-ci-parity - If the main issue is commit-time hygiene → start with
hook-guardrails - If the work is scheduled or bot-driven → start with
repo-maintenance - If everything is messy and duplicated → start with
workflow-diagnosis, then pick the new primary mode after cleanup
Handoff Boundaries
Use this table to keep workflow-automation from absorbing neighboring skills.
| If the main question is... | Own it with... | Why |
|---|---|---|
| How do we make this repo runnable across machines, containers, local services, and toolchains? | system-environment-setup | That is broader environment reproducibility, not just repo command automation. |
| How should we deploy this app or design hosted CI/CD rollout? | deployment-automation | Deployment and cloud delivery are downstream of repo-local workflow glue. |
| How should we manage branches, commits, rebases, or recovery? | git-workflow | Local Git collaboration is a separate workflow layer. |
| What testing depth should be required before merge or release? | testing-strategies | Validation policy is adjacent, but not the same as command orchestration. |
| Why is this test or script failing right now? | debugging | Root-cause analysis should stay separate from automation design. |
| How should we observe production behavior or alerts? | monitoring-observability | Monitoring is a runtime concern, not a repo command-layer concern. |
Simple rule
workflow-automation owns repeatable repo-scoped workflow glue.
That usually means:
- command entrypoints
- bootstrap wrappers
- local CI wrappers
- hook guardrails
- repo maintenance routines
It does not own:
- full machine provisioning
- deployment architecture
- local Git history management
- test strategy policy
- debugging current failures
- production observability design
Mode Packets and Route-outs
Use this sheet after choosing the primary workflow-automation mode.
1. task-entrypoints
Use when humans need one memorable command surface for repeated repo work.
Return:
- one human-facing surface (
package.jsonscripts,Makefile,justfile, orTaskfile.yml) - 3-6 named entrypoints (
setup,dev,test,lint,verify,cias needed) - the source-of-truth rule for underlying scripts
- route-outs for environment or deployment concerns that should not be hidden behind the entrypoints
Watch-outs:
- too many synonyms for the same job (
check,verify,validate,ciall meaning different things) - task runners quietly owning deployment or machine setup
2. bootstrap-onboarding
Use when the main pain is first-run setup or repeated repo initialization.
Return:
- one idempotent bootstrap command
- prerequisite checks before mutation
- optional flags/env for non-interactive behavior
- one verification command proving the bootstrap succeeded
- route-out if local services, Docker/devcontainers, or machine-level provisioning become the real blocker
Watch-outs:
- shell prompts in the default path
- setup logic duplicated across docs, shell scripts, and CI
- hidden state that breaks after branch switches or partial failure
3. local-ci-parity
Use when developers need faster feedback than pushing to hosted CI.
Return:
- one local verification command (for example
make ci,task verify,npm run ci) - the critical checks it mirrors
- explicit parity limits (secrets, services, OS matrix, heavy integration environments)
- hosted CI remains the enforcement layer
Watch-outs:
- pretending local parity equals full hosted CI
- cloning CI YAML complexity into local shell scripts
- adding a slow command nobody will run
4. hook-guardrails
Use when commit-time hygiene is the main problem.
Return:
- hook surface (
pre-commit, Husky, lefthook, or raw Git hooks) - fast checks only: format, lint, secret scan, lightweight tests
- CI mirror rule for anything that truly matters
- contributor escape-hatch note if hooks are optional or bypassable
Watch-outs:
- slow hooks that train contributors to skip them
- hooks running large integration suites
- hook configs becoming the only place workflow logic lives
5. repo-maintenance
Use when the repeated work is better handled by schedules or bots.
Return:
- whether the job belongs in Dependabot, Renovate, scheduled CI, or a repo script called by automation
- review cadence / batching rules
- ownership policy (who reviews, who merges, what can auto-close or auto-merge)
- noise-control rules
Watch-outs:
- maintenance PR floods with no owner
- mixing daily developer commands and scheduled chores into one mushy surface
- assuming automation eliminates the need for human triage
6. workflow-diagnosis
Use when the repo has too many front doors already.
Return:
- the current surfaces in play (README, scripts, task runner, hooks, CI, bots)
- what should remain the human-facing front door
- what should move into underlying scripts/config
- what should be deleted, deduped, or renamed
- the steady-state mode after cleanup
Watch-outs:
- preserving redundant names because they are familiar
- adding another wrapper before deleting the broken ones
- letting CI remain the only discoverable source of truth
Route-out map
| If the main job is... | Route to... | Why |
|---|---|---|
| machine setup, toolchain pinning, local services, devcontainers | system-environment-setup | broader environment reproducibility, not just repo command glue |
| rollout, environments, deployment strategy, production promotion | deployment-automation / vercel-deploy | release execution is downstream of repo-local workflows |
| branch strategy, rebase, conflict recovery, push safety | git-workflow | Git collaboration mechanics are separate from task-runner design |
| deciding test depth, merge gates, flaky-suite policy | testing-strategies | policy differs from command exposure |
| runtime telemetry, dashboards, alerting | monitoring-observability | runtime operations are outside repo automation |
| active failure/root-cause debugging | debugging | diagnose first, then automate the fix if it becomes recurring |
Simple default
If you are unsure, start with: 1. identify the repeated repo-local task, 2. choose one primary mode, 3. propose one human-facing front door, 4. keep everything else as supporting automation with explicit boundaries.
N:workflow-automation
D:Routing-first skill for repo-scoped recurring workflow automation: task-entrypoint design, bootstrap/onboarding commands, local-CI parity wrappers, hook guardrails, maintenance bots, and workflow-diagnosis cleanup.
G:automation task-runner bootstrap ci-parity dev-workflow hooks repo-maintenance
U[7]:
replace README command sprawl with one repo-owned front door
choose between package scripts Make just Task hooks CI wrappers and maintenance bots
design setup dev test lint verify and ci entrypoints
tighten local workflow glue versus hosted CI enforcement
decide whether a chore belongs in hooks task runners or schedules
diagnose messy workflow layers spread across docs scripts hooks and CI
route environment deployment Git policy and observability away
S[8]{n,action}:
1,normalize the recurring workflow request
2,choose one primary mode
3,pick the smallest automation surface
4,keep local commands hooks CI and schedules honest about boundaries
5,build a workflow automation packet
6,use mode packets not a giant tool catalog
7,make route-outs explicit
8,simplify and dedupe before adding another layer
R[8]:
uses
references/automation-modes.md
references/mode-packets-and-route-outs.md
references/handoff-boundaries.md
task-entrypoints
bootstrap-onboarding
local-ci-parity
workflow-diagnosis