Add a root gemini-extension.json so the repo installs as a Gemini CLI
extension and gets indexed by the extensions gallery (repo now carries
the `gemini-cli-extension` topic; the crawler reads the latest tag).
- exposes the existing `postiz` skill from skills/postiz
- declares the hosted Postiz MCP server (mcp-oauth-dynamic); Gemini CLI
handles OAuth via automatic discovery + dynamic client registration
- bump CLI and plugin manifests to 2.0.18; README sections for Gemini
CLI and Qwen Code (Qwen installs the Claude marketplace directly)
Validated with `gemini extensions validate`.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add plugins/dsh-postiz, an installable DeepSeek Harness bundle
(`dsh plugin --profile web add "github:gitroomhq/postiz-agent#path:/plugins/dsh-postiz"`).
- cordis.patch.yml mounts a `postiz` provider row plus one
@deepseek-ai/dsh-mcp-client row pointed at https://mcp.postiz.com/mcp
(streamable HTTP, Bearer auth from POSTIZ_API_KEY; baseUrl overridable
for self-hosted instances)
- the provider exposes ctx.postiz (url/headers) for the mcp row's !!js
config and registers a `postiz` skill covering the integrationList →
integrationSchema → schedulePostTool workflow and HTML content rules
- node:test unit tests; verified against dsh 0.1.5-rc: the mcp row
activates, sends the Bearer header, and retries on auth failure
- README / CHANGELOG entries; ignore plugin-local lockfiles
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Add .grok-plugin/plugin.json + marketplace.json for the xAI Grok Build marketplace
- Declare the hosted Postiz MCP server via mcpServers in the Grok manifest only;
drop the root .mcp.json so the Claude Code and Cursor plugins stay skill/CLI-only
and never register a second Postiz MCP server next to an existing connector
- Document the split in README and CHANGELOG; bump all manifests to 2.0.17
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYZAYVD6gogP2SQNNDWYVt
Add `postiz posts:settings <id> --settings '<json>'` calling
PUT /public/v1/posts/:id/settings to patch a post's provider-specific
settings without recreating it. Modeled on the existing posts:status
command. Settings are merged server-side (only passed keys change);
only DRAFT/QUEUE posts can be updated.
Also document that posts:list responses now include each post's current
`settings` (returned as a JSON string).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A user ticked "Video made with AI" on an UPLOAD post and the label was
silently dropped: TikTok's inbox endpoint accepts no post_info, and
within DIRECT_POST duet/stitch/video_made_with_ai are video-only while
autoAddMusic is photo-only. postiz-app PR #1728 fixed the app side;
this catches the skill docs up.
- PROVIDER_SETTINGS.md: spell out the two axes and tag every TikTok
setting (DIRECT_POST-only; video-only / photo-only / both); stop
presenting autoAddMusic as generally required and drop it from the
video example.
- SKILL.md: add generic Rule 4 — fetch integrations:settings before
scheduling and honor the returned rules + per-field descriptions;
fix the example's wrong "privacy" key to privacy_level.
- README.md: same key fix; complete the settings table row.
- PROVIDER_SETTINGS_SUMMARY.md: complete the TikTok row (was missing
content_posting_method, video_made_with_ai, brand toggles); remove
autoAddMusic from the video example.
- INTEGRATION_SETTINGS_DISCOVERY.md: one behavioral line per axis;
autoAddMusic no longer listed as required.
- examples/tiktok-video.json: drop photo-only autoAddMusic from the
video post.
Extends a557cd5 (UPLOAD never publishes) with the media-type axis.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
UPLOAD sends the media to the user's TikTok app inbox (SEND_TO_USER_INBOX),
where it must be finished manually within 24h or it is discarded. The API
still reports the post as successful, so an agent that picks UPLOAD - the
natural choice when a user says "upload this video" - silently never posts.
PROVIDER_SETTINGS.md listed the enum with no explanation, and it is what an
agent following this skill actually reads. Spell out the consequence and
name DIRECT_POST as the default.
Also stop the integrations:settings example from discarding .output.rules,
so provider guidance written upstream reaches skill users.
Mirrors gitroomhq/postiz-app#1687 and the parallel gitroomhq/postiz-docs fix.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>