en un clic
orbitant-goal-alignment
// 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.
// 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.
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.
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.
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-goal-alignment |
| description | 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. |
| version | 1.0.0 |
| license | MIT |
| user-invocable | false |
| metadata | {"author":"orbitant","tags":"chief-of-staff, goals, prioritization, rocks, alignment, scoring"} |
This skill scores any work item against the user's quarterly rocks (strategic objectives) defined in rocks.yaml. Each item receives a weighted alignment score from 0.0 to 1.0, with a rationale explaining which rocks it advances and why. When patterns of misalignment emerge — time drifting toward low-leverage work, calendar not matching rock weights — the skill pushes back constructively to protect the user's strategic focus.
This skill is called as a subroutine during any prioritization workflow:
/triage — scoring inbound emails by strategic relevance/today — ranking today's tasks and calendar by alignment/week — evaluating the weekly plan against rock weights/prep — assessing meeting value before the user walks inIt does NOT run standalone. Other commands and skills invoke it when they need alignment data.
./rocks.yaml (project root)~/.claude/rocks.yaml (global)Use the first file found. Parse the YAML and extract:
quarter — the active quarter labelrocks[] — each rock with name, weight, and key_results[]Do NOT block the calling command. Instead:
~/.claude/rocks.yaml with your quarterly rocks to enable prioritization. See rocks.example.yaml for the format."name and weightkey_results is acceptable — score against the rock name/theme insteadFor each item being scored (email, task, meeting, decision):
For each rock, determine an alignment score on a 0–1 scale:
| Score | Meaning |
|---|---|
| 0.0 | Completely unrelated to this rock |
| 0.25 | Loosely related — same domain but no direct impact |
| 0.5 | Tangentially related — supports but doesn't directly advance a key result |
| 0.75 | Strongly related — clearly advances the rock's theme |
| 1.0 | Directly advances a specific key result |
final_score = Σ (alignment_i × weight_i) for each rock_i
The result is a value between 0.0 and 1.0.
| Category | Range | Meaning |
|---|---|---|
| HIGH | > 0.7 | Directly advances top priorities |
| MEDIUM | 0.3 – 0.7 | Supports priorities or has indirect value |
| LOW | < 0.3 | Minimal strategic value |
Always explain the score. Name the rock(s) that drive it and why. Never present a bare number without context.
Push back when patterns indicate strategic drift. Be constructive, not nagging.
Time drift — More than 50% of the user's time (tasks or calendar) is going to LOW-alignment items. Flag: "Based on your stated priorities, over half your time today is on low-alignment work."
Weight mismatch — A high-weight rock is getting disproportionately little time. Example: a rock with 0.35 weight getting less than 15% of scheduled time. Flag: "Revenue Acceleration carries 35% weight but only 10% of your calendar this week."
Low-value commitment — The user is about to spend significant time on a LOW item. Suggest: "This scores LOW (0.18) against your rocks. Consider deferring or delegating."
When presenting alignment scores, use this format:
📊 Goal Alignment: {CATEGORY} ({score})
└─ {Rock Name} ({weight}w): {alignment} — {one-line rationale}
└─ {Rock Name} ({weight}w): {alignment} — {one-line rationale}
└─ {Rock Name} ({weight}w): {alignment} — {one-line rationale}
└─ {Rock Name} ({weight}w): {alignment} — {one-line rationale}
Example:
📊 Goal Alignment: HIGH (0.82)
└─ Revenue Acceleration (0.35w): 0.9 — directly advances "close enterprise contracts"
└─ Platform GA (0.30w): 0.7 — unblocks beta partner onboarding
└─ Team & Culture (0.20w): 0.0
└─ Partnerships (0.15w): 0.0
For batch scoring (e.g., triage lists), show the abbreviated inline format:
[HIGH 0.82] Email subject or task name
[MED 0.45] Another item
[LOW 0.12] Low-priority item
Calling commands may reformat this output to fit their own layout.
If rocks.yaml is not found on the filesystem but the user has shared their rocks in the conversation context (pasted text, linked doc, prior discussion), extract and use that data. Apply the exact same scoring algorithm. Note in the output that scoring is based on conversation context rather than rocks.yaml.
rocks.yaml is missing — skip scoring and let the command proceed