Overview
The amp-continue skill bridges the AMP thread management system with Claude Code skill continuation. It:
- Exports AMP threads to structured markdown
- Classifies continuation choices using GF(3) ternary logic
- Forks parallel skill execution paths
- Preserves thread lineage through ACSet morphisms
GF(3) Continuation Matrix
| Choice | Polarity | Semantics | Effect |
|--------|----------|-----------|--------|
| -1 | MINUS | Reductive continuation | Prune search space, apply filters, narrow scope |
| 0 | ZERO | Neutral continuation | Continue linearly, preserve state, no branching |
| +1 | PLUS | Generative continuation | Expand search space, generate variants, fork paths |
Skill Interface
amp.export
Export threads to markdown with maximum detail.
(amp/export {:threads [thread-ids]
:format :markdown
:include-metadata true
:include-messages true})
Output:
- Markdown file with thread content
- Metadata JSON
- Message count and timestamps
amp.continue
Classify and fork continuation.
(amp/continue {:thread-id thread-id
:decision :plus ; or :minus, :zero
:skills [skill-names]
:parallel true})
Decision Classification:
:plus→ Expand to N parallel execution paths:zero→ Continue serially to next skill:minus→ Apply filters to reduce paths
Implementation Details
SplitMix64 Determinism
def continue_path(thread_id: str, seed: int, choice: int) -> int:
"""
Deterministic path selection.
Same thread_id + same seed → same path always.
"""
x = hash_thread_id(thread_id) ^ seed
x = splitmix64_next(x)
return x % num_paths
ACSet Morphism
Thread metadata preserved as ACSet:
threads : Thread → {id, title, created, updated, messages}
continuations : Continuation → {source_thread, choice, target_skill, seed}
Morphism: Thread → Continuation → Skill
Parallelism Pattern (Work-Stealing)
@dataclass
class ContinuationTask:
thread_id: str
skill_name: str
decision: int # GF(3): -1, 0, +1
seed: int
def execute_continuation(task: ContinuationTask):
# Steal from global task queue
# Fork if decision == +1 (PLUS)
# Continue if decision == 0 (ZERO)
# Filter if decision == -1 (MINUS)
Examples
Export All Recent Threads
amp continue export \
--threads "T-019b5df7..." "T-019b5df0..." \
--output threads.md \
--max-depth 3
Fork Generative Continuation
amp continue fork \
--thread "T-019b5df7-50e8-744e-a95a-eb8d3fd72927" \
--decision +1 \
--skills "skill-maker" "chromatic-walk" "cq-ai" \
--parallel 8
Apply Reductive Filter
amp continue filter \
--thread "T-019b5da5-ee78-7113-b839-5c066cc98d4a" \
--decision -1 \
--selector "messages.length > 10" \
--target-skill "summarize"
Continue Linear
amp continue next \
--thread "T-019b5ddc-ea96-72ff-b26a-270b7e4527a1" \
--decision 0 \
--skill "load-sicp"
API Reference
(amp-continue/export opts)
Export threads with markdown generation.
Options:
:threads- Vector of thread IDs:format-:markdown(default),:json,:html:include-metadata- Boolean (default: true):include-messages- Boolean (default: true):output-file- String path (optional)
Returns: Markdown string + output file path
(amp-continue/continue opts)
Fork continuation based on GF(3) decision.
Options:
:thread-id- String thread ID:decision- Keyword:plus,:zero,:minus:skills- Vector of skill names to continue with:parallel- Boolean or integer (worker count):seed- Integer (optional, for reproducibility)
Returns: ACSet of continuation tasks
(amp-continue/classify opts)
Classify thread continuation strategy.
Options:
:thread-id- String:heuristic-:message-count,:complexity,:entropy
Returns: Classified decision keyword
MCP Integration
Registered as MCP tool:
{
"name": "amp_continue",
"description": "Export AMP threads and fork GF(3)-classified continuation",
"resources": [
{"uri": "amp://threads", "name": "All threads", "type": "read"},
{"uri": "amp://continuations", "name": "Active continuations", "type": "read"}
]
}
Storage
- Threads:
~/.local/share/amp/threads/*.json - Continuations:
~/.local/share/amp/continuations/*.json - Exports:
~/.local/share/amp/exports/
Performance
- Thread load: O(1) per thread (disk lookup)
- Export markdown: O(n) where n = total messages
- Continuation fork: O(1) with work-stealing queue
- Parallelism: 8x speedup with 8 workers on GF(3) branching
Testing
# Test export
pytest tests/amp_continue/test_export.py -v
# Test GF(3) branching
pytest tests/amp_continue/test_gf3_branching.py -v
# Test parallelism
pytest tests/amp_continue/test_parallelism.py -v
Related Skills
skill-maker- Meta-skill that generates amp-continue instanceschromatic-walk- Color-based thread path visualizationcq-ai- Security analysis of thread contenttriadic-skill-orchestrator- GF(3) skill composition
Author
Generated by skill-maker meta-skill via GF(3) ternary adaptation.