Set up PITER framework elements for AFK agent systems. Use when configuring prompt input sources, triggers, environments, and review processes for autonomous agent workflows.
View on GitHubmelodic-software/claude-code-plugins
tac
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/tac/skills/piter-setup/SKILL.md -a claude-code --skill piter-setupInstallation paths:
.claude/skills/piter-setup/# PITER Setup
Guide for setting up the PITER framework elements to enable AFK (Away From Keyboard) agent systems.
## When to Use
- Configuring GitHub as prompt input source
- Setting up webhook or cron triggers
- Preparing a dedicated agent environment
- Designing the review process
- Moving from in-loop to out-of-loop agentic coding
## PITER Overview
| Element | Question | Common Implementation |
| --- | --- | --- |
| **P** | Where do tasks come from? | GitHub Issues |
| **I** | What type of work is this? | LLM Classification |
| **T** | When does work start? | Webhooks / Cron |
| **E** | Where do agents run? | Dedicated VM/Sandbox |
| **R** | How is work validated? | Pull Requests |
## Setup Workflow
### 1. Configure Prompt Input (P)
#### GitHub Issues Setup
```bash
# Verify GitHub CLI is authenticated
gh auth status
# Test issue creation
gh issue create --title "Test Issue" --body "Testing ADW prompt input"
# Test issue fetching
gh issue view 1 --json title,body,labels
```
Issue structure becomes the prompt:
```text
Title: Add user authentication
Body: We need OAuth with Google provider...
Labels: feature, priority-high
→ Becomes: "/feature Add user authentication..."
```
### 2. Configure Classification (I)
Create `/classify-issue` command:
```markdown
# Issue Classification
Analyze the issue and respond with exactly one of:
- /chore - for maintenance, updates, cleanup
- /bug - for defects, errors, unexpected behavior
- /feature - for new functionality
## Issue
$ARGUMENTS
```
Test classification:
```bash
claude -p "/classify-issue 'Fix login button not working'"
# Expected: /bug
claude -p "/classify-issue 'Update dependencies'"
# Expected: /chore
```
### 3. Configure Trigger (T)
#### Option A: Cron Polling
```python
# trigger_cron.py (simplified)
import time
POLL_INTERVAL = 20 # seconds
while True:
issues = get_unprocessed_issues()
for issue in issues:
run_adw(issue.number)
time.sleep(POLL_INTERVAL)
```
Unprocessed