Skip to main content

@swamp/issue-lifecycle

v2026.04.22.2

Interactive triage and implementation planning for swamp-club lab issues. Drives the triage/plan/iterate/approve/implement loop as a local conversation with Claude, while posting structured lifecycle entries and status transitions back to the swamp-club issue on every step.

The model operates directly on swamp-club lab issue numbers — the issue must already exist in swamp-club before you start. There is no GitHub integration.

State Machine

created ──[start]──> triaging
triaging ──[triage]──> classified
classified ──[plan]──> plan_generated
plan_generated ──[iterate]──> plan_generated  (feedback loop)
plan_generated ──[approve]──> approved
approved ──[implement]──> implementing
implementing ──[link_pr]──> pr_open
pr_open ──[link_pr]──> pr_open  (idempotent re-link)
pr_open ──[complete]──> done
implementing ──[complete]──> done  (legacy, no PR linked)

Pre-flight checks enforce valid transitions: you cannot approve without a plan, cannot implement without approval, and cannot approve while critical or high adversarial findings remain unresolved. complete accepts both implementing and pr_open as source phases so legacy records (created before link_pr existed) can still reach done.

Methods

  • start — fetch issue context from swamp-club (fails if the issue does not exist)
  • triage — classify as bug/feature/security and PATCH the swamp-club issue type
  • plan — generate an implementation plan
  • review — display the current plan (read-only)
  • iterate — revise the plan with feedback (versioned)
  • adversarial_review — record adversarial review findings
  • resolve_findings — mark adversarial findings as resolved
  • approve — lock the plan and transition to in_progress
  • implement — signal implementation has started
  • link_pr — link an opaque pull request URL to the lifecycle record (idempotent; transitions to pr_open). Git-host agnostic — the model persists whatever URL the agent supplies without fetching anything.
  • complete — mark the lifecycle done

Data

All resources are versioned and immutable: state, context, classification, plan, feedback, adversarialReview, pullRequest.

Prerequisites

  • swamp initialized in the repository (swamp init)
  • SWAMP_API_KEY env var (or swamp auth login) for swamp-club access
  • The target lab issue must already exist in swamp-club

Repository

https://github.com/systeminit/swamp-extensions

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/issue-lifecycle

Security Notice

This extension includes AI agent skills that can modify AI assistant behavior. Review the skill files before installing.

@swamp/issue-lifecyclev2026.04.22.1issue_lifecycle.ts
startEnsure the swamp-club issue exists and begin the lifecycle
triageClassify the issue based on context
ArgumentTypeDescription
confidenceenum
reasoningstring
isRegression?booleanTrue if this is a regression (something that previously worked). Implies type=bug.
clarifyingQuestions?array
planGenerate an initial implementation plan
ArgumentTypeDescription
summarystring
dddAnalysisstring
stepsarray
testingStrategystring
potentialChallengesarray
reviewDisplay the current plan (read-only)
ArgumentTypeDescription
version?numberSpecific plan version to review
iterateSubmit feedback and a revised plan incorporating all prior feedback
ArgumentTypeDescription
feedbackstringHuman feedback on the current plan
summarystring
dddAnalysisstring
stepsarray
testingStrategystring
potentialChallengesarray
adversarial_reviewRecord adversarial review findings for the current plan version
ArgumentTypeDescription
findingsarray
resolve_findingsMark adversarial review findings as resolved after plan revision
ArgumentTypeDescription
resolutionsarray
approveApprove the current plan
implementSignal that implementation has started
link_prLink a pull request to the implementation. Idempotent — calling
ArgumentTypeDescription
urlstringCanonical pull request URL. Opaque to the model — pass whatever
pr_mergedRecord that the linked PR has been merged. Transitions to releasing.
ArgumentTypeDescription
mergedAt?stringISO-8601 timestamp of when the PR was merged. Defaults to now.
pr_failedRecord that the linked PR has failed (CI failure, review rejection, etc.).
ArgumentTypeDescription
reasonstringWhy the PR failed: CI failure details, review rejection reason, etc.
shipMark the release as shipped after the release build completes.
ArgumentTypeDescription
releaseUrl?stringURL of the release (e.g., GitHub release page, package registry). Optional.
releaseNotes?stringBrief release notes or summary. Optional.
completeMark the issue lifecycle as done

Resources

state(infinite)— Current lifecycle phase and metadata
context(infinite)— Issue context fetched from swamp-club
classification(infinite)— Issue triage classification
plan(infinite)— Implementation plan (versioned across iterations)
feedback(infinite)— Human feedback on plan (versioned per round)
adversarialReview(infinite)— Adversarial review findings for the current plan version
pullRequest(infinite)— Pull request linked to the implementation. Single instance,

issue-lifecycle5 files