daymoondevelopment/post-for-me/add-platform
Claude Code and agent skill by daymoondevelopment/post-for-me
- community
Checking that the SKILL.md file is still in the repository.
Use when adding a new social media platform to post-for-me. Covers implementing a PostClient subclass in trigger/posting/platforms/, adding a Configuration type to post.types.ts, updating post-client.ts, and documenting options in api/src/social-posts/dto/post-configurations.dto.ts.
Install
npx vskill@latest install daymoondevelopment/post-for-me/add-platformSKILL.md
Adding a New Social Media Platform
This skill describes exactly how to implement a new posting platform end-to-end. Follow every step in order.
1. Files to touch
| File | What changes | |
|---|---|---|
trigger/posting/post.types.ts | Add <Platform>Configuration interface and add it to the PlatformConfiguration union | |
trigger/posting/post-client.ts | Add the new type to the platformConfig union in the base post signature | |
trigger/posting/platforms/<platform>-post-client.ts | New file — the concrete implementation | |
api/src/social-posts/dto/post-configurations.dto.ts | Add <Platform>ConfigurationDto class, add it to PlatformConfiguration union and PlatformConfigurationsDto, and add every new field to AccountConfigurationDetailsDto |
2. Add the Configuration type — post.types.ts
Add an interface for the platform-level options. Every field must be optional (users may omit any option). Keep names snake_case.
Then add it to the PlatformConfiguration union at the bottom of the file:
3. Update the base post signature — post-client.ts
Add the new type to the platformConfig union in the abstract post method:
Also add the import at the top of the file.
4. Implement the platform client
Create trigger/posting/platforms/<platform>-post-client.ts.
4a. Class skeleton
4b. refreshAccessToken
Always implement this, even for platforms that don't expire tokens (return a far-future date in that case). Log the request and response into #requests / #responses.
4c. post — top-level method
Keep the post method as clean as possible:
- Reset
#requests/#responsesat the start (or initialise them as empty
arrays in the constructor and accept that they accumulate — be consistent with the rest of the codebase which initialises them as class fields).
- Delegate media work to
#processVideo,#processImages, etc. - Keep everything that must happen for every post (caption sanitisation, payload
assembly, the actual publish call, building the PostResult) inside post.
- Wrap everything in a
try/catchthat always returns aPostResult— never
throw out of post.
- Always include
requestsandresponsesindetails.
4d. Media-type helpers
Create separate private methods for each media type. Prefix them with #.
4e. Caption sanitisation
Every platform has limits. Add a #sanitizeCaption (or similar) private method rather than putting string manipulation inline inside post.
4f. Human-readable error helper
The error_message field is shown directly to end-users. Make it clear and actionable. Use a dedicated helper to avoid repeating the same logic.
5. Logging conventions
- Use
logger.log(...)from@trigger.dev/sdk/v3for progress milestones
(job started, media uploaded, post published, etc.).
- Use
console.error(...)for caught exceptions before returning the failure
result.
- Every external HTTP request gets a corresponding entry in
this.#requests
immediately before the call; every response (success or error) gets an entry in this.#responses immediately after.
- Log key field values (IDs, status codes, URLs) — never log full access tokens.
6. details object contract
details is a plain object stored in the database and visible to admins. It must always include:
7. Document in the API DTO — post-configurations.dto.ts
7a. Add the platform DTO class
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.skills/add-platform/SKILL.md
Popularity
- Repository stars
- 69
- Repository forks
- 19
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/daymoondevelopment/post-for-me/add-platform)