Personal OpenCode skills collection.
Analyze session context for dead-weight tool output — failed tool calls whose errors were later fixed. Detects SchemaError failures, retried commands, and other wasted context.
python3 context-audit/scripts/context_audit.py <session_id>
Produces: context composition table + failed call classification + actionable recommendations.
Card development workflow for Metabase. Covers the full lifecycle of creating or rebuilding a card: card type selection (MBQL vs native SQL), data layer setup, column label consistency, visualization configuration, dashboard placement with overlap validation, and IaC script sync.
Key rules enforced:
- Drill-through requires MBQL (native SQL cards do not support
click_behavior) - Field display names must be set before card creation, not after
- Multi-condition aggregation: derived-table JOINs only, no correlated subqueries
- Visualization settings must be written to both card and dashcard levels
- Layout positions must be verified against live
report_dashboardcarddata
Dashboard editing workflow for Metabase. Covers renaming columns and fields, global term replacement, layout adjustments, and card deletion — with a mandatory four-source audit before any change is made.
Key rules enforced:
- Full audit across SQL,
visualization_settings, card metadata, and IaC scripts before touching anything - MBQL column labels must go through
metabase_field.display_name, notcolumn_settings - Layout changes require querying live
report_dashboardcardstate first - All column labels in a dashboard must use the same language (no mixing)
- IaC script must be synced within the same session as the change
Structured technical discussion workflow. Triggers on /tech-discuss or
semanticaly on API/interface design, data flow, frontend component or page
state design, iOS interaction patterns, multi-option trade-off analysis, or
feature design review.
Key rules enforced:
- No code written during discussion — explore first, implement later
- Exhaustive scenario mapping before proposing solutions
- At least 2–3 options with trade-off comparison, never a single take-it-or-leave-it proposal
- Confirm at each decision branch — not once at the end
- Discussion outcome documented before transitioning to implementation
Copy or symlink skill directories to ~/.config/opencode/skills/:
# Install all skills
cp -r context-audit metabase-card-dev metabase-dashboard-edit tech-discuss ~/.config/opencode/skills/
# Or install individually
cp -r tech-discuss ~/.config/opencode/skills/