Files
upstream-tldraw/skills/clean-copy/SKILL.md
upstream-mirror a774ac673a
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
2026-09-23 16:12:52 +05:00

2.1 KiB

name, description
name description
clean-copy Reimplement the current branch on a new branch with a clean, narrative-quality git commit history. Use when asked to make a clean copy branch, clean up commit history by replaying work, or rebuild a branch as reviewable commits.

Clean copy

Reimplement the current branch on a new branch with a clean, narrative-quality commit history suitable for reviewer comprehension.

Workflow

  1. Gather context:
    • Source branch: git branch --show-current.
    • Working tree: git status --short.
    • Commits since main: git log main..HEAD --oneline.
    • Diff summary: git diff main...HEAD --stat.
  2. Validate the source branch:
    • Ensure there are no uncommitted changes or merge conflicts.
    • Confirm the source branch is up to date with main.
  3. Choose the new branch name:
    • Use the user's requested name when provided.
    • Otherwise use <source-branch>-clean.
  4. Analyze the diff:
    • Study all changes between the source branch and main.
    • Understand the final intended state before recreating it.
  5. Create the clean branch from main.
  6. Plan the commit storyline:
    • Break the implementation into self-contained logical steps.
    • Each step should read like a stage of development in a tutorial.
  7. Reimplement the work:
    • Recreate the final changes step by step.
    • Commit after each coherent idea.
    • Use clear commit subjects and descriptions.
    • Use git commit --no-verify for intermediate commits so hooks do not block temporarily incomplete states.
  8. Verify correctness:
    • Confirm the final clean branch state exactly matches the original source branch.
    • Run the final commit without --no-verify so normal checks run.
  9. Open a pull request using the pr skill.
    • Include a link to the original branch in the PR description.

Rules

  • Never add yourself or an AI tool as an author, contributor, or co-author.
  • Never include AI attribution in commits or PR content.
  • The final clean branch must be identical to the source branch.
  • Do not force push unless the user explicitly asks for it.