Audit websites for accessibility issues and WCAG compliance. Use when checking accessibility, fixing a11y issues, or ensuring WCAG compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Writes, explains, debugs, and optimizes BI calculations - Power BI / Fabric DAX measures and calculated columns, Tableau calculated fields (FIXED/INCLUDE/EXCLUDE LOD expressions, table calculations), and Looker LookML measures, dimensions, and derived tables. Use it whenever the request involves DAX, CALCULATE, a Power BI measure, a Tableau calc or LOD, LookML, or a business metric such as YoY, YTD, rolling 12 months, running total, percent of total, distinct customers, ranking, new vs returning customers, closing balances, or basket analysis. Use it especially when someone says a measure "shows the wrong total", "is blank", "ignores my slicer/filter", "repeats the same value on every row", or "is slow" - those are filter context, context transition, LOD order-of-operations, or fanout bugs this skill is built to diagnose. Produces the formula, the context it evaluates in, and a hand-checkable test with expected numbers.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Most wrong BI numbers are not syntax errors. They are the right formula evaluated in the wrong context. Work context-first, and prove every measure against numbers computed independently.
period_over_period support).VAR) for readability and to evaluate each sub-expression once.scripts/measure_check.py (below) rather than mental arithmetic.references/dax.md - DAX semantics recap plus patterns: YoY, YTD/fiscal YTD, rolling N, running total, % of total/parent, distinct count, ranking, new vs returning, semi-additive balances, basket.references/tableau.md - order of operations, LOD vs table calc choice, the same pattern set.references/looker.md - measure types, symmetric aggregates and fanout, post-SQL measure limits, period_over_period, derived tables, the same pattern set.examples/worked-example.md - a full run: "YoY % total is wrong" diagnosed, fixed in all three tools, verified with the script.| Trap | Symptom | Fix |
|---|---|---|
| CALCULATE boolean filter replaces the existing filter on that column | "Blue sales" shows the same number on every color row | Wrap in KEEPFILTERS(...) to intersect instead of overwrite, when the intent is "within the current selection" |
Filtering a whole table in CALCULATE (FILTER(Sales, ...)) | Wrong numbers via expanded-table intersection; very slow | Filter columns: KEEPFILTERS(Sales[Qty] * Sales[Price] >= 500) |
| Context transition surprise | Measure referenced inside SUMX/FILTER/calculated column gives per-row results or double counts duplicate rows | Know that a measure reference is an implicit CALCULATE; iterate a unique key (VALUES(Table[Key])), not a table with duplicate rows |
| Aggregator where an iterator is needed | SUM(Sales[Qty]) * SUM(Sales[Price]) is wrong | SUMX(Sales, Sales[Qty] * Sales[Price]) |
| Non-additive total "fixed" by summing | Distinct count or % total "doesn't add up" | Usually correct as-is. Only if the business wants a visual total: SUMX(VALUES(dim[key]), [Measure]) |
| Time intelligence without a proper date table | Blank or wrong YoY/YTD, errors on gaps | Classic DAX: contiguous date table marked as date table, relationship from it to the fact. Calendar-based: define a calendar. Never use the fact's own date column |
| BLANK vs 0 | Visual explodes to every customer; = 0 tests misfire | Return BLANK when there is nothing meaningful (DIVIDE without the 3rd arg); test with ISBLANK or ==, since BLANK() = 0 is TRUE |
| Bidirectional relationships as a shortcut | Ambiguity, slow, confusing slicers | Single-direction model; enable CROSSFILTER(..., BOTH) inside the one measure that needs it |
| Tableau FIXED ignores the dimension filter | LOD total unchanged when user filters | FIXED runs before dimension filters: add the filter to context, or use INCLUDE/EXCLUDE (run after dimension filters) |
| Tableau table calc sees only what is in the view | YoY blank for first year, rolling window truncated after filtering | Filter with a table-calc filter (runs after the calc) instead of a dimension filter; densify missing dates |
| Tableau total vs COUNTD / averages | Grand total differs from the row sum | "Automatic" totals re-aggregate underlying data (usually right); "Total Using: Sum" sums what is visible |
| Looker fanout on one-to-many joins | Sums inflated after adding a joined view | Set primary_key: yes on every view and a correct relationship:; Looker then applies symmetric aggregates. For denormalized tables use sum_distinct + sql_distinct_key |
| Looker post-SQL measures | running_total / percent_of_total wrong, null, or unfilterable | They compute after the query on returned rows only: row limits break them, they cannot be filtered or referenced by other measures. Move logic to SQL (derived table + window function) when it must be exact |
Looker filters: on type: number | Filter silently not applied | Put filters: on the component sum/count measures, then combine them in the type: number measure |
scripts/measure_check.py is an independent oracle (pandas). Give it the user's sample CSV and a JSON spec; it prints the expected value for every visual row and for the total, evaluated the way BI tools do (total recomputed in its own context, time calcs reading outside the slicer range, empty = BLANK). With --actual it diffs against what the tool shows and exits 1 on mismatch.
python scripts/measure_check.py --data sample.csv --spec spec.json [--actual tool_output.csv] [--json]
Spec fields: calc (sum, count_rows, distinct_count, prior_year, yoy_delta, yoy_pct, ytd, running_total, rolling, new_customers, returning_customers, last_balance, pct_of_total, rank), date_column, value_column, key_column (customer/entity/distinct key), group_column (for pct/rank), grain (day|month|quarter|year), range ({start, end} = report date filter), filters ({column: [values]}), params (window, fiscal_year_start_month, ties: skip|dense, order, mode: per_entity|global_last_date). Examples of every calc: tests/specs/. Self-test: python tests/test_measure_check.py.
When the user has no sample, build a 5-10 row one that exercises the edge that matters (a missing month, a customer with no prior purchase, an entity without an end-of-month snapshot) and show it.
Return, in this order:
When debugging an existing measure, lead with the one-line root cause, then the corrected code, then the test that shows old vs new values.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Audit websites for accessibility issues and WCAG compliance. Use when checking accessibility, fixing a11y issues, or ensuring WCAG compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Deploy a 2-layer parallel agent hierarchy for large, parallelizable work — big refactors, multi-file migrations, codebase-wide audits, bulk generation. A top-tier commander (Fable or Opus) orchestrates the swarms; the user picks a power level (Max Power / Heavy / Balanced / Economy) that sets the Opus/Sonnet/Haiku model mix per layer. Layer 1 is 3-50+ specialist agents, each with its own full context window; Layer 2 is 2+ sub-agents per member. Includes git safety, tiered sizing, a pre-deploy gate, phantom-completion checks, and multi-wave follow-up.
日本語の概要は準備中です。原文の説明を表示しています。
Use to test whether an AI agent, prompt, or skill actually works before or after it ships — build a small eval set, score runs, and catch regressions when the prompt or model changes. Trigger when the user asks whether a prompt is good, wants to compare models or versions, sees inconsistent agent output, or is about to put an agent in front of customers.
日本語の概要は準備中です。原文の説明を表示しています。
Deploys swarms of sub-agents for massive parallel data processing tasks. Unlike agent-army (which is for code changes), this is for DATA tasks -- processing 1000 documents, analyzing datasets, bulk content generation. Configurable swarm size, task distribution, result aggregation, progress tracking, and error recovery.
日本語の概要は準備中です。原文の説明を表示しています。
Designs and deploys custom agent teams for specific business workflows. Interactive discovery of business processes, then generates complete team configurations with specialized agent roles, tool access, communication protocols, and handoff rules.
日本語の概要は準備中です。原文の説明を表示しています。
Agent-to-Agent (A2A) communication protocol. Connect two or more Claude agents that pass messages, share context, delegate tasks, and collaborate. Implements structured handoffs, shared memory, and multi-agent conversations.
日本語の概要は準備中です。原文の説明を表示しています。