diff --git a/business-growth/skills/customer-success-manager/scripts/health_score_calculator.py b/business-growth/skills/customer-success-manager/scripts/health_score_calculator.py index f2b83e9e..a72a5826 100644 --- a/business-growth/skills/customer-success-manager/scripts/health_score_calculator.py +++ b/business-growth/skills/customer-success-manager/scripts/health_score_calculator.py @@ -444,6 +444,8 @@ def main() -> None: args = parser.parse_args() if args.sample: + if args.input_file: + print("Warning: --sample specified; ignoring input_file", file=sys.stderr) data = SAMPLE_DATA else: if not args.input_file: diff --git a/business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py b/business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py index f482a7e6..96661d8f 100644 --- a/business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py +++ b/business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py @@ -458,6 +458,8 @@ SAMPLE_DATA = { "value": 120000, "age_days": 30, "close_date": "2026-07-15"}, {"id": "D-2", "name": "Globex new logo", "stage": "discovery", "value": 80000, "age_days": 10, "close_date": "2026-08-01"}, + # D-3 is intentionally stale (70d old vs 45d average cycle, closing + # imminently) so the fixture exercises the at-risk/aging detection. {"id": "D-3", "name": "Initech expansion", "stage": "negotiation", "value": 200000, "age_days": 70, "close_date": "2026-06-30"}, {"id": "D-4", "name": "Umbrella upsell", "stage": "closed_won", @@ -490,6 +492,8 @@ def main() -> None: args = parser.parse_args() if args.sample: + if args.input: + print("Warning: --sample specified; ignoring --input", file=sys.stderr) data = SAMPLE_DATA else: if not args.input: diff --git a/c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py b/c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py index 19d409ca..ece3f593 100644 --- a/c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py +++ b/c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py @@ -563,7 +563,12 @@ def main(): ) args = parser.parse_args() - if args.input: + if args.sample: + # --sample wins over --input, consistent with the other sample-pattern tools. + if args.input: + print("Warning: --sample specified; ignoring --input", file=sys.stderr) + data = sample_data() + elif args.input: try: with open(args.input) as f: data = json.load(f) @@ -573,8 +578,6 @@ def main(): except json.JSONDecodeError as e: print(f"Error: invalid JSON: {e}", file=sys.stderr) sys.exit(1) - elif args.sample: - data = sample_data() else: # Notice goes to stderr so `--json` output stays parseable when piped. print("No input file provided — running with sample data.\n", file=sys.stderr) diff --git a/engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py b/engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py index edfe2999..c8744ce7 100644 --- a/engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py +++ b/engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py @@ -356,7 +356,7 @@ def build_parser() -> argparse.ArgumentParser: parser.add_argument( "--sample", action="store_true", - help="Alias for --demo (repo-wide embedded-sample convention)", + help="Run with embedded sample color pairs (alias for --demo)", ) return parser