archive-ticket
Archive completed tickets by moving them to .archived/
Best use case
archive-ticket is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Archive completed tickets by moving them to .archived/
Teams using archive-ticket 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/archive-ticket/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How archive-ticket Compares
| Feature / Agent | archive-ticket | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Archive completed tickets by moving them to .archived/
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
# Archive Ticket ## Purpose This skill provides instructions for archiving tickets when their derived phases complete. Archiving moves a ticket from `.ushabti/tickets/` to `.ushabti/tickets/.archived/`, making it invisible to agents. ## When to Archive Archive a ticket when: 1. A phase was derived from the ticket (phase.md contains `ticket: TNNNN` metadata) 2. The phase has been reviewed and approved by Overseer 3. Overseer is declaring the phase complete (status: complete) Archival is part of Overseer's phase completion workflow. ## Archive Procedure ### Step 1: Identify the Ticket When completing a phase: 1. Read the phase.md file 2. Look for a `ticket` metadata field 3. Extract the ticket ID (e.g., `ticket: T0042` means ticket ID is T0042) If no `ticket` field exists, skip archival (the phase was not derived from a ticket). ### Step 2: Locate the Ticket File The ticket file is in `.ushabti/tickets/` with a filename matching `TNNNN-*.yaml` For ticket ID T0042, the filename might be `T0042-improve-error-messages.yaml` Use glob pattern to find the exact filename: ```bash ls .ushabti/tickets/T0042-*.yaml ``` ### Step 3: Ensure Archive Directory Exists Ensure the archive directory exists by running: ```bash mkdir -p .ushabti/tickets/.archived ``` This is idempotent and handles cases where the directory was not created during bootstrap. ### Step 4: Move to Archive Move the ticket file from `.ushabti/tickets/` to `.ushabti/tickets/.archived/` ```bash mv .ushabti/tickets/T0042-improve-error-messages.yaml .ushabti/tickets/.archived/ ``` The filename remains unchanged, only the location changes. ### Step 5: Verify Confirm the ticket file: - No longer exists in `.ushabti/tickets/` - Now exists in `.ushabti/tickets/.archived/` ### Step 6: Log the Action In review.md, document the archival: ```markdown ## Completion Actions - Archived ticket T0042 (improve-error-messages) as phase is complete ``` ## Filesystem Operations ### Command Template ```bash # Ensure archive directory exists mkdir -p .ushabti/tickets/.archived # Find the ticket file TICKET_FILE=$(ls .ushabti/tickets/TNNNN-*.yaml) # Move to archive mv "$TICKET_FILE" .ushabti/tickets/.archived/ # Verify ls .ushabti/tickets/.archived/TNNNN-*.yaml ``` Replace `TNNNN` with the actual ticket ID from phase.md. ## Example: Complete Archival Workflow Phase file (`.ushabti/phases/0012-ticketing-system/phase.md`) contains: ```markdown # Phase 0012: Ticketing System ticket: T0008 ## Intent ... ``` Overseer completes the phase and archives the ticket: ```bash # Ensure archive directory exists mkdir -p .ushabti/tickets/.archived # Find ticket T0008 TICKET_FILE=$(ls .ushabti/tickets/T0008-*.yaml) echo "Found: $TICKET_FILE" # Output: .ushabti/tickets/T0008-add-ticketing-system.yaml # Move to archive mv .ushabti/tickets/T0008-add-ticketing-system.yaml .ushabti/tickets/.archived/ # Verify ls .ushabti/tickets/.archived/T0008-*.yaml # Output: .ushabti/tickets/.archived/T0008-add-ticketing-system.yaml ``` Overseer logs in review.md: ```markdown ## Completion Actions - Archived ticket T0008 (add-ticketing-system) as phase is complete ``` ## Notes - Only Overseer archives tickets, as part of phase completion - Archived tickets are invisible to agents (agents only read `.ushabti/tickets/`, not `.archived/`) - If a ticket file is missing, log the issue but don't fail the phase completion - Archival is a one-way operation; archived tickets are not meant to be restored - The ticket ID and filename do not change, only the directory location
Related Skills
ticket-pipeline
Autonomous per-ticket pipeline that chains ticket-work, local-review, PR creation, CI watching, PR review loop, and auto-merge into a single unattended workflow with Slack notifications and policy guardrails
github-archive
Investigate GitHub security incidents using tamper-proof GitHub Archive data via BigQuery. Use when verifying repository activity claims, recovering deleted PRs/branches/tags/repos, attributing actions to actors, or reconstructing attack timelines. Provides immutable forensic evidence of all public GitHub events since 2011.
archive
Archive completed task/spec work to ./.gtd/archive/
archive-work
Archive completed scratchpads and session logs to project history. Invoke when user says "archive this work", "clean up scratchpad", "archive scratchpad", or after PR is merged.
archive-project
Archive a completed project by creating an AI-generated summary in Knowledge/, storing the git commit hash for reference, and deleting the original project file. Use when user says a project is "done", "complete", "finished", or wants to "archive" it.
archive-plan
Archive completed plan documents by moving them to the plans/archived folder. Use when a plan has been fully implemented, all to-do items are completed, or when the user requests to archive a plan.
archive-increments
Intelligent increment archiving expert that analyzes age, status, and activity to recommend archiving. Use when workspace has too many increments, cleaning up completed work, or organizing the _archive folder. Follows the 10-10-10 rule for workspace organization.
archive-reprocessing
Flexible, version-tracked reprocessing system for archive transformations using design patterns (Strategy, Template Method, Observer). Activate when working with tools/scripts/lib/, reprocessing scripts, transform versions, archive transformations, metadata transformers, or incremental processing workflows.
archive-workflow
Archives completed FABER workflow state and artifacts to cloud storage for historical tracking and analysis
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
obsidian-daily
Manage Obsidian Daily Notes via obsidian-cli. Create and open daily notes, append entries (journals, logs, tasks, links), read past notes by date, and search vault content. Handles relative dates like "yesterday", "last Friday", "3 days ago".
obsidian-additions
Create supplementary materials attached to existing notes: experiments, meetings, reports, logs, conspectuses, practice sessions, annotations, AI outputs, links collections. Two-step process: (1) create aggregator space, (2) create concrete addition in base/additions/. INVOKE when user wants to attach any supplementary material to an existing note. Triggers: "addition", "create addition", "experiment", "meeting notes", "report", "conspectus", "log", "practice", "annotations", "links", "link collection", "аддишн", "конспект", "встреча", "отчёт", "эксперимент", "практика", "аннотации", "ссылки", "добавь к заметке".