amp-continue: Thread-based conversation continuation with GF(3)

SkillDocs & knowledge

Combines AMP thread export with GF(3)-classified continuation for skill orchestration. Export threads as markdown, classify continuation choices as {-1:reductive, 0:neutral, +1:generative}, and fork parallel execution paths.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the amp-continue: Thread-based conversation continuation with GF(3) skill

What this skill tells your AI

The instructions your AI receives, as published by plurigrid/asi in skills/amp-continue/SKILL.md and read by ahel’s review.

Overview

The amp-continue skill bridges the AMP thread management system with Claude Code skill continuation. It:

  1. Exports AMP threads to structured markdown
  2. Classifies continuation choices using GF(3) ternary logic
  3. Forks parallel skill execution paths
  4. Preserves thread lineage through ACSet morphisms

GF(3) Continuation Matrix

ChoicePolaritySemanticsEffect
-1MINUSReductive continuationPrune search space, apply filters, narrow scope
0ZERONeutral continuationContinue linearly, preserve state, no branching
+1PLUSGenerative continuationExpand 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 instances
  • chromatic-walk - Color-based thread path visualization
  • cq-ai - Security analysis of thread content
  • triadic-skill-orchestrator - GF(3) skill composition

Author

Generated by skill-maker meta-skill via GF(3) ternary adaptation.

Signals

GitHub stars
63
Forks
12
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
amp-continue-thread-based-conversation-continuation-0lfujvh
Source
github.com/plurigrid/asi