cancelloop
Cancel or pause the agentic development loop
What this skill does
# Cancel Development Loop
Stops the agentic development loop gracefully. The loop will complete its current atomic operation before stopping.
## Usage
```bash
# Cancel the loop (archives state to history)
/bkff:cancelloop
# Pause the loop (can be resumed later)
/bkff:cancelloop --pause
# Pause with a reason
/bkff:cancelloop --pause --reason="Need to review approach"
```
## Behavior
### Cancel (Default)
- Stops the loop immediately after current operation
- Archives loop state to `.bkff/history/`
- Removes active loop state file
- Current task remains in `in_progress` status in beads
### Pause
- Sets loop status to `paused`
- Preserves all state for later resume
- Records pause reason if provided
- Can be resumed with `/bkff:startloop --resume`
## Output
### Cancelling Active Loop
```
Development Loop Status
─────────────────────────────────────
Status: running
Started: 2026-01-24T10:30:00Z
Completed: 5 tasks
Current Task
Task ID: T018
Title: Implement validation helpers
Started: 2026-01-24T11:15:00Z
✓ Loop cancelled
Debug: Archived loop state to .bkff/history/2026-01-24T11-20-00Z.json
```
### Pausing Loop
```
Development Loop Status
─────────────────────────────────────
Status: running
Started: 2026-01-24T10:30:00Z
Completed: 5 tasks
Info: Loop paused: Need to review approach
To resume: /bkff:startloop --resume
```
### No Loop Running
```
Info: No loop running
```
## State After Cancel
When cancelled, the loop state is archived to `.bkff/history/`:
```json
{
"status": "stopped",
"started_at": "2026-01-24T10:30:00Z",
"stopped_at": "2026-01-24T11:20:00Z",
"current_task": {
"beads_id": "beads-abc123",
"task_id": "T018",
"title": "Implement validation helpers",
"started_at": "2026-01-24T11:15:00Z"
},
"completed_tasks": [
{"beads_id": "beads-xyz789", "task_id": "T014", ...},
{"beads_id": "beads-def456", "task_id": "T015", ...}
],
"paused_reason": null,
"retry_count": 0,
"last_error": null
}
```
## State After Pause
When paused, state remains in `.bkff/loop-state.json`:
```json
{
"status": "paused",
"started_at": "2026-01-24T10:30:00Z",
"current_task": {...},
"completed_tasks": [...],
"paused_reason": "Need to review approach",
"retry_count": 0,
"last_error": null
}
```
## Handling In-Progress Tasks
When the loop is cancelled with an in-progress task:
1. The task remains `in_progress` in beads
2. You can manually:
- Complete it: `bd close <id>`
- Reset it: `bd update <id> --status=open`
- Continue working on it independently
## Requirements
- Must be run inside a git repository
- `.bkff/` directory must exist
## Exit Codes
- `0` - Loop cancelled/paused successfully or no loop running
- `1` - Error during cancellation
## Related Skills
- `/bkff:startloop` - Start or resume the development loop
- `/bkff:startloop --resume` - Resume a paused loop
## Implementation
```bash
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PLUGIN_DIR="$(dirname "$(dirname "$SCRIPT_DIR")")"
source "$PLUGIN_DIR/lib/common.sh"
source "$PLUGIN_DIR/lib/loop-state.sh"
# Parse arguments
pause_mode=false
reason=""
for arg in "$@"; do
case "$arg" in
--pause) pause_mode=true ;;
--reason=*) reason="${arg#--reason=}" ;;
esac
done
# Validate prerequisites
require_worktree
# Check if loop exists
if ! has_loop; then
info "No loop running"
exit 0
fi
# Show current status
print_loop_status
echo ""
# Pause or cancel
if [[ "$pause_mode" == "true" ]]; then
if [[ -z "$reason" ]]; then
reason="Paused by user"
fi
pause_loop "$reason"
echo ""
echo "To resume: /bkff:startloop --resume"
else
cancel_loop
fi
```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.