Use when selecting, customizing, or composing built-in workflow templates — covers all 7 templates (triage, PR review, docs, release, stale, first-timer, incident) with customization points and composition patterns.
From awfulnpx claudepluginhub xiaolai/awful-for-claude --plugin awfulThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Reference guide for awful's 7 built-in workflow templates.
| Template | Event | Agent Role | Key Outputs |
|---|---|---|---|
| triage | issues.opened | Classify, label, assign | labels, assignment, acknowledgment comment |
| pr-review | pull_request.opened/synchronize | Review code quality | review comment, approve/request-changes |
| docs | issues.labeled:needs-docs | Generate documentation | docs PR |
| release | push:tags/v* | Generate changelog, create release | GitHub release, announcement comment |
| stale | schedule:daily | Find inactive issues/PRs | warning comment, close |
| first-timer | pull_request.opened (FIRST_TIME_CONTRIBUTOR) | Welcome, guide | welcome comment, first-timer label |
| incident | issues.labeled:incident | Create tracker, notify | tracking comment, @mentions, runbook link |
Event: issues.opened
Purpose: Every new issue gets classified immediately so the team knows what it is and how urgent it is.
Customization points:
component-auth, platform-ios)component-auth → @security-team)Required labels: bug, feature, question, duplicate, priority-high, priority-medium, priority-low
Agent-applied labels: awful:triaged
Event: pull_request.opened, pull_request.synchronize
Purpose: Automated first-pass code review — catches obvious issues before human reviewers spend time.
Fork PR guard: Required — this template has contents: read but the review comment requires pull-requests: write.
Customization points:
Agent-applied labels: awful:reviewed
Human gate: Agent posts a review but does NOT approve — human still merges.
Event: issues.labeled with label needs-docs
Purpose: When a feature is merged without documentation, an issue gets labeled needs-docs. The agent reads the related code and generates a documentation PR.
Customization points:
Required labels: needs-docs
Permissions: contents: write, pull-requests: write — this template creates a PR.
Event: push to tags matching v*
Purpose: When a version tag is pushed, generate a changelog from commits since the previous tag and create a GitHub release.
Customization points:
v1.0.0-rc.1 → pre-release)Permissions: contents: write — creates the GitHub release object.
Note: Does not push code. Creates only the GitHub Release metadata.
Event: schedule (daily cron, 0 9 * * *)
Purpose: Keep the issue tracker clean by closing issues that have had no activity for 37 days (30 days warning + 7 days grace).
Customization points:
priority-high, pinned)Required labels: awful:stale (applied by the agent as warning)
Exempt labels: priority-high, pinned
Idempotent: Safe to run multiple times — already-warned issues won't get duplicate comments.
Event: pull_request.opened with author_association == 'FIRST_TIME_CONTRIBUTOR'
Purpose: Welcome first-time contributors warmly, set expectations, and flag for extra-careful review.
Customization points:
good-first-review for team awarenessRequired labels: first-timer
Note: Does not request changes or add friction. Pure welcome + guidance.
Event: issues.labeled with label incident
Purpose: When someone labels an issue as an incident, the agent immediately structures the response: severity assessment, tracker comment, team notification.
Customization points:
Required labels: incident, sev1, sev2, sev3
Agent-applied labels: awful:incident-tracked
Minimal automation for an open source project:
triage + stale + first-timer
For a project with active development and documentation:
triage + pr-review + docs + release
Maximum automation for a production service:
triage + pr-review + docs + release + stale + first-timer + incident
All 7 templates. Incident response is the addition that makes this appropriate for production.
For requirements that don't fit built-in templates:
/awful:design — architect agent interviews you and builds a custom blueprint/awful:gen — generator produces workflow filesTemplates are referenced in the generator's system prompt. When an agent role in the blueprint matches a template name, the generator uses that template as a base and applies blueprint customizations on top.