A skill installation and management system for multiple LLM agents (Claude, Gemini, Antigravity) with support for LinkedIn post queue management and cross-agent skill deployment
This server has severe definition quality gaps. Tool descriptions are present but generic (avg ~80 chars, well below the 194-char baseline). Input schemas are partially defined but lack rigor: many parameters missing type constraints, enums, or validation guidance. No output schemas documented. Error handling is absent, tools fail silently or with generic messages. The LinkedIn queue tools (check_queue, load_queue, save_queue, etc.) are tightly coupled and lack clear composition boundaries. install_skill and load_skills_manifest have reasonable structure but insufficient parameter validation guidance. No tool declares permissions, audit trails, or recovery paths for destructive operations (remove_post, mark_posted). Security concerns: fix_quarantine and install_skill perform filesystem operations without input sanitization or permission gates.
Checks LinkedIn post queue for pending posts that are ready to be published and sends macOS notifications
Ensures the centralized skill data storage directory exists and initializes the LinkedIn post queue file
Clears macOS quarantine attributes on skill scripts to allow agent access (macOS only)
Calculates the next best LinkedIn posting slot with 48-hour breathing room between posts, recommending optimal days and times
Installs a skill from source to target agent directories (Antigravity, Claude Code, Gemini) via copy or symlink
Loads the LinkedIn post queue from centralized storage
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does check_queue return? post IDs? timestamps? content?). Violates pattern:tool and pattern:response-shaper.
Destructive operations (remove_post, mark_posted) lack confirmation/dry-run support and error recovery guidance. No indication of whether operations are idempotent or retryable. Violates pattern:confirmation-request and pattern:idempotent-operation.
Filesystem operations (install_skill, fix_quarantine) accept user-provided paths without documented sanitization or validation. No protection against path traversal or command injection. Violates pattern:tool-gateway and pattern:secret-injection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Loads and parses skills from a YAML manifest file
Marks a LinkedIn post as posted by updating its status in the queue
Removes a LinkedIn post from the queue by ID
Saves the LinkedIn post queue to centralized storage
LinkedIn queue tools (check_queue, load_queue, save_queue, mark_posted, remove_post) are tightly coupled with no clear composition boundaries. No tool declares what IDs or references it returns, forcing LLMs to guess chaining requirements. Violates pattern:tool-chain.
Parameter descriptions are generic or missing validation constraints. E.g., 'post_id' has no format guidance (UUID? integer? string?). 'skill' parameter in install_skill lacks enum or pattern constraints. Violates pattern:constrained-input.