{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidxjwzruidxo4tkyelkjss6tmhqfia4bktm2f4tq2jeniaomod4hm",
    "commit": {
      "cid": "bafyreiacha62g5sjlzedefkynt2xcxy6ys6dji73abyup443jj3iaenibm",
      "rev": "3mmjhizyjiq2l"
    },
    "uri": "at://did:plc:o7m6e6is75r3i6dmj6nzpejg/app.bsky.feed.post/3mmjhizu2ec2h",
    "validationStatus": "valid"
  },
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://eurosky.social"
                    }
                  ],
                  "index": {
                    "byteEnd": 54,
                    "byteStart": 47
                  }
                }
              ],
              "plaintext": "I am not very long in the Atmosphere. Actually Eurosky brought me here and made me distract from the Fediverse."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#didMention",
                      "did": "did:plc:rpgnkq2lg73pec3aqk3kyndz"
                    }
                  ],
                  "index": {
                    "byteEnd": 49,
                    "byteStart": 26
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#didMention",
                      "did": "did:plc:o7m6e6is75r3i6dmj6nzpejg"
                    }
                  ],
                  "index": {
                    "byteEnd": 198,
                    "byteStart": 183
                  }
                }
              ],
              "plaintext": "I started with my account @juergen.eurosky.social and followed some interesting folks which also partly followed back. Then I found it chic to have my own domain which is the account @juergen.social I am writing this article for. Since I did not want to loose my first account name, I created a new account at Eurosky. So the task was not to move my old account to the new one, but to migrate some data."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ],
                  "index": {
                    "byteEnd": 242,
                    "byteStart": 230
                  }
                }
              ],
              "plaintext": "The first challenge I needed to close on, was to follow all the accounts with the new account, that I already followed with the existing account. To do this manually is cumbersome, thus I decided to vibe code a tool that I called atproto-tool."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://codeberg.org/wertarbyte/atproto-tool"
                    }
                  ],
                  "index": {
                    "byteEnd": 251,
                    "byteStart": 239
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://codeberg.org/wertarbyte/atproto-tool/src/branch/main/README.md"
                    }
                  ],
                  "index": {
                    "byteEnd": 277,
                    "byteStart": 269
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ],
                  "index": {
                    "byteEnd": 278,
                    "byteStart": 277
                  }
                }
              ],
              "plaintext": "What I used is Claude Code. The requirement was to create an initial function that copies the following list to my new account. The tool, that was created does the job in a very convenient way. Thus I uploaded the source code to Codeberg: atproto-tool. There is also a README.md which explains how to setup the project and how to use the tool."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Feel free to use it and to provide comments and feedback."
            }
          }
        ],
        "id": "019e54bb-feb1-700b-9f0a-698275a21958"
      }
    ]
  },
  "description": "A small problem that I solved with a vibe coded own tool.",
  "path": "/3mmjhitlalc2t",
  "publishedAt": "2026-05-23T12:34:24.022Z",
  "site": "at://did:plc:o7m6e6is75r3i6dmj6nzpejg/site.standard.publication/3mmjfnoxcok25",
  "tags": [
    "vibecoding",
    "atproto",
    "bluesky",
    "moving",
    "atmpsphere"
  ],
  "title": "My New ATProto Tool"
}