unattended-agents

Defines architecture and practices for unattended automation-invoked agents and scheduled routines.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/missingbulb/GoogleCalendarEventCreator --skill unattended-agents-missingbulb
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unattended-agents
Source: https://github.com/missingbulb/GoogleCalendarEventCreator/tree/main/.claudinite/shared/packs/claudinite-growth/skills/unattended-agents
Command: npx skills add https://github.com/missingbulb/GoogleCalendarEventCreator --skill unattended-agents-missingbulb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Unattended AI agents invoked by CI schedulers or cron jobs fail in ways interactive sessions never do: they stall on approval prompts, improvise deterministic steps, re-trigger on their own output, and report green runs while silently skipping work. This Skill codifies the architecture and operational rules that keep automation-invoked agents and recurring routines correct, bounded, and auditable. ## Core Features & Use Cases - Agent architecture rules: Hard-code deterministic steps in the workflow around the agent, bound the agent's write surface with post-run diff verification, converge all failure modes to one triage state, and isolate committing subagents in worktrees. - Routine folder structure: Standardizes routines as a folder with routine.md (or task.md/task.json) bracketed by preconditions.sh and postconditions.sh scripts, with rules for what belongs in prose versus scripts. - Coded invariant checks: Ships checks.mjs and declared-checks.json that enforce the prose rules, including a blocking check that flags GitHub REST token usage in MCP-only sessions and a routine-structure validator. - Use Case: When building a nightly GitHub Actions routine that dispatches an agent to triage issues, apply this Skill to structure the routine folder, wire eligibility gates, avoid self-triggering loops, and ensure failures converge to human triage. ## Quick Start Use the unattended-agents skill to review my scheduled routine folder and verify its structure, failure handling, and GitHub access patterns.

Frequently Asked Questions about unattended-agents

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a scheduled AI agent routine?▼

Give each routine its own folder containing routine.md as the agent-readable spec, plus preconditions.sh as an eligibility gate and postconditions.sh as output validation. Keep deterministic steps in the scripts and judgment criteria in the prose.

How do I run an AI agent unattended in GitHub Actions?▼

Hard-code every deterministic step in the workflow and leave only judgment to the agent. Ensure the agent never invokes tools requiring interactive approval, converge all failures to one triage state, and verify its diff after it stops.

Why does my in-session routine code fail to reach the GitHub API?▼

MCP-only sessions have no GitHub REST credential; GITHUB_TOKEN is set but empty, so direct api.github.com calls return rate-limit 403 errors. Use the session's MCP GitHub tools instead, and move credential-needing work to a dispatch-only executor workflow.

Can an unattended agent use the Workflow tool for fan-out?▼

No. The Workflow tool mandates an interactive opt-in on every run, so an unattended routine hangs indefinitely. Use plain subagent dispatch via the Agent or Task tool instead, which carries no approval gate.

How do I stop a scheduled routine from re-triggering on its own output?▼

Exclude the routine's own writes from its triggers: filter its maintenance commits by bot author or subject convention, exclude its tracker updates from activity lookbacks, and never count its generated artifacts as repo changes.

When should a subagent dispatch use worktree isolation?▼

Use worktree isolation whenever a subagent may commit. Without it, the child works in the parent's checkout, leaving the parent on the child's branch and corrupting the parent's branch-scoped end-of-session checks.