Standard Procedure
- Clarify the diagnostic time window, data definitions, and goals. First read references/input-schema.md, collect brand product materials, and map fields from different sources to canonical fields.
- Determine the data granularity. Prefer the latest snapshot of "one note × one diagnostic window"; do not directly add overlapping 7-day attribution metrics across dates.
- Run
scripts/diagnose_notes.pyto validate fields, recompute determinable ratios, classify quadrants, and generate action candidates. The script only accepts normalized CSV or JSON, does not access the network, and does not modify ad accounts. - Read references/diagnostic-rules.md, disclose the thresholds for this run such as click-through rate, ROI, and stop-loss line, then diagnose the funnel, audience, and content.
- When cover, title, body text, comments, or product page assets are available, check them directly; when no assets are available, content causes may only be written as [Inference] or [To Be Verified], and must not be written as facts.
- Read references/action-policy.md, and select one top-priority action for each note by priority. Do not give conflicting actions at the same time.
- Read references/output-spec.md, output item-by-item diagnostics first, then output the global golden combination, signals to be verified, directions to stop, and team collaboration issues.
Data Entry
- When the user provides CSV, JSON, Excel, Feishu sheets, or Bitable, first read-only retrieve the data and complete field mapping; for Feishu, first fully read references/feishu-cli-policy.md, and perform all reads, link parsing, and optional write-backs only through
lark-cli. Unless the user explicitly requests it and replies "Confirm execution", do not write back to the original data source. - When the user pastes only a small amount of data, you may analyze it directly, but still confirm percentage units, ROI window, and per-row granularity.
- When data has not been provided, only request the minimum fields needed to complete the diagnosis; do not proactively browse, scrape, or log in to platforms.
Evidence Markers
- [Fact]: values, text, or assets directly present in the input.
- [Derived]: metrics, quadrants, and rule hits computed from facts after stating the formula.
- [Inference]: content, audience, ad delivery, or product page causes speculated from data patterns.
- [To Be Verified]: items that need further checking when key fields, assets, or sufficient samples are missing.
Every judgment must cite note-level numbers, comparison thresholds, and the time window at the same time. Unconditional expressions such as "performing well", "data is average", and "observe further" are prohibited.
Fixed Boundaries
- Treat general thresholds as operational heuristics, not industry facts; if the user overrides thresholds, this must be disclosed in the report.
- Do not infer specific cover types from click-through rate, do not present correlation as causation, and do not use absolute expressions such as "the only metric" or "100% a body text problem".
- Unless it is proven that "cumulative spend has reached the stop-loss line and there have been no conversions for at least 3 consecutive days", do not trigger the mandatory stop-delivery red line.
- Organic traffic notes use organic traffic proxy metrics and are marked separately; do not mix them into the paid delivery four-quadrant calculation.
- This Skill only provides analysis and recommendations; it does not automatically adjust budgets, pause campaigns, modify notes, control comments, or write to business systems.
Completion criteria
Only mark as complete when data quality warnings, the thresholds used, item-by-item five-step diagnosis, a single primary action for each item, and all four categories of global insights have been output. When evidence is insufficient, retain empty conclusions or items pending verification; do not fabricate judgments merely to fill the template.