amp-skill

Interruption pattern detection and retrieval from Amp thread history. Use for analyzing tool rejection patterns and improving agent behavior.

16 stars

Best use case

amp-skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Interruption pattern detection and retrieval from Amp thread history. Use for analyzing tool rejection patterns and improving agent behavior.

Teams using amp-skill should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/amp-skill/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/amp-skill/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/amp-skill/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How amp-skill Compares

Feature / Agentamp-skillStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Interruption pattern detection and retrieval from Amp thread history. Use for analyzing tool rejection patterns and improving agent behavior.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Amp-Skill: Interruption Pattern Detection and Retrieval

**GF(3) Trit**: 0 (ERGODIC - coordination layer)
**Foundation**: DuckDB ACSet from Amp file-changes

## Overview

Amp-Skill distills usage patterns from Amp thread history, specifically focusing on **interruption patterns** where tool suggestions were rejected in favor of:
1. **Two-lock processes** - user requested confirmation before proceeding
2. **Complete discontinuation** - user abandoned the thread entirely
3. **Reverted operations** - user explicitly undid an AI action

## Retrieval Benchmark Metrics

| Metric | Value |
|--------|-------|
| Total Threads | 616 |
| Total Tool Calls | 2,535 |
| Threads with Interruptions | 282 (45.8%) |
| Reverted Tool Calls | 84 (3.3%) |
| Two-Lock Cascades | 47 |
| Complete Discontinuations | 22 |

## Interruption Pattern Distribution

| Pattern Type | Count | Percentage |
|--------------|-------|------------|
| abandoned | 269 | 62.4% |
| reverted | 84 | 19.5% |
| two_lock | 47 | 10.9% |
| discontinuation | 22 | 5.1% |
| high_rejection | 9 | 2.1% |

## GF(3) Distribution

| Role | Threads | Tool Calls | Reverted |
|------|---------|------------|----------|
| MINUS | 218 | 769 | 27 |
| ERGODIC | 209 | 976 | 26 |
| PLUS | 189 | 790 | 31 |

## File Types Most Frequently Reverted

1. `.org` - 28 reverts (Emacs org-mode files)
2. `.py` - 20 reverts (Python scripts)
3. `.sh` - 18 reverts (Shell scripts)
4. `.md` - 15 reverts (Markdown documentation)

## SQL Access

```sql
-- Query interruption patterns
SELECT * FROM amp_interruptions ORDER BY ts DESC;

-- Find high-rejection threads
SELECT thread_id, tool_call_count, reverted_count,
       ROUND(100.0 * reverted_count / tool_call_count, 1) as revert_pct
FROM amp_threads
WHERE reverted_count > 0
ORDER BY revert_pct DESC;

-- Detect two-lock cascades
SELECT thread_id, COUNT(*) as consecutive_reverts
FROM amp_interruptions
WHERE pattern_type = 'two_lock'
GROUP BY thread_id
ORDER BY consecutive_reverts DESC;
```

## Key Insights

### 1. Abandoned Threads (62.4%)
- Single tool call threads indicate quick task completion OR user abandonment
- Requires context analysis to distinguish

### 2. Two-Lock Cascades (10.9%)
- 47 instances of consecutive reverts within 60 seconds
- Indicates AI attempting same action repeatedly despite rejection
- **Action**: Implement backoff after 2 consecutive reverts

### 3. High-Rejection Threads (2.1%)
- 9 threads with >50% revert rate
- Top offender: 100% revert rate on `capability-signer-prototype.sh`
- **Pattern**: Security-sensitive code rejected multiple times

### 4. File Type Sensitivity
- `.org` files most frequently rejected (28)
- Personal/organizational files have higher rejection rate
- **Action**: Add confirmation prompt for org-mode edits

## Retrieval Benchmark Success Criteria

- [x] All 616 threads loaded from filesystem
- [x] All 2,535 tool calls indexed with metadata
- [x] 5 interruption pattern types detected
- [x] Two-lock pattern detection via SQL windowing
- [x] Discontinuation pattern (thread ends on revert)
- [ ] GF(3) conservation (currently imbalanced by 29)

## Usage

```bash
# Load/refresh Amp threads
bb scripts/amp_thread_loader.bb

# Query via DuckDB
duckdb trit_stream.duckdb "SELECT * FROM amp_interruptions"
```

## Integration with Triadic Protocol

When Amp-Skill detects a high-rejection pattern:
1. **MINUS (-1)**: Validate the rejection pattern
2. **ERGODIC (0)**: Coordinate alternative approaches
3. **PLUS (+1)**: Generate new solution avoiding rejected pattern

## Data Sources

- **Local**: `~/.amp/file-changes/T-*` (2,535 files)
- **API**: None currently (file-changes only contain diffs)
- **Potential**: Amp GraphQL API for full conversation history

## Forward Reference

- unified-reafference (amp universe source)


## Patterns That Work

- Interruption pattern detection via file-changes
- Cross-universe coordination with goose/claude
- GF(3) role assignment (+1 PLUS generator)

## Patterns to Avoid

- Ignoring two-lock cascades
- Missing revert tracking