con un clic
orbitant-graceful-degradation
// Checks MCP servers and config files before any chief-of-staff command. Ensures no command hard-fails — always proceeds with available sources. Auto-activates on every command.
// Checks MCP servers and config files before any chief-of-staff command. Ensures no command hard-fails — always proceeds with available sources. Auto-activates on every command.
Content generation skill for the Orbitant engineering blog. Activates when creating a blog post in Spanish from raw input — a Knowledge Sharing transcript, Slack thread, meeting notes, workshop draft, or bullet outline. Produces a structured, SEO-optimised article that matches Orbitant's narrative, tone, and content cluster strategy. Trigger on: "crear blog post", "redactar artículo", "convierte esto en un post", "blog post para Orbitant", "write a blog post", "turn this into an article". Also trigger when the user shares a long transcript, KS notes, or a Slack discussion about a technical decision — even if they don't explicitly say "blog post". When in doubt, ask if they want this turned into a post.
Drafts structured, publication-ready release notes from git history. Activates when: creating releases, documenting version changes, drafting changelogs, or preparing release announcements. Use even when user just says "generate changelog", "what changed since last release", "help me write release notes", "prepare a release", or "I bumped the version". Also triggers after version bumps in plugin.json.
Scores items against quarterly rocks from rocks.yaml. Activates during triage, task ranking, meeting prep, and scheduling. Flags drift when time allocation mismatches stated priorities.
Writes drafts in the user's voice using voice.md for tone and style. Activates during /triage, /crm, or any "draft an email/message" request. Never sends without confirmation.
Use at the end of a Claude Code session to capture project-specific friction as proposed CLAUDE.md edits. Triggered by /debrief (no args) to scan the full session, or /debrief <hint> to focus on a specific area (e.g., /debrief the API naming convention thing). Returning "session looks clean" with no proposals is a first-class outcome, not a fallback. Triggers on: "/debrief", "debrief the session", "wrap up this session", "what did we learn", "any rules to capture", "should we update CLAUDE.md".
Use when checking if a repo follows 12-factor app principles — config stored in env vars (not hardcoded), dependency lockfiles present, CI pipeline separation, structured logging to stdout, or dev/prod environment parity. Activates when someone asks about 12-factor compliance, deployment readiness, or config management practices in a Node.js or Python project. Also trigger when someone notices hardcoded localhost URLs, missing .env.example, or asks "is this deploy-ready?" — even without mentioning 12-factor explicitly.
| name | orbitant-graceful-degradation |
| description | Checks MCP servers and config files before any chief-of-staff command. Ensures no command hard-fails — always proceeds with available sources. Auto-activates on every command. |
| version | 1.0.0 |
| license | MIT |
| user-invocable | false |
| metadata | {"author":"orbitant","tags":"chief-of-staff, infrastructure, mcp, availability, degradation"} |
This skill runs a quick availability sweep before any chief-of-staff command executes. It probes each MCP server and config file, builds a summary report, and hands control back to the calling command with a clear picture of what is and is not available. The goal is simple: no command should ever hard-fail because a dependency is missing — it should degrade gracefully and work with whatever is reachable.
Auto-activate this skill at the start of every chief-of-staff command:
/preflight — morning readiness check/today — daily agenda briefing/triage — inbox and notification triage/week — weekly planning and review/prep — meeting preparation/crm — contact and relationship management/status — project status rollupRun the checks silently. Only surface the full availability report if something is missing. If everything is green, emit a single collapsed summary line and move on.
Probe each server with the lightest possible call. If the call returns data, the server is up. If it throws an error or times out, mark it accordingly.
mcp__gmail__search_emails — search for 1 recent email (query: "newer_than:1d", max_results: 1)mcp__calendar__list_events — list today's eventsmcp__claude_ai_Slack__slack_search_channels — search for any channel (query: "general")mcp__asana__asana_list_workspaces — list available workspacesFor each config file, check two locations in order. Use the first one found.
./rocks.yaml (project root)~/.claude/rocks.yaml (global)./voice.md (project root)~/.claude/voice.md (global)./constraints.yaml (project root)~/.claude/constraints.yaml (global)./contacts/*.md filesBuild the report using this exact structure. Adjust status icons per the rules above.
## System Availability
### MCP Servers
- ✅ Gmail — connected
- ❌ Google Calendar — not available (run: claude mcp add calendar -s user -- npx @anthropic/google-calendar)
- ✅ Slack — connected
- ⚠️ Asana — not configured (optional)
### Config Files
- ✅ rocks.yaml — loaded from ./rocks.yaml
- ❌ voice.md — not found (copy from references/voice.example.md)
- ✅ constraints.yaml — loaded from ~/.claude/constraints.yaml
- ⚠️ contacts/ — no contact files found (optional)
### Summary
Available: 4/6 required, 1/2 optional
For every ❌ item, include a concrete fix instruction in parentheses — a command to run or a file to create. Never leave a required-missing item without a remediation hint.
When running inside a Cowork session (no local filesystem access):