End-to-end bug fix workflow — report, analyze, fix, verify, ship (PR + merge + deploy + knowledge capture)

MITAuto-check: warningsDevelopment

Install Bugfix

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add atelier-fashion/adlc-toolkit --skill bugfix -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install atelier-fashion/adlc-toolkit bugfix --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/atelier-fashion/adlc-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/bugfix .claude/skills/bugfix && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bugfix
GitHub stars
171
Token cost
~5k tokens
SKILL.md length
2,460 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

End-to-end bug fix workflow — report, analyze, fix, verify, ship (PR + merge + deploy + knowledge capture)

  • Works in 6 steps: Report → Analyze → Fix → …
  • Tasks that involve Debugging
  • SKILL.md covers Ethos, Context, Input and Prerequisites, plus 4 more sections
  • Calls git, gcloud and npm

What it does

Bugfix is an agent skill from atelier-fashion/adlc-toolkit. End-to-end bug fix workflow — report, analyze, fix, verify, ship (PR + merge + deploy + knowledge capture)

Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Debugging. The repository describes itself as: Shared SDLC skills and templates for Claude Code. The licence is MIT.

When your agent uses it

  • Tasks that involve Debugging

Example prompts

  • “/bugfix”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Report
  2. Analyze
  3. Fix
  4. Verify
  5. Ship — Create Pull Request(s)
  6. Wrapup — Merge, Deploy, Knowledge Capture

What it can do on your machine

Read from SKILL.md and the folder at commit 3a48c27. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gcloud
    • npm
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, gcloud, npm and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bugfix loads about 5k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 2,460 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~28
When it runs · the whole SKILL.md, loaded when a task matches
~5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:117
    ectly with the validated fix approach — do not pause for user confirmation

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from atelier-fashion/adlc-toolkit at commit 3a48c27, republished under its MIT licence (© atelier-fashion). 2,460 words, ~5,040 tokens.

