com um clique
ratchet-sidequest
Manually log discoveries and sidequests during active work
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Manually log discoveries and sidequests during active work
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Run agent pairs through phase-gated debates — guided by epic roadmap and current focus
Analyze project and generate tailored agent pairs through codebase analysis and human interview
Tighten the ratchet — analyze all improvement signals and sharpen the system
View or continue an ongoing debate
Manage guards — list, add, run, and override deterministic checks at phase boundaries
Add a new agent pair to an existing Ratchet configuration
| name | ratchet:sidequest |
| description | Manually log discoveries and sidequests during active work |
Manually log discoveries during active work — mid-debate, mid-phase, mid-milestone. Fills the gap between auto-detected discoveries (watch creates them for CI failures/merge conflicts, tighten creates them for skipped findings) and manual tracking. Lightweight and fast — no debates, no guards, just bookkeeping.
/ratchet:sidequest # Interactive — log a new discovery
.ratchet/ must exist.ratchet/plan.yaml is used if present but NOT required — skill creates a minimal structure if file or epic.discoveries array is missingCheck for .ratchet/plan.yaml:
epic.discoveries array exists. If missing, it will be created when appending.AskUserQuestion with options: "Cancel", "Delete plan.yaml and start fresh".plan.yaml:
epic:
discoveries: []
Inform user: "No plan.yaml found. Created minimal one for discovery tracking."Use AskUserQuestion for each field. Prompts must be plain text (no markdown) since AskUserQuestion renders as terminal selector.
"bug — Something is broken or wrong", "tech-debt — Shortcuts, duplication, or design smell", "feature — New capability or enhancement idea", "security — Vulnerability or hardening opportunity", "performance — Bottleneck or optimization opportunity", "other — Does not fit above categories"Parse selected option to extract category key (word before dash).
"critical — Blocks progress or poses immediate risk", "major — Significant impact, address soon", "minor — Low impact, address when convenient", "info — Just noting for future reference"Parse selected option to extract severity key.
Read pairs from .ratchet/workflow.yaml (if exists). If configured:
"Skip — no specific pair", plus "Multiple — I will list them"If "Multiple" selected, follow-up freeform: "List relevant pair names, comma-separated". If workflow.yaml does not exist or has no pairs, skip and set pairs to empty list.
Attempt auto-detect from plan.yaml:
epic.current_focus if exists — extract milestone and issue refsAskUserQuestion:
"Yes, use detected context", "No, let me specify", "No context — general finding"debates/*/meta.json to find any active debate. If exists, include ID; otherwise null.Generate discovery entry:
- ref: "discovery-manual-<unix-timestamp>"
title: "<short summary of the discovery>"
description: "<user's description>"
category: "<bug|tech-debt|feature|security|performance|other>"
severity: "<critical|major|minor|info>"
source: "manual"
context:
milestone: <detected-or-specified-milestone-id or null>
issue: "<detected-or-specified-issue-ref or null>"
debate: "<active-debate-id or null>"
pairs: [] # populated from step 2d
status: "pending"
issue_ref: null
affected_scope: null
retro_type: null
created_at: "<ISO 8601 timestamp>"
Append to epic.discoveries in .ratchet/plan.yaml using yq:
timestamp=$(date +%s)
created=$(date -Iseconds)
yq eval -i ".epic.discoveries += [{
\"ref\": \"discovery-manual-$timestamp\",
\"title\": \"<short summary>\",
\"description\": \"<description>\",
\"category\": \"<category>\",
\"severity\": \"<severity>\",
\"source\": \"manual\",
\"context\": {
\"milestone\": <milestone or null>,
\"issue\": <issue or null>,
\"debate\": <debate or null>
},
\"pairs\": [<pair-list>],
\"status\": \"pending\",
\"issue_ref\": null,
\"affected_scope\": null,
\"retro_type\": null,
\"created_at\": \"$created\"
}]" .ratchet/plan.yaml
If epic.discoveries does not exist yet, yq will create it. Ensure array initialized first if needed:
yq eval -i '.epic.discoveries //= []' .ratchet/plan.yaml
Display summary:
Discovery logged: discovery-manual-<timestamp>
Category: <category> | Severity: <severity>
Context: milestone <id>, issue <ref> (or "no specific context")
Pairs: <pair-list> (or "none")
Status: pending
This discovery will appear in /ratchet:status and be available as a sidequest in /ratchet:run.
Then AskUserQuestion:
"Log another discovery", "View status (/ratchet:status)", "Done"If "Log another discovery" selected, return to Step 2.
yq eval '.' .ratchet/plan.yaml. If invalid, inform user and offer to restore from pre-edit state.Discoveries enter standard Ratchet discovery pipeline:
status: "pending" and source: "manual"/ratchet:status in Sidequests section (only pending shown)/ratchet:run as Mode B sidequest work items/ratchet:run pipeline (sets status: "done" after resolved)status: "promoted" and issue_ref)status: "dismissed")Valid status values: pending | done | promoted | dismissed
/ratchet:status — View pending discoveries/ratchet:run — Process discoveries as sidequest work items/ratchet:watch — Auto-detects discoveries from CI failures and merge conflicts/ratchet:tighten — Creates discoveries from retrospective analysis and PR feedback