{"id":18048125,"url":"https://github.com/startautomating/psa","last_synced_at":"2026-03-10T15:31:49.400Z","repository":{"id":194254677,"uuid":"690407582","full_name":"StartAutomating/PSA","owner":"StartAutomating","description":"PowerShell Announcements (with AtProtocol)","archived":false,"fork":false,"pushed_at":"2024-12-28T07:56:30.000Z","size":4651,"stargazers_count":7,"open_issues_count":31,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-10T12:49:16.300Z","etag":null,"topics":["announcement-generator","announcements","atproto","atprotocol","bluesky","bluesky-client","githubactions","powershell","powershell-module"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StartAutomating.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"contributing.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["StartAutomating"]}},"created_at":"2023-09-12T06:23:09.000Z","updated_at":"2025-01-06T09:37:15.000Z","dependencies_parsed_at":"2025-04-10T09:49:45.939Z","dependency_job_id":"ac14d21f-9f25-4525-993b-6b57e067ca16","html_url":"https://github.com/StartAutomating/PSA","commit_stats":null,"previous_names":["startautomating/psa"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/StartAutomating/PSA","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartAutomating%2FPSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartAutomating%2FPSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartAutomating%2FPSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartAutomating%2FPSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StartAutomating","download_url":"https://codeload.github.com/StartAutomating/PSA/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartAutomating%2FPSA/sbom","scorecard":{"id":133872,"data":{"date":"2025-08-04","repo":{"name":"github.com/StartAutomating/PSA","commit":"587709fbed842c92a51b2e69fcfb0ac9d5892d62"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4,"checks":[{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Code-Review","score":0,"reason":"Found 0/1 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/BuildPSA.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:201: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:587: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:591: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:594: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:597: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:600: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/BuildPSA.yml:602: update your workflow using https://app.stepsecurity.io/secureworkflow/StartAutomating/PSA/BuildPSA.yml/main?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T05:52:42.602Z","repository_id":194254677,"created_at":"2025-08-16T05:52:42.602Z","updated_at":"2025-08-16T05:52:42.602Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30340117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:03:31.997Z","status":"ssl_error","status_checked_at":"2026-03-10T15:01:30.431Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["announcement-generator","announcements","atproto","atprotocol","bluesky","bluesky-client","githubactions","powershell","powershell-module"],"created_at":"2024-10-30T20:11:41.519Z","updated_at":"2026-03-10T15:31:49.375Z","avatar_url":"https://github.com/StartAutomating.png","language":"PowerShell","readme":"\u003cdiv align='center'\u003e\n\u003cimg src='Assets/PSA@1080p.png' alt='PSA' /\u003e\n\u003cbr/\u003e\n\u003ca href='https://github.com/sponsors/StartAutomating'\u003e❤️\u003c/a\u003e\n\u003ca href='https://github.com/StartAutomating/PSA/stargazers'\u003e⭐\u003c/a\u003e\n\u003c/div\u003e\n\n# PowerShell Announcements (with AtProtocol)\n\nPSA is:\n\n* A PowerShell Module For Making Announcements\n* A Beautiful BlueSky Client for the CLI\n* An (Almost) Perfect PowerShell Wrapper for the At Protocol\n* A GitHub Action to Automate Announcements\n\n## Getting Started\n\nTo connect to AtProtocol / BlueSky with PSA, simply use Connect-BlueSky:\n\n~~~PowerShell\n$myCredential = Get-Credential # Provide your handle or email and an app-password\nConnect-BlueSky -Authentication $myCredential\n~~~\n\n## Getting Profiles and Posts\n\nOnce you're connected, you can talk to every part of the At Protocol.\n\nIn the At Protocol, users are called \"Actors\", so, to get a profile, we'd use:\n\n~~~PowerShell\nGet-BskyActorProfile -Actor mrpowershell.bsky.social\n~~~\n\nYou'll see a nice snapshot of a profile:\n\n![PSA Profile View](Assets/PSA-Profile-View.png)\n\nWhile this might look nice, it's actually a full object.\n\nYou can explore what that object can do by piping it to the PowerShell command, Get-Member\n\n~~~PowerShell\nGet-BskyActorProfile -Actor mrpowershell.bsky.social -Cache | Get-Member\n~~~\n\nFor instance, this would show the profile's first 50 posts.\n\n![PSA Posts View](Assets/PSA-Posts-View.png)\n\n~~~PowerShell\n(Get-BskyActorProfile -Actor mrpowershell.bsky.social -Cache).Posts\n~~~\n \nAnd this would show the first 50 liked posts.\n\n~~~PowerShell\n(Get-BskyActorProfile -Actor mrpowershell.bsky.social -Cache).Likes\n~~~\n\nThis shows us the first 50 followers\n\n~~~PowerShell\n(Get-BskyActorProfile -Actor mrpowershell.bsky.social -Cache).Followers\n~~~\n\nThis shows us the first 50 follows\n\n~~~PowerShell\n(Get-BskyActorProfile -Actor mrpowershell.bsky.social -Cache).Follows\n~~~\n\nTo get more of any of these results, simply get the .More property\n\n~~~PowerShell\n# Get the profile\n$BlueSkyProfile = (Get-BskyActorProfile -Actor mrpowershell.bsky.social -Cache)\n# Get the first 50 posts\n$BlueSkyProfile.Posts\n# Get the next 50 posts\n$BlueSkyProfile.Posts.More\n~~~\n\n\n## How PSA is Built\n\nPSA is primarily built automatically.\n\nIt uses [PipeScript](https://github.com/StartAutomating/PipeScript) to generate PowerShell commands automatically for every lexicon in the At Protocol.\n\n[EZOut](https://github.com/StartAutomating/EZOut) is used to add formatting, so that posts and profiles look nice and can be clicked.\n\n## SendPSA - The GitHub Action\n\nPSA can be used as a GitHub Action!  Just add these few lines to any job:\n\n~~~yaml\n- name: Run PSA\n  uses: StartAutomating/PSA@main\n  id: PSA\n~~~\n\nThis will import PSA and look thru the workspace for any `*.PSA.ps1` files and run them.\n\nCheck out PSA's [PSA Script](https://github.com/StartAutomating/PSA/blob/main/PSA.PSA.ps1) for a useful example.\n\n\n## PSA Commands\n\nPSA exports 535 commands\n(118 functions and 417 aliases)\n\nFunctions\n=========\n\n\n|Name                                                                                    |Synopsis                                   |\n|----------------------------------------------------------------------------------------|-------------------------------------------|\n|[Add-AtProtoModerationReport](docs/Add-AtProtoModerationReport.md)                      |com.atproto.moderation.createReport        |\n|[Add-AtProtoRepoRecord](docs/Add-AtProtoRepoRecord.md)                                  |com.atproto.repo.createRecord              |\n|[Add-AtProtoServerAccount](docs/Add-AtProtoServerAccount.md)                            |com.atproto.server.createAccount           |\n|[Add-AtProtoServerAppPassword](docs/Add-AtProtoServerAppPassword.md)                    |com.atproto.server.createAppPassword       |\n|[Add-AtProtoServerInviteCode](docs/Add-AtProtoServerInviteCode.md)                      |com.atproto.server.createInviteCode        |\n|[Add-AtProtoServerInviteCodes](docs/Add-AtProtoServerInviteCodes.md)                    |com.atproto.server.createInviteCodes       |\n|[Add-AtProtoServerSession](docs/Add-AtProtoServerSession.md)                            |com.atproto.server.createSession           |\n|[Block-BskyGraphActor](docs/Block-BskyGraphActor.md)                                    |app.bsky.graph.muteActor                   |\n|[Block-BskyGraphActorList](docs/Block-BskyGraphActorList.md)                            |app.bsky.graph.muteActorList               |\n|[Connect-AtProto](docs/Connect-AtProto.md)                                              |Connects to the AtProtocol                 |\n|[Disable-AtProtoAdminAccountInvites](docs/Disable-AtProtoAdminAccountInvites.md)        |com.atproto.admin.disableAccountInvites    |\n|[Disable-AtProtoAdminInviteCodes](docs/Disable-AtProtoAdminInviteCodes.md)              |com.atproto.admin.disableInviteCodes       |\n|[Enable-AtProtoAdminAccountInvites](docs/Enable-AtProtoAdminAccountInvites.md)          |com.atproto.admin.enableAccountInvites     |\n|[Get-AtProtoAdminDefinition](docs/Get-AtProtoAdminDefinition.md)                        |\n|[Get-AtProtoAdminInviteCodes](docs/Get-AtProtoAdminInviteCodes.md)                      |com.atproto.admin.getInviteCodes           |\n|[Get-AtProtoAdminModerationAction](docs/Get-AtProtoAdminModerationAction.md)            |com.atproto.admin.getModerationAction      |\n|[Get-AtProtoAdminModerationActions](docs/Get-AtProtoAdminModerationActions.md)          |com.atproto.admin.getModerationActions     |\n|[Get-AtProtoAdminModerationReport](docs/Get-AtProtoAdminModerationReport.md)            |com.atproto.admin.getModerationReport      |\n|[Get-AtProtoAdminModerationReports](docs/Get-AtProtoAdminModerationReports.md)          |com.atproto.admin.getModerationReports     |\n|[Get-AtProtoAdminRecord](docs/Get-AtProtoAdminRecord.md)                                |com.atproto.admin.getRecord                |\n|[Get-AtProtoAdminRepo](docs/Get-AtProtoAdminRepo.md)                                    |com.atproto.admin.getRepo                  |\n|[Get-AtProtoLabelDefinition](docs/Get-AtProtoLabelDefinition.md)                        |\n|[Get-AtProtoModerationDefinition](docs/Get-AtProtoModerationDefinition.md)              |\n|[Get-AtProtoRepo](docs/Get-AtProtoRepo.md)                                              |com.atproto.repo.describeRepo              |\n|[Get-AtProtoRepoRecord](docs/Get-AtProtoRepoRecord.md)                                  |com.atproto.repo.getRecord                 |\n|[Get-AtProtoRepoRecords](docs/Get-AtProtoRepoRecords.md)                                |com.atproto.repo.listRecords               |\n|[Get-AtProtoServer](docs/Get-AtProtoServer.md)                                          |com.atproto.server.describeServer          |\n|[Get-AtProtoServerAccountInviteCodes](docs/Get-AtProtoServerAccountInviteCodes.md)      |com.atproto.server.getAccountInviteCodes   |\n|[Get-AtProtoServerAppPasswords](docs/Get-AtProtoServerAppPasswords.md)                  |com.atproto.server.listAppPasswords        |\n|[Get-AtProtoServerDefinition](docs/Get-AtProtoServerDefinition.md)                      |\n|[Get-AtProtoServerSession](docs/Get-AtProtoServerSession.md)                            |com.atproto.server.getSession              |\n|[Get-AtProtoSyncBlob](docs/Get-AtProtoSyncBlob.md)                                      |com.atproto.sync.getBlob                   |\n|[Get-AtProtoSyncBlobs](docs/Get-AtProtoSyncBlobs.md)                                    |com.atproto.sync.listBlobs                 |\n|[Get-AtProtoSyncBlocks](docs/Get-AtProtoSyncBlocks.md)                                  |com.atproto.sync.getBlocks                 |\n|[Get-AtProtoSyncCheckout](docs/Get-AtProtoSyncCheckout.md)                              |com.atproto.sync.getCheckout               |\n|[Get-AtProtoSyncHead](docs/Get-AtProtoSyncHead.md)                                      |com.atproto.sync.getHead                   |\n|[Get-AtProtoSyncLatestCommit](docs/Get-AtProtoSyncLatestCommit.md)                      |com.atproto.sync.getLatestCommit           |\n|[Get-AtProtoSyncRecord](docs/Get-AtProtoSyncRecord.md)                                  |com.atproto.sync.getRecord                 |\n|[Get-AtProtoSyncRepo](docs/Get-AtProtoSyncRepo.md)                                      |com.atproto.sync.getRepo                   |\n|[Get-AtProtoSyncRepos](docs/Get-AtProtoSyncRepos.md)                                    |com.atproto.sync.listRepos                 |\n|[Get-BskyActorDefinition](docs/Get-BskyActorDefinition.md)                              |\n|[Get-BskyActorPreferences](docs/Get-BskyActorPreferences.md)                            |app.bsky.actor.getPreferences              |\n|[Get-BskyActorProfile](docs/Get-BskyActorProfile.md)                                    |app.bsky.actor.getProfile                  |\n|[Get-BskyActorProfiles](docs/Get-BskyActorProfiles.md)                                  |app.bsky.actor.getProfiles                 |\n|[Get-BskyActorSuggestions](docs/Get-BskyActorSuggestions.md)                            |app.bsky.actor.getSuggestions              |\n|[Get-BskyFeed](docs/Get-BskyFeed.md)                                                    |app.bsky.feed.getFeed                      |\n|[Get-BskyFeedActorFeeds](docs/Get-BskyFeedActorFeeds.md)                                |app.bsky.feed.getActorFeeds                |\n|[Get-BskyFeedActorLikes](docs/Get-BskyFeedActorLikes.md)                                |app.bsky.feed.getActorLikes                |\n|[Get-BskyFeedAuthorFeed](docs/Get-BskyFeedAuthorFeed.md)                                |app.bsky.feed.getAuthorFeed                |\n|[Get-BskyFeedDefinition](docs/Get-BskyFeedDefinition.md)                                |\n|[Get-BskyFeedGenerator](docs/Get-BskyFeedGenerator.md)                                  |app.bsky.feed.getFeedGenerator             |\n|[Get-BskyFeedGenerators](docs/Get-BskyFeedGenerators.md)                                |app.bsky.feed.getFeedGenerators            |\n|[Get-BskyFeedLikes](docs/Get-BskyFeedLikes.md)                                          |app.bsky.feed.getLikes                     |\n|[Get-BskyFeedListFeed](docs/Get-BskyFeedListFeed.md)                                    |app.bsky.feed.getListFeed                  |\n|[Get-BskyFeedPosts](docs/Get-BskyFeedPosts.md)                                          |app.bsky.feed.getPosts                     |\n|[Get-BskyFeedPostThread](docs/Get-BskyFeedPostThread.md)                                |app.bsky.feed.getPostThread                |\n|[Get-BskyFeedRepostedBy](docs/Get-BskyFeedRepostedBy.md)                                |app.bsky.feed.getRepostedBy                |\n|[Get-BskyFeedSkeleton](docs/Get-BskyFeedSkeleton.md)                                    |app.bsky.feed.getFeedSkeleton              |\n|[Get-BskyFeedSuggestedFeeds](docs/Get-BskyFeedSuggestedFeeds.md)                        |app.bsky.feed.getSuggestedFeeds            |\n|[Get-BskyFeedTimeline](docs/Get-BskyFeedTimeline.md)                                    |app.bsky.feed.getTimeline                  |\n|[Get-BskyGraphBlocks](docs/Get-BskyGraphBlocks.md)                                      |app.bsky.graph.getBlocks                   |\n|[Get-BskyGraphDefinition](docs/Get-BskyGraphDefinition.md)                              |\n|[Get-BskyGraphFollowers](docs/Get-BskyGraphFollowers.md)                                |app.bsky.graph.getFollowers                |\n|[Get-BskyGraphFollows](docs/Get-BskyGraphFollows.md)                                    |app.bsky.graph.getFollows                  |\n|[Get-BskyGraphList](docs/Get-BskyGraphList.md)                                          |app.bsky.graph.getList                     |\n|[Get-BskyGraphListBlocks](docs/Get-BskyGraphListBlocks.md)                              |app.bsky.graph.getListBlocks               |\n|[Get-BskyGraphListMutes](docs/Get-BskyGraphListMutes.md)                                |app.bsky.graph.getListMutes                |\n|[Get-BskyGraphLists](docs/Get-BskyGraphLists.md)                                        |app.bsky.graph.getLists                    |\n|[Get-BskyGraphMutes](docs/Get-BskyGraphMutes.md)                                        |app.bsky.graph.getMutes                    |\n|[Get-BskyGraphSuggestedFollowsByActor](docs/Get-BskyGraphSuggestedFollowsByActor.md)    |app.bsky.graph.getSuggestedFollowsByActor  |\n|[Get-BskyNotifications](docs/Get-BskyNotifications.md)                                  |app.bsky.notification.listNotifications    |\n|[Get-BskyNotificationUnreadCount](docs/Get-BskyNotificationUnreadCount.md)              |app.bsky.notification.getUnreadCount       |\n|[Get-BskyUnspeccedDefinition](docs/Get-BskyUnspeccedDefinition.md)                      |\n|[Get-BskyUnspeccedPopular](docs/Get-BskyUnspeccedPopular.md)                            |app.bsky.unspecced.getPopular              |\n|[Get-BskyUnspeccedPopularFeedGenerators](docs/Get-BskyUnspeccedPopularFeedGenerators.md)|app.bsky.unspecced.getPopularFeedGenerators|\n|[Get-BskyUnspeccedTimelineSkeleton](docs/Get-BskyUnspeccedTimelineSkeleton.md)          |app.bsky.unspecced.getTimelineSkeleton     |\n|[Invoke-AtProto](docs/Invoke-AtProto.md)                                                |Invokes the AT Protocol                    |\n|[Invoke-AtProtoAdminModerationAction](docs/Invoke-AtProtoAdminModerationAction.md)      |com.atproto.admin.takeModerationAction     |\n|[Register-BskyNotificationPush](docs/Register-BskyNotificationPush.md)                  |app.bsky.notification.registerPush         |\n|[Remove-AtProtoRepoRecord](docs/Remove-AtProtoRepoRecord.md)                            |com.atproto.repo.deleteRecord              |\n|[Remove-AtProtoServerAccount](docs/Remove-AtProtoServerAccount.md)                      |com.atproto.server.deleteAccount           |\n|[Remove-AtProtoServerSession](docs/Remove-AtProtoServerSession.md)                      |com.atproto.server.deleteSession           |\n|[Request-AtProtoServerAccountDelete](docs/Request-AtProtoServerAccountDelete.md)        |com.atproto.server.requestAccountDelete    |\n|[Request-AtProtoServerEmailConfirmation](docs/Request-AtProtoServerEmailConfirmation.md)|com.atproto.server.requestEmailConfirmation|\n|[Request-AtProtoServerEmailUpdate](docs/Request-AtProtoServerEmailUpdate.md)            |com.atproto.server.requestEmailUpdate      |\n|[Request-AtProtoServerPasswordReset](docs/Request-AtProtoServerPasswordReset.md)        |com.atproto.server.requestPasswordReset    |\n|[Request-AtProtoSyncCrawl](docs/Request-AtProtoSyncCrawl.md)                            |com.atproto.sync.requestCrawl              |\n|[Reset-AtProtoServerPassword](docs/Reset-AtProtoServerPassword.md)                      |com.atproto.server.resetPassword           |\n|[Resolve-AtProtoAdminModerationReports](docs/Resolve-AtProtoAdminModerationReports.md)  |com.atproto.admin.resolveModerationReports |\n|[Resolve-AtProtoIdentityHandle](docs/Resolve-AtProtoIdentityHandle.md)                  |com.atproto.identity.resolveHandle         |\n|[Revoke-AtProtoServerAppPassword](docs/Revoke-AtProtoServerAppPassword.md)              |com.atproto.server.revokeAppPassword       |\n|[Search-AtProtoAdminRepos](docs/Search-AtProtoAdminRepos.md)                            |com.atproto.admin.searchRepos              |\n|[Search-AtProtoLabels](docs/Search-AtProtoLabels.md)                                    |com.atproto.label.queryLabels              |\n|[Search-BskyActors](docs/Search-BskyActors.md)                                          |app.bsky.actor.searchActors                |\n|[Search-BskyActorsTypeahead](docs/Search-BskyActorsTypeahead.md)                        |app.bsky.actor.searchActorsTypeahead       |\n|[Search-BskyFeedPosts](docs/Search-BskyFeedPosts.md)                                    |app.bsky.feed.searchPosts                  |\n|[Search-BskyUnspeccedActorsSkeleton](docs/Search-BskyUnspeccedActorsSkeleton.md)        |app.bsky.unspecced.searchActorsSkeleton    |\n|[Search-BskyUnspeccedPostsSkeleton](docs/Search-BskyUnspeccedPostsSkeleton.md)          |app.bsky.unspecced.searchPostsSkeleton     |\n|[Send-AtProto](docs/Send-AtProto.md)                                                    |Sends to the At Protocol                   |\n|[Send-AtProtoAdminEmail](docs/Send-AtProtoAdminEmail.md)                                |com.atproto.admin.sendEmail                |\n|[Set-AtProtoRepoBlob](docs/Set-AtProtoRepoBlob.md)                                      |com.atproto.repo.uploadBlob                |\n|[Set-AtProtoRepoRecord](docs/Set-AtProtoRepoRecord.md)                                  |com.atproto.repo.putRecord                 |\n|[Set-AtProtoRepoWrites](docs/Set-AtProtoRepoWrites.md)                                  |com.atproto.repo.applyWrites               |\n|[Set-BskyActorPreferences](docs/Set-BskyActorPreferences.md)                            |app.bsky.actor.putPreferences              |\n|[Set-BskyUnspeccedLabels](docs/Set-BskyUnspeccedLabels.md)                              |app.bsky.unspecced.applyLabels             |\n|[Sync-AtProtoServerSession](docs/Sync-AtProtoServerSession.md)                          |com.atproto.server.refreshSession          |\n|[Unblock-BskyGraphActor](docs/Unblock-BskyGraphActor.md)                                |app.bsky.graph.unmuteActor                 |\n|[Unblock-BskyGraphActorList](docs/Unblock-BskyGraphActorList.md)                        |app.bsky.graph.unmuteActorList             |\n|[Undo-AtProtoAdminModerationAction](docs/Undo-AtProtoAdminModerationAction.md)          |com.atproto.admin.reverseModerationAction  |\n|[Update-AtProtoAdminAccountEmail](docs/Update-AtProtoAdminAccountEmail.md)              |com.atproto.admin.updateAccountEmail       |\n|[Update-AtProtoAdminAccountHandle](docs/Update-AtProtoAdminAccountHandle.md)            |com.atproto.admin.updateAccountHandle      |\n|[Update-AtProtoIdentityHandle](docs/Update-AtProtoIdentityHandle.md)                    |com.atproto.identity.updateHandle          |\n|[Update-AtProtoServerEmail](docs/Update-AtProtoServerEmail.md)                          |com.atproto.server.updateEmail             |\n|[Update-AtProtoTempRepoVersion](docs/Update-AtProtoTempRepoVersion.md)                  |com.atproto.temp.upgradeRepoVersion        |\n|[Update-BskyNotificationSeen](docs/Update-BskyNotificationSeen.md)                      |app.bsky.notification.updateSeen           |\n|[Watch-AtProtoLabels](docs/Watch-AtProtoLabels.md)                                      |com.atproto.label.subscribeLabels          |\n|[Watch-AtProtoSyncRepos](docs/Watch-AtProtoSyncRepos.md)                                |com.atproto.sync.subscribeRepos            |\n|[Watch-AtProtoSyncUpdate](docs/Watch-AtProtoSyncUpdate.md)                              |com.atproto.sync.notifyOfUpdate            |\n\n\n\n\nAliases\n=======\n\n|Name                                                                                    |ResolvedCommand|\n|----------------------------------------------------------------------------------------|---------------|\n|[Add-AtProtoModerationReport](docs/Add-AtProtoModerationReport.md)                      |\n|[Add-AtProtoRepoRecord](docs/Add-AtProtoRepoRecord.md)                                  |\n|[Add-AtProtoServerAccount](docs/Add-AtProtoServerAccount.md)                            |\n|[Add-AtProtoServerAppPassword](docs/Add-AtProtoServerAppPassword.md)                    |\n|[Add-AtProtoServerInviteCode](docs/Add-AtProtoServerInviteCode.md)                      |\n|[Add-AtProtoServerInviteCodes](docs/Add-AtProtoServerInviteCodes.md)                    |\n|[Add-AtProtoServerSession](docs/Add-AtProtoServerSession.md)                            |\n|[Block-BskyGraphActor](docs/Block-BskyGraphActor.md)                                    |\n|[Block-BskyGraphActorList](docs/Block-BskyGraphActorList.md)                            |\n|[Connect-AtProto](docs/Connect-AtProto.md)                                              |\n|[Disable-AtProtoAdminAccountInvites](docs/Disable-AtProtoAdminAccountInvites.md)        |\n|[Disable-AtProtoAdminInviteCodes](docs/Disable-AtProtoAdminInviteCodes.md)              |\n|[Enable-AtProtoAdminAccountInvites](docs/Enable-AtProtoAdminAccountInvites.md)          |\n|[Get-AtProtoAdminDefinition](docs/Get-AtProtoAdminDefinition.md)                        |\n|[Get-AtProtoAdminInviteCodes](docs/Get-AtProtoAdminInviteCodes.md)                      |\n|[Get-AtProtoAdminModerationAction](docs/Get-AtProtoAdminModerationAction.md)            |\n|[Get-AtProtoAdminModerationActions](docs/Get-AtProtoAdminModerationActions.md)          |\n|[Get-AtProtoAdminModerationReport](docs/Get-AtProtoAdminModerationReport.md)            |\n|[Get-AtProtoAdminModerationReports](docs/Get-AtProtoAdminModerationReports.md)          |\n|[Get-AtProtoAdminRecord](docs/Get-AtProtoAdminRecord.md)                                |\n|[Get-AtProtoAdminRepo](docs/Get-AtProtoAdminRepo.md)                                    |\n|[Get-AtProtoLabelDefinition](docs/Get-AtProtoLabelDefinition.md)                        |\n|[Get-AtProtoModerationDefinition](docs/Get-AtProtoModerationDefinition.md)              |\n|[Get-AtProtoRepo](docs/Get-AtProtoRepo.md)                                              |\n|[Get-AtProtoRepoRecord](docs/Get-AtProtoRepoRecord.md)                                  |\n|[Get-AtProtoRepoRecords](docs/Get-AtProtoRepoRecords.md)                                |\n|[Get-AtProtoServer](docs/Get-AtProtoServer.md)                                          |\n|[Get-AtProtoServerAccountInviteCodes](docs/Get-AtProtoServerAccountInviteCodes.md)      |\n|[Get-AtProtoServerAppPasswords](docs/Get-AtProtoServerAppPasswords.md)                  |\n|[Get-AtProtoServerDefinition](docs/Get-AtProtoServerDefinition.md)                      |\n|[Get-AtProtoServerSession](docs/Get-AtProtoServerSession.md)                            |\n|[Get-AtProtoSyncBlob](docs/Get-AtProtoSyncBlob.md)                                      |\n|[Get-AtProtoSyncBlobs](docs/Get-AtProtoSyncBlobs.md)                                    |\n|[Get-AtProtoSyncBlocks](docs/Get-AtProtoSyncBlocks.md)                                  |\n|[Get-AtProtoSyncCheckout](docs/Get-AtProtoSyncCheckout.md)                              |\n|[Get-AtProtoSyncHead](docs/Get-AtProtoSyncHead.md)                                      |\n|[Get-AtProtoSyncLatestCommit](docs/Get-AtProtoSyncLatestCommit.md)                      |\n|[Get-AtProtoSyncRecord](docs/Get-AtProtoSyncRecord.md)                                  |\n|[Get-AtProtoSyncRepo](docs/Get-AtProtoSyncRepo.md)                                      |\n|[Get-AtProtoSyncRepos](docs/Get-AtProtoSyncRepos.md)                                    |\n|[Get-BskyActorDefinition](docs/Get-BskyActorDefinition.md)                              |\n|[Get-BskyActorPreferences](docs/Get-BskyActorPreferences.md)                            |\n|[Get-BskyActorProfile](docs/Get-BskyActorProfile.md)                                    |\n|[Get-BskyActorProfiles](docs/Get-BskyActorProfiles.md)                                  |\n|[Get-BskyActorSuggestions](docs/Get-BskyActorSuggestions.md)                            |\n|[Get-BskyFeed](docs/Get-BskyFeed.md)                                                    |\n|[Get-BskyFeedActorFeeds](docs/Get-BskyFeedActorFeeds.md)                                |\n|[Get-BskyFeedActorLikes](docs/Get-BskyFeedActorLikes.md)                                |\n|[Get-BskyFeedAuthorFeed](docs/Get-BskyFeedAuthorFeed.md)                                |\n|[Get-BskyFeedDefinition](docs/Get-BskyFeedDefinition.md)                                |\n|[Get-BskyFeedGenerator](docs/Get-BskyFeedGenerator.md)                                  |\n|[Get-BskyFeedGenerators](docs/Get-BskyFeedGenerators.md)                                |\n|[Get-BskyFeedLikes](docs/Get-BskyFeedLikes.md)                                          |\n|[Get-BskyFeedListFeed](docs/Get-BskyFeedListFeed.md)                                    |\n|[Get-BskyFeedPosts](docs/Get-BskyFeedPosts.md)                                          |\n|[Get-BskyFeedPostThread](docs/Get-BskyFeedPostThread.md)                                |\n|[Get-BskyFeedRepostedBy](docs/Get-BskyFeedRepostedBy.md)                                |\n|[Get-BskyFeedSkeleton](docs/Get-BskyFeedSkeleton.md)                                    |\n|[Get-BskyFeedSuggestedFeeds](docs/Get-BskyFeedSuggestedFeeds.md)                        |\n|[Get-BskyFeedTimeline](docs/Get-BskyFeedTimeline.md)                                    |\n|[Get-BskyGraphBlocks](docs/Get-BskyGraphBlocks.md)                                      |\n|[Get-BskyGraphDefinition](docs/Get-BskyGraphDefinition.md)                              |\n|[Get-BskyGraphFollowers](docs/Get-BskyGraphFollowers.md)                                |\n|[Get-BskyGraphFollows](docs/Get-BskyGraphFollows.md)                                    |\n|[Get-BskyGraphList](docs/Get-BskyGraphList.md)                                          |\n|[Get-BskyGraphListBlocks](docs/Get-BskyGraphListBlocks.md)                              |\n|[Get-BskyGraphListMutes](docs/Get-BskyGraphListMutes.md)                                |\n|[Get-BskyGraphLists](docs/Get-BskyGraphLists.md)                                        |\n|[Get-BskyGraphMutes](docs/Get-BskyGraphMutes.md)                                        |\n|[Get-BskyGraphSuggestedFollowsByActor](docs/Get-BskyGraphSuggestedFollowsByActor.md)    |\n|[Get-BskyNotifications](docs/Get-BskyNotifications.md)                                  |\n|[Get-BskyNotificationUnreadCount](docs/Get-BskyNotificationUnreadCount.md)              |\n|[Get-BskyUnspeccedDefinition](docs/Get-BskyUnspeccedDefinition.md)                      |\n|[Get-BskyUnspeccedPopular](docs/Get-BskyUnspeccedPopular.md)                            |\n|[Get-BskyUnspeccedPopularFeedGenerators](docs/Get-BskyUnspeccedPopularFeedGenerators.md)|\n|[Get-BskyUnspeccedTimelineSkeleton](docs/Get-BskyUnspeccedTimelineSkeleton.md)          |\n|[Invoke-AtProto](docs/Invoke-AtProto.md)                                                |\n|[Invoke-AtProtoAdminModerationAction](docs/Invoke-AtProtoAdminModerationAction.md)      |\n|[Register-BskyNotificationPush](docs/Register-BskyNotificationPush.md)                  |\n|[Remove-AtProtoRepoRecord](docs/Remove-AtProtoRepoRecord.md)                            |\n|[Remove-AtProtoServerAccount](docs/Remove-AtProtoServerAccount.md)                      |\n|[Remove-AtProtoServerSession](docs/Remove-AtProtoServerSession.md)                      |\n|[Request-AtProtoServerAccountDelete](docs/Request-AtProtoServerAccountDelete.md)        |\n|[Request-AtProtoServerEmailConfirmation](docs/Request-AtProtoServerEmailConfirmation.md)|\n|[Request-AtProtoServerEmailUpdate](docs/Request-AtProtoServerEmailUpdate.md)            |\n|[Request-AtProtoServerPasswordReset](docs/Request-AtProtoServerPasswordReset.md)        |\n|[Request-AtProtoSyncCrawl](docs/Request-AtProtoSyncCrawl.md)                            |\n|[Reset-AtProtoServerPassword](docs/Reset-AtProtoServerPassword.md)                      |\n|[Resolve-AtProtoAdminModerationReports](docs/Resolve-AtProtoAdminModerationReports.md)  |\n|[Resolve-AtProtoIdentityHandle](docs/Resolve-AtProtoIdentityHandle.md)                  |\n|[Revoke-AtProtoServerAppPassword](docs/Revoke-AtProtoServerAppPassword.md)              |\n|[Search-AtProtoAdminRepos](docs/Search-AtProtoAdminRepos.md)                            |\n|[Search-AtProtoLabels](docs/Search-AtProtoLabels.md)                                    |\n|[Search-BskyActors](docs/Search-BskyActors.md)                                          |\n|[Search-BskyActorsTypeahead](docs/Search-BskyActorsTypeahead.md)                        |\n|[Search-BskyFeedPosts](docs/Search-BskyFeedPosts.md)                                    |\n|[Search-BskyUnspeccedActorsSkeleton](docs/Search-BskyUnspeccedActorsSkeleton.md)        |\n|[Search-BskyUnspeccedPostsSkeleton](docs/Search-BskyUnspeccedPostsSkeleton.md)          |\n|[Send-AtProto](docs/Send-AtProto.md)                                                    |\n|[Send-AtProtoAdminEmail](docs/Send-AtProtoAdminEmail.md)                                |\n|[Set-AtProtoRepoBlob](docs/Set-AtProtoRepoBlob.md)                                      |\n|[Set-AtProtoRepoRecord](docs/Set-AtProtoRepoRecord.md)                                  |\n|[Set-AtProtoRepoWrites](docs/Set-AtProtoRepoWrites.md)                                  |\n|[Set-BskyActorPreferences](docs/Set-BskyActorPreferences.md)                            |\n|[Set-BskyUnspeccedLabels](docs/Set-BskyUnspeccedLabels.md)                              |\n|[Sync-AtProtoServerSession](docs/Sync-AtProtoServerSession.md)                          |\n|[Unblock-BskyGraphActor](docs/Unblock-BskyGraphActor.md)                                |\n|[Unblock-BskyGraphActorList](docs/Unblock-BskyGraphActorList.md)                        |\n|[Undo-AtProtoAdminModerationAction](docs/Undo-AtProtoAdminModerationAction.md)          |\n|[Update-AtProtoAdminAccountEmail](docs/Update-AtProtoAdminAccountEmail.md)              |\n|[Update-AtProtoAdminAccountHandle](docs/Update-AtProtoAdminAccountHandle.md)            |\n|[Update-AtProtoIdentityHandle](docs/Update-AtProtoIdentityHandle.md)                    |\n|[Update-AtProtoServerEmail](docs/Update-AtProtoServerEmail.md)                          |\n|[Update-AtProtoTempRepoVersion](docs/Update-AtProtoTempRepoVersion.md)                  |\n|[Update-BskyNotificationSeen](docs/Update-BskyNotificationSeen.md)                      |\n|[Watch-AtProtoLabels](docs/Watch-AtProtoLabels.md)                                      |\n|[Watch-AtProtoSyncRepos](docs/Watch-AtProtoSyncRepos.md)                                |\n|[Watch-AtProtoSyncUpdate](docs/Watch-AtProtoSyncUpdate.md)                              |\n\n\n","funding_links":["https://github.com/sponsors/StartAutomating","https://github.com/sponsors/StartAutomating'"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstartautomating%2Fpsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstartautomating%2Fpsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstartautomating%2Fpsa/lists"}