Przejdź do treści
Biblioteka skilli
Marketing i treści · Integracja z narzędziem

vk

/vk

Publikuje wpisy na profilu lub w społeczności VK przez oficjalne API (wall.post, wall.get) i odczytuje własne ostatnie posty wraz z zaangażowaniem.

Repozytorium
Skills ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
25.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
8
Przestarzałość

Brak sygnałów. Repozytorium zmienione 25.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co robi i kiedy

Publikuje wpisy na profilu lub w społeczności VK przez oficjalne API (wall.post, wall.get) i odczytuje własne ostatnie posty wraz z zaangażowaniem.

Oryginalny opis (EN)

Publish posts to your VK (ВКонтакте) profile or community wall and read your own recent posts, via the official VK API (wall.post / wall.get). Use when the user wants to post to VK, cross-post an article for a Russian-speaking audience, or list their own recent VK wall posts with engagement. Auth uses a VK access token (community access key recommended).

Jak działa

  1. Step 1 — identify who you can post as
  2. Post to the wall
  3. List my recent wall posts + engagement
  4. Delete a post
  5. Gotchas
Sekcje z nagłówków SKILL.md, w oryginale · 102 linii, 498 słów
Podgląd SKILL.md
---
name: vk
description: Publish posts to your VK (ВКонтакте) profile or community wall and read your own recent posts, via the official VK API (wall.post / wall.get). Use when the user wants to post to VK, cross-post an article for a Russian-speaking audience, or list their own recent VK wall posts with engagement. Auth uses a VK access token (community access key recommended).
when_to_use: |
  Trigger when the user wants to publish content to their VK wall or community,
  or review their own recent VK posts. VK's user-token OAuth flows were disabled
  in June 2024, so the connector stores a long-lived **community access key**
  (VK community → Manage → Settings → API usage, with the `wall` right). Posting
  to a community wall uses a negative owner_id + from_group=1. Confirm the post
  text with the user before publishing.
connections: [vk]
allowed_tools: [Bash]
license: Apache-2.0
metadata:
  author: acedatacloud
  version: "1.0"
---

Call the **VK API** with `curl + jq`. The token is injected as `$VK_ACCESS_TOKEN`
and is passed in the `Authorization: Bearer` header. **Every** VK API call also
requires the `v` (API version) query parameter — use `v=5.199`. Base URL:
`https://api.vk.com/method/<method>`.

VK always returns HTTP 200; success is `{"response": ...}` and failure is
`{"error":{"error_code":<n>,"error_msg":"<detail>"}}` — always check for `.error`
and show `error_msg` verbatim. Common codes: `5` = auth failed (token wrong or
revoked → user must re-connect the VK connector), `214` = access to adding post
denied (the token lacks the `wall` right — a community access key with `wall` is
required), `15`/`203` = access denied to that owner.

## Step 1 — identify who you can post as

A **community access key** posts on the community wall: `owner_id` must be the
**negative** community id and you pass `from_group=1`. Resolve the community id
from the token:

```bash
curl -sS "https://api.vk.com/method/groups.getById?v=5.199" \
  -H "Authorization: Bearer $VK_ACCESS_TOKEN" \
  | jq '.response, .error'
```

Take the group `id` (e.g. `123456`) → `owner_id` is `-123456`. (For a personal
user token, `owner_id` is your positive user id from `users.get`, and you omit
`from_group`.)

## Post to the wall

**Confirm the message text with the user before posting.** The post must have
text and/or attachments.

```bash
OWNER_ID="-123456"   # negative = community; from_group=1 posts as the community
MSG="Пример поста через VK API. #ai"
curl -sS -G "https://api.vk.com/method/wall.post" \
  -H "Authorization: Bearer $VK_ACCESS_TOKEN" \
  --data-urlencode "v=5.199" \
  --data-urlencode "owner_id=$OWNER_ID" \
  --data-urlencode "from_group=1" \
  --data-urlencode "message=$MSG" \
  | jq '.response, .error'
```

Success returns `{"response":{"post_id":<id>}}`. The public URL is
`https://vk.com/wall<OWNER_ID>_<post_id>` (e.g. `https://vk.com/wall-123456_17`).

- Hashtags (`#tag`) and plain URLs in `message` are rendered/clickable natively —
  no facet/offset handling needed (unlike Bluesky).
- Attach media/links with `attachments` (comma-separated), format
  `{type}{owner_id}_{media_id}` (e.g. `photo-123456_789`) or a single external
  URL. Only **one** link may be attached; more than one link → error 222.
- `publish_date` (Unix timestamp) schedules a deferred post.
- Always send Cyrillic `message` via `--data-urlencode` so it isn't mangled.

## List my recent wall posts + engagement

```bash
OWNER_ID="-123456"
curl -sS -G "https://api.vk.com/method/wall.get" \
  -H "Authorization: Bearer $VK_ACCESS_TOKEN" \
  --data-urlencode "v=5.199" \
  --data-urlencode "owner_id=$OWNER_ID" \
  --data-urlencode "count=20" \
  | jq '.error, (.response.items[]? | {id,
        text,
        likes: .likes.count,
        reposts: .reposts.count,
        comments: .comments.count,
        views: .views.count,
        date})'
```

`count` max 100. Combine `owner_id` + a post `id` to build the URL
`https://vk.com/wall<owner_id>_<id>`.

## Delete a post

```bash
OWNER_ID="-123456"; POST_ID="17"
curl -sS -G "https://api.vk.com/method/wall.delete" \
  -H "Authorization: Bearer $VK_ACCESS_TOKEN" \
  --data-urlencode "v=5.199" \
  --data-urlencode "owner_id=$OWNER_ID" \
  --data-urlencode "post_id=$POST_ID" \
  | jq '.response, .error'
```

## Gotchas

- **`v` is mandatory** on every call — omitting it returns an error.
- **User tokens can't be freshly minted via OAuth** (Implicit / Authorization
  Code flows for user tokens were disabled 2024-06); use a **community access
  key** (unlimited lifetime, created in the community's API settings) with the
  `wall` right.
- Posting as the community requires both `owner_id` negative **and**
  `from_group=1`.
- Rate/anti-spam: repeated identical posts or too-frequent posting can hit codes
  like `214`/`219` — space posts out.

Wersje

W bazie nie ma innych skilli o nazwie vk.

Identyczna treść występuje jeszcze w 1 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.

Migawka bazy z 28.10.2026 · wersja paczki 08ae62cc1679 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100threads
    Publikuje na koncie Threads przez oficjalne API wpisy tekstowe, z obrazem, wideo lub karuzelą i czyta własne ostatnie posty, z tokenem dostępu Threads.
  • 100facebook
    Publikuje posty tekstowe, z linkiem lub ze zdjęciem na stronie na Facebooku przez Facebook Pages API oraz odczytuje ostatnie posty strony z tokenem dostępu strony.
  • 100sandock-community
    Czyta i odpowiada na forum społeczności Sandock przez REST API, przegląda wątki i publikuje posty oraz odpowiedzi po wyraźnym potwierdzeniu.
  • 84read
    Odczytuje posty, wątki i artykuły z serwisu X jako tekst Markdown przez konwertery zewnętrzne, bez klucza API.
  • 100int-instagram
    Odpytuje Instagram Graph API o statystyki profilu, ostatnie posty, zaangażowanie i insighty, z obsługą wielu kont przez OAuth.
  • 100threads-user-posts
    Pobiera publiczne posty z profilu użytkownika Threads, wyciągając tekst, metryki zaangażowania i informacje o mediach z JSON osadzonego w SSR.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.