Download SKILL.mdSave it as .claude/skills/bugfix/SKILL.md (or your agent's skills folder).
name
bugfix
description
End-to-end bug fix workflow — report, analyze, fix, verify, ship (PR + merge + deploy + knowledge capture)
argument-hint
Bug description or BUG-xxx ID

/bugfix — Bug Fix Workflow

You are fixing a bug using a streamlined workflow that skips the full spec ceremony but follows the same deployment strategy as a feature: changes land via PR, ride the project's CI/CD pipeline (staging-first if the project has one), and aren't marked resolved until every declared deploy target is confirmed.

Ethos

!test -s .adlc/ETHOS.md && cat .adlc/ETHOS.md || echo No ethos found — run /init to vendor .adlc/ETHOS.md

Context

  • Project config: !test -s .adlc/config.yml && echo present — read .adlc/config.yml before Step 1 || echo none — single-repo legacy mode
  • Bug template: !cat .adlc/templates/bug-template.md || echo No bug template found — run /init to vendor .adlc/templates
  • Conventions: !cat .adlc/context/conventions.md || echo No conventions found
  • Existing bugs: !ls .adlc/bugs/ || echo No bugs directory found

Input

Bug report: $ARGUMENTS

Prerequisites

Before proceeding, verify that .adlc/bugs/ exists. If it doesn't, stop and tell the user: "The .adlc/ structure hasn't been initialized. Run /init first."

Instructions

Phase 1: Report
  1. If given a bug description (not a BUG ID), create a bug report:
    • Determine the next BUG ID using the global atomic counter file ~/.claude/.global-next-bug (shared across all repos for unique IDs, mirroring the REQ counter — see LESSON-004). The counter is now a cache, not the authority — the remote is the source of truth (REQ-518): allocation derives the remote high-water, takes max(remote, local) + 1, and fast-forwards the local counter, all inside the existing mkdir lock. Allocate via the shared partials/id-alloc.sh helper (BR-5 — the lock block + its REQ-416/LESSON-014 rationale live in the partial). Source it and call adlc_alloc_id in the same fenced block (the cross-fence-fn rule — see conventions.md "Bash in skills"):
      bash
      if [ -f .adlc/partials/id-alloc.sh ]; then . .adlc/partials/id-alloc.sh; else . ~/.claude/skills/partials/id-alloc.sh; fi
      BUG_NUM=$(adlc_alloc_id bug)
      # `exit 1` inside adlc_alloc_id's subshell terminates only the subshell — BUG_NUM
      # would be silently empty. Guard the parent context (REQ-416 verify D-pass).
      [ -n "$BUG_NUM" ] || { echo "ERROR: failed to allocate BUG number — aborting before writing malformed bug report" >&2; exit 1; }
      # If ADLC_ALLOC_DEGRADED=1 (remote unreachable), the helper warned on stderr — note
      # "id allocated without remote verification — verify before PR" (BR-3). Never block.
      adlc_alloc_id bug handles the absent-counter bootstrap scan internally (highest BUG-xxx under $ADLC_REPOS_ROOT; bug reports are .md files so the scan uses -type f), the mkdir lock that serializes concurrent sessions, and the remote high-water max. Single-machine behavior is unchanged when the remote has no higher allocation (BR-7). Note: the legacy per-repo .adlc/.next-bug counter is deprecated and no longer consulted — existing files can be left in place but should not be read or written.
    • Pre-push recheck (BR-4, BR-8). Before the bug file is committed on a branch for push, re-verify BUG-<id> against the remote — a colleague on another machine may have pushed the same id since allocation. Source partials/id-recheck.sh and call adlc_recheck_id in the same fenced block; a collision halts with the renumber instruction rather than pushing a duplicate:
      bash
      if [ -f .adlc/partials/id-recheck.sh ]; then . .adlc/partials/id-recheck.sh; else . ~/.claude/skills/partials/id-recheck.sh; fi
      BUG_ID=$(printf 'BUG-%03d' "$BUG_NUM")
      if ! adlc_recheck_id bug "$BUG_ID"; then
        echo "Halting: $BUG_ID collides on the remote — renumber before pushing (see message above)." >&2
        exit 1
      fi
    • Create .adlc/bugs/BUG-xxx-slug.md (always in the current repo — this becomes the "primary" for the bug) using the template from .adlc/templates/bug-template.md
    • Fill in: description, reproduction steps (if known), expected vs actual behavior, environment
    • Set status to open, severity based on impact
    • Cross-repo: if .adlc/config.yml declares siblings AND the bug's fix likely lives in a sibling (e.g., a frontend symptom whose root cause is in a backend repo), add a repo: <sibling-id> field to the bug frontmatter. If the fix spans multiple repos, add a touched_repos: [<id>, <id>] field. The repo: field determines where Phase 3's commit and Phase 4's PR land.
  2. If given a BUG ID, read the existing bug report — note any repo: or touched_repos: field for routing.
Phase 2: Analyze
  1. Launch Explore agents to trace the bug:

    • Search for relevant code paths based on the bug description
    • Trace the execution flow that triggers the bug
    • Identify the root cause (not just symptoms)
  2. Read the identified files to understand the context

  3. Document the root cause in the bug report's "Root Cause" section

  4. Validate the analysis:

    • Re-read the affected code paths to confirm the root cause is correct
    • Check for secondary issues or edge cases related to the bug
    • Adjust the root cause and fix approach if validation reveals inaccuracies
  5. Update the bug report with the validated findings

  6. Attribute the incident to the REQ that shipped its cause (REQ-593). Root-cause analysis has just produced a file/line set; that set is exactly what git blame needs to name the change that introduced the behavior. Derive the candidates, then record or refuse — never guess.

    Derivation is per-repo (BR-8), keyed off the bug's repo: / touched_repos: frontmatter: blame each repo against its own history, but validate every id against the primary repo, because in cross-repo mode spec directories exist only there (BR-5). Source the partial and call it in the same fenced block (the cross-fence-fn rule — see conventions.md "Bash in skills"):

    bash
    if [ -f .adlc/partials/attribution.sh ]; then . .adlc/partials/attribution.sh; else . ~/.claude/skills/partials/attribution.sh; fi
    # <repo> = the repo whose history to blame (this repo, or a sibling's path from
    # .adlc/config.yml). <primary> = the repo holding .adlc/specs — always the current repo.
    # <file> <start> <end> = one root-cause range from step 4. Repeat per range, per repo.
    adlc_attr_blame_reqs "<repo>" "<primary>" "<file>" "<start>" "<end>"

    Union the output across every range and repo, then act on the distinct id count:

    • 0 candidates — write attribution: none and leave introduced_by: []. Emit exactly one stderr line naming the reason (no trailer in the blamed commits / the lines pre-date the trailer convention / the file is untracked), then continue to Phase 3. A bug with no derivable REQ is a normal outcome, not a failure: never halt, and never fabricate an id (BR-7).
    • 1 candidate — write introduced_by: [REQ-xxx] and attribution: derived.
    • 2+ candidates — present all of them and write nothing. Ask the operator to select one or more; selecting several is legitimate when a defect genuinely emerges from the interaction of multiple merged REQs, and is what makes introduced_by an array. Record the selection with attribution: derived. Do not auto-union and do not pick the lowest id or the most recent commit — a detected-but-unresolvable attribution refuses rather than guessing (BR-3, LESSON-483).

    Never write an id the partial did not return: it has already enforced the strict ^REQ-[0-9]{3,6}$ pattern and confirmed the spec directory exists (BR-5). A trailer citing a REQ with no spec directory is dropped on purpose.

    The reverse edge is not written anywhere. REQ → its incidents is derived at read time by scanning .adlc/bugs/ frontmatter (/status does this); storing it in the REQ spec would rot the moment an artifact is moved or renumbered (BR-4, LESSON-019).

Phase 3: Fix
  1. Determine target repo: if the bug's frontmatter has repo: and it names a sibling (not this repo), cd into that sibling's path from .adlc/config.yml and do all fix work there. For touched_repos: [...], cd into each in turn — one commit per repo, on a shared branch name. Otherwise fix in the current repo.
  2. Proceed directly with the validated fix approach — do not pause for user confirmation
  3. Implement the fix following project conventions
  4. Ensure the fix addresses the root cause, not just symptoms
  5. Update related test files if the fix changes behavior
  6. Track progress with TodoWrite
Phase 4: Verify
  1. Run the test suite: npm test (or appropriate test command)
  2. If tests fail, fix and re-run
  3. Update the bug report (do NOT mark resolved yet — that happens in Phase 6 after the fix is merged and deployed):
    • Leave status as open (or set to in-review if your project uses that value)
    • Fill in "Resolution" section with what was changed and why
    • Fill in "Files Changed" section with specific file paths
    • Update the updated date
  4. Present an interim summary:
    • Root cause
    • What was fixed
    • Files changed
    • Test results
    • Then continue to Phase 5
Phase 5: Ship — Create Pull Request(s)

For each touched repo (just the current repo in single-repo mode; each entry in touched_repos: in cross-repo mode):

  1. Push the fix branch: git -C <worktree> push -u origin fix/bug-xxx-slug
  2. Create the PR with adlc_forge_pr_create (source partials/forge.sh with the guarded spelling from conventions.md "Bash in skills" in the same fence; run from inside the worktree, or pass -R <owner/repo>). All PR ops route through the forge adapter, never direct gh (REQ-520 BR-1). In cross-repo mode, create the primary repo's PR last so its body can link every sibling.
    • Title: fix(BUG-xxx): short description — when cross-repo, scope to the repo (e.g., fix(api): null deref in user serializer [BUG-042]).
    • Body:
      ## Summary
      [1-2 lines describing what broke and what was fixed in THIS repo]
      
      ## Bug
      BUG-xxx: [bug title]
      Severity: [critical | high | medium | low]
      Primary repo: <primary-repo-id>
      
      ## Root Cause
      [Pulled from the bug report's Root Cause section]
      
      ## Files Changed (this repo)
      - `path/to/file.ts` — what changed and why
      
      ## Related PRs (cross-repo)
      [Omit in single-repo mode. Otherwise list each sibling PR URL — back-fill
       sibling bodies via `adlc_forge_pr_edit` once every URL is known.]
      
      ## Test Plan
      - [ ] Unit/integration tests pass locally
      - [ ] CI green on this PR
      - [ ] Staging deploy succeeded (verified in Phase 6)
      - [ ] Production deploy succeeded (verified in Phase 6)
  3. After all sibling PRs exist, edit each one (adlc_forge_pr_edit <prUrl> --body ...) to fill in the Related PRs section.
  4. Wait for CI to pass on every PR: gh pr checks <prUrl>. If CI fails, diagnose and re-push — never bypass with --no-verify or admin-merge.
  5. Report all PR URLs to the user, grouped by repo.
Show full SKILL.md (954 more words)Show less
Phase 6: Wrapup — Merge, Deploy, Knowledge Capture

This is the equivalent of /proceed's Phase 8 / /wrapup steps, condensed for bugs.

Step 1 — Merge each PR.

  1. Verify the PR is mergeable: adlc_forge_pr_view <prUrl> --json mergeable,mergeStateStatus should report MERGEABLE (on GitHub; ADO normalizes via pr_view). If main has advanced, rebase the fix branch onto origin/main, force-push with lease, and wait for CI to re-pass.
  2. Merge with squash + branch delete: adlc_forge_pr_merge <prUrl> --squash --delete-branch. In cross-repo mode, walk touched_repos: order (or merge_order: from .adlc/config.yml if not specified on the bug).
  3. Check branch_deleted in the output (BUG-195). gh's post-merge cleanup routinely aborts when the default branch is checked out in another worktree — the normal state for an agent session. The adapter completes the remote deletion itself and reports branch_deleted=1 (or skipped-fork). If it reports branch_deleted=0, the remote branch survived: run the exact git push origin --delete <branch> the warn= line names before continuing. Branch on this field, never on the warn= prose.

Step 2 — Confirm deploys (this is the staging-first gate when the project has one — same model as features).

Skip this step entirely if the project doesn't deploy via Cloud Run (i.e., stack.backends in .adlc/config.yml doesn't include cloud-run and there's no gcp: block).

Otherwise, for each touched service that has a services: entry in .adlc/config.yml, look up gcp.staging_project and gcp.production_project from the config and confirm both:

bash
# Staging
gcloud run services describe <service> \
  --project=<gcp.staging_project from config> \
  --region=<services[<id>].region or gcp.default_region> \
  --format="value(status.latestReadyRevisionName,status.traffic[0].revisionName)"

# Production
gcloud run services describe <service> \
  --project=<gcp.production_project from config> \
  --region=<services[<id>].region or gcp.default_region> \
  --format="value(status.latestReadyRevisionName,status.traffic[0].revisionName)"

Confirm the merge SHA's revision is serving 100% traffic in each. If gcp.production_project is omitted (no separate prod project), only confirm staging.

If staging deployed but production has NOT yet been promoted, wait — the pipeline runs them sequentially. If either fails, surface to the user with the failed deploy log link before claiming the bug resolved.

iOS deploy (only when stack.frontends in .adlc/config.yml includes ios AND the fix touched the iOS repo):

  1. Read ios.deploy_targets, ios.derived_data_clean, and ios.deploy_command from .adlc/config.yml.
  2. If ios.derived_data_clean is true: rm -rf ~/Library/Developer/Xcode/DerivedData/*
  3. From the iOS repo's worktree, run <ios.deploy_command> and deploy to every device in ios.deploy_targets — never skip one. Don't leave this as a follow-up for the user.

If stack.frontends doesn't include ios, skip this section entirely.

Step 3 — Update the bug report.

  • Set status to resolved
  • Update the updated date
  • Confirm Resolution and Files Changed sections are filled in (from Phase 4)
  • Add a Deployment section noting the staging + production revisions

Step 4 — Capture knowledge (NEVER skip — per memory feedback_wrapup_knowledge_capture.md).

Evaluate honestly: did this bug reveal something a future implementer should know?

  • A surprising failure mode (race condition, schema mismatch, mocked-vs-real divergence, etc.)?
  • A pattern or anti-pattern worth recording?
  • A check that would have caught this earlier?
  • An assumption from a prior REQ that turned out false?

If yes, write a lesson to .adlc/knowledge/lessons/LESSON-xxx-slug.md using the global atomic counter ~/.claude/.global-next-lesson (shared across all repos for unique IDs, mirroring the REQ/BUG counters — see LESSON-004). The counter is now a cache, not the authority — the remote is the source of truth (REQ-518): allocation derives the remote high-water, takes max(remote, local) + 1, and fast-forwards the local counter, all inside the shared mkdir-lock (~/.claude/.global-next-lesson.lock.d, shared with /wrapup so concurrent /bugfix and /wrapup runs mutually exclude). Allocate via the shared partials/id-alloc.sh helper (BR-5 — the lock block + its LESSON-014 symlink pre-check live in the partial). Source it and call adlc_alloc_id in the same fenced block (the cross-fence-fn rule — see conventions.md "Bash in skills"):

bash
if [ -f .adlc/partials/id-alloc.sh ]; then . .adlc/partials/id-alloc.sh; else . ~/.claude/skills/partials/id-alloc.sh; fi
LESSON_NUM=$(adlc_alloc_id lesson)
# `exit 1` inside adlc_alloc_id's subshell terminates only the subshell — LESSON_NUM
# would be silently empty. Guard the parent context (REQ-416 verify D-pass).
[ -n "$LESSON_NUM" ] || { echo "ERROR: failed to allocate LESSON number — aborting before writing malformed lesson" >&2; exit 1; }

adlc_alloc_id lesson handles the absent-counter bootstrap scan internally (highest LESSON-xxx under $ADLC_REPOS_ROOT; lessons are .md files so the scan uses -type f), the shared mkdir lock, and the remote high-water max. Single-machine behavior is unchanged when the remote has no higher allocation (BR-7). Note: the legacy per-repo .adlc/.next-lesson counter is deprecated and no longer consulted — existing files can be left in place but should not be read or written.

Pre-push recheck (BR-4, BR-8). Before the lesson file is committed on a branch for push, re-verify LESSON-<id> against the remote — a colleague on another machine may have pushed the same id since allocation. Source partials/id-recheck.sh and call adlc_recheck_id in the same fenced block; a collision halts with the renumber instruction rather than pushing a duplicate:

bash
if [ -f .adlc/partials/id-recheck.sh ]; then . .adlc/partials/id-recheck.sh; else . ~/.claude/skills/partials/id-recheck.sh; fi
LESSON_ID=$(printf 'LESSON-%03d' "$LESSON_NUM")
if ! adlc_recheck_id lesson "$LESSON_ID"; then
  echo "Halting: $LESSON_ID collides on the remote — renumber before pushing (see message above)." >&2
  exit 1
fi

Use the lesson template (.adlc/templates/lesson-template.md, fall back to ~/.claude/skills/templates/lesson-template.md). Filename format is LESSON-xxx-slug.md only — no date prefixes, no bare-numeric prefixes. Include domain, component, and tags so future runs of /spec, /architect, /reflect, and /review can filter by relevance.

If the bug genuinely produced no useful lesson (one-line typo, etc.), say so explicitly in the final summary — don't silently skip.

Step 5 — Clean up.

  1. Switch the local checkout to main and pull: git -C <main-worktree> checkout main && git -C <main-worktree> pull
  2. If the fix was done in a separate worktree, remove it: git -C <main-worktree> worktree remove <fix-worktree-path>
  3. If the fix branch still exists locally after squash-merge, delete it: git branch -D fix/bug-xxx-slug
  4. Prune remote-tracking refs: git fetch --prune

Step 6 — Final ship summary.

## BUG-xxx: Bug Title — Resolved

**Severity**: <severity>
**PR(s)**: #nn (and siblings if cross-repo)
**Merged**: YYYY-MM-DD

### Root cause
- 1-2 lines

### Fix
- 1-2 lines

### Deployment
- Staging: <service> revision <hash> @ 100% traffic
- Production: <service> revision <hash> @ 100% traffic
- iOS: deployed to <list of ios.deploy_targets from config> (or "n/a — backend-only fix")

### Lessons captured
- `.adlc/knowledge/lessons/LESSON-xxx-slug.md` — one-line hook
  (or "None — fix was straightforward and revealed no new pattern")

Branch Naming

Use fix/bug-xxx-slug for the branch name. In cross-repo bugs, use the same branch name in every touched repo so PRs can be linked visually.

Commit Message Format

fix(BUG-xxx): short description of the fix

Cross-Repo Bugs (brief)

When a bug's fix spans repos (via touched_repos: in the bug frontmatter):

  • The bug report itself always lives in the repo /bugfix was invoked from (the "primary" for this bug).
  • Phase 3 makes one commit per touched repo, each on a branch with the same name (fix/bug-xxx-slug).
  • Phase 5 opens one PR per touched repo and cross-links them (primary PR's body is created last so it can reference every sibling URL).
  • Phase 6 merges in the order the repos are listed in touched_repos:. If the bug report doesn't specify an order, use the merge_order from .adlc/config.yml.
  • If this gets complicated (more than 2 touched repos, or ordering matters), consider promoting the bug into a full REQ and using /proceed instead.

© atelier-fashion, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in bugfix of atelier-fashion/adlc-toolkit.

Open the folder on GitHubat commit 3a48c27

Compare with similar skills

Bugfix next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bugfix compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bugfix this skillatelier-fashion/adlc-toolkit171—~5kAutomated safety check: WarnMIT
Trellis Session Insightmindfold-ai/Trellis15k4 repos~1.7kAutomated safety check: PassAGPL-3.0
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Debugging Executionsn8n-io/n8n207k—~2.6kAutomated safety check: PassCustom licence
Aoti Debugpytorch/pytorch104k1 repos~1.7kAutomated safety check: PassCustom licence
Herdr Throwaway Reproductionherdrdev/herdr43k—~2.4kAutomated safety check: PassApache-2.0

Similar skills

  • Trellis Session Insight

    mindfold-ai/Trellis

    Reach into past AI conversation history through the trellis mem CLI.

    15k GitHub starsUsed in 4 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Official

    Debug failed or wrong-output workflow executions using executions tools.

    207k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Aoti Debug

    pytorch/pytorch

    Debug AOTInductor (AOTI) errors and crashes. An agent skill from pytorch/pytorch.

    104k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed
  • Runs a disposable, uniquely named Herdr session inside an existing one so runtime, pane, terminal or API bugs can be reproduced without touching the main session.

    43k GitHub stars~2.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Systematic Debugging

    ultralisp/ultralisp

    A skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes

    258 GitHub starsUsed in 51 repos~2.4k tokens
    DevelopmentAuto-check passed

More from atelier-fashion/adlc-toolkit

All 16 skills in this repo
  • Canary

    atelier-fashion/adlc-toolkit

    Canary deployment with smoke tests — deploy to a zero-traffic revision, run health checks, and promote on success.

    171 GitHub stars~2.2k tokensUpdated 12 days ago
    Auto-check passed
  • Sprint

    atelier-fashion/adlc-toolkit

    Parallel pipeline orchestrator — launch multiple /proceed sessions concurrently across REQs, monitor progress, and report status.

    171 GitHub stars~9.8k tokensUpdated 12 days ago
    Auto-check passed
  • Template Drift

    atelier-fashion/adlc-toolkit

    Detect drift across ALL the sync surfaces /init vendors into a project — .adlc/templates/.md, .adlc/partials/.sh, .adlc/ETHOS.md, and the workflow runtime (.adlc/workflows/adlc-sprint.workflow.js +…

    171 GitHub stars~9k tokensUpdated 12 days ago
    Auto-check passed
  • Proceed

    atelier-fashion/adlc-toolkit

    End-to-end ADLC pipeline that takes a requirement from spec through to deployed.

    171 GitHub stars~14k tokensUpdated 12 days ago
    Auto-check: warnings
  • Init

    atelier-fashion/adlc-toolkit

    Bootstrap .adlc/ structure in a new repo or subdirectory. An agent skill from atelier-fashion/adlc-toolkit.

    171 GitHub stars~4.1k tokensUpdated 12 days ago
    Auto-check passed
  • Manifest

    atelier-fashion/adlc-toolkit

    Remote-derived view of all in-flight ADLC work — open PRs and pushed feat/REQ- branches across every session — with a coarse component/domain overlap report.

    171 GitHub stars~4.8k tokensUpdated 12 days ago
    Auto-check passed

Categories

Questions about Bugfix

What does Bugfix do?

End-to-end bug fix workflow — report, analyze, fix, verify, ship (PR + merge + deploy + knowledge capture). Bugfix is an agent skill from atelier-fashion/adlc-toolkit.

When should I use Bugfix?

Bugfix fits situations like: tasks that involve Debugging.

How do I install Bugfix in Claude Code?

Run `npx skills add atelier-fashion/adlc-toolkit --skill bugfix -a claude-code`. Or copy the skill folder (bugfix in atelier-fashion/adlc-toolkit) into .claude/skills/bugfix in your project. Claude Code loads it when a task matches its description.

How do I install Bugfix in Codex?

Run `npx skills add atelier-fashion/adlc-toolkit --skill bugfix -a codex`. Or copy the skill folder (bugfix in atelier-fashion/adlc-toolkit) into .agents/skills/bugfix in your project. Codex loads it when a task matches its description.

Can I use Bugfix in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add atelier-fashion/adlc-toolkit --skill bugfix -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bugfix, .gemini/skills/bugfix, .github/skills/bugfix and .opencode/skills/bugfix in your project.

What does Bugfix need to run?

Going by SKILL.md and its folder, Bugfix needs the command-line tools its instructions call (git, gcloud, npm and gh).

Does Bugfix access the network?

SKILL.md contains no URLs. Its commands use git, npm and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Bugfix safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Bugfix use?

Bugfix is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bugfix use?

About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bugfix?

Skills that share tags, products or a category with Bugfix: Trellis Session Insight (mindfold-ai/Trellis, 15k stars), Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars), Debugging Executions (n8n-io/n8n, 207k stars) and Aoti Debug (pytorch/pytorch, 104k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bugfix?

atelier-fashion (a GitHub organization) maintains it in atelier-fashion/adlc-toolkit, which has 171 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 28, 2026.

Source: atelier-fashion/adlc-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.