{
  "schemaVersion": "1.0",
  "item": {
    "slug": "statistics-2",
    "name": "Pywayne Statistics",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/wangyendt/statistics-2",
    "canonicalUrl": "https://clawhub.ai/wangyendt/statistics-2",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/statistics-2",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=statistics-2",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/statistics-2"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/statistics-2",
    "agentPageUrl": "https://openagent3.xyz/skills/statistics-2/agent",
    "manifestUrl": "https://openagent3.xyz/skills/statistics-2/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/statistics-2/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Pywayne Statistics",
        "body": "Comprehensive statistical testing library for hypothesis testing, A/B testing, and data analysis."
      },
      {
        "title": "Quick Start",
        "body": "from pywayne.statistics import NormalityTests, LocationTests\nimport numpy as np\n\n# Test data normality\nnt = NormalityTests()\ndata = np.random.normal(0, 1, 100)\nresult = nt.shapiro_wilk(data)\nprint(f\"p-value: {result.p_value:.4f}, is_normal: {not result.reject_null}\")\n\n# Compare two groups\nlt = LocationTests()\ngroup_a = np.random.normal(100, 15, 50)\ngroup_b = np.random.normal(105, 15, 50)\nresult = lt.two_sample_ttest(group_a, group_b)\nprint(f\"Significant difference: {result.reject_null}\")"
      },
      {
        "title": "NormalityTests (NormalityTests)",
        "body": "Test if data follows a normal distribution or other specified distributions.\n\nMethodDescriptionUse Caseshapiro_wilkShapiro-Wilk testSmall-medium samples (n ≤ 5000)ks_test_normalK-S normality testMedium-large samplesks_test_two_sampleTwo-sample K-S testCompare two sample distributionsanderson_darlingAnderson-Darling testTail-sensitive normality testdagostino_pearsonD'Agostino-Pearson K²Based on skewness and kurtosisjarque_beraJarque-Bera testLarge samples, regression residualschi_square_goodness_of_fitChi-square goodness-of-fitCategorical datalilliefors_testLilliefors testUnknown parameters K-S test\n\nExample:\n\nfrom pywayne.statistics import NormalityTests\n\nnt = NormalityTests()\nresult = nt.shapiro_wilk(data)\nif result.p_value < 0.05:\n    print(\"Data is NOT normally distributed\")\nelse:\n    print(\"Data follows normal distribution\")"
      },
      {
        "title": "LocationTests (LocationTests)",
        "body": "Compare means or medians across groups (parametric and non-parametric).\n\nMethodDescriptionUse Caseone_sample_ttestOne-sample t-testCompare sample mean to a valuetwo_sample_ttestTwo-sample t-testCompare two independent group meanspaired_ttestPaired t-testCompare before/after measurementsone_way_anovaOne-way ANOVACompare 3+ group meansmann_whitney_uMann-Whitney U testNon-parametric two-sample testwilcoxon_signed_rankWilcoxon signed-rankNon-parametric paired testkruskal_wallisKruskal-Wallis H testNon-parametric multi-group test\n\nExample (A/B Testing):\n\nfrom pywayne.statistics import LocationTests, NormalityTests\n\nlt = LocationTests()\nnt = NormalityTests()\n\n# Check normality first\nif nt.shapiro_wilk(control).p_value > 0.05:\n    result = lt.two_sample_ttest(control, treatment)\nelse:\n    result = lt.mann_whitney_u(control, treatment)\n\nprint(f\"Effect significant: {result.reject_null}\")"
      },
      {
        "title": "CorrelationTests (CorrelationTests)",
        "body": "Test correlation between variables and independence of categorical variables.\n\nMethodDescriptionUse Casepearson_correlationPearson correlationLinear relationshipspearman_correlationSpearman's rankMonotonic relationshipkendall_tauKendall's tauRank correlation, small sampleschi_square_independenceChi-square independenceCategorical variablesfisher_exact_testFisher's exact test2×2 contingency tablemcnemar_testMcNemar's testPaired categorical data\n\nExample:\n\nfrom pywayne.statistics import CorrelationTests\n\nct = CorrelationTests()\nresult = ct.pearson_correlation(x, y)\nprint(f\"Correlation: {result.statistic:.3f}, p-value: {result.p_value:.4f}\")"
      },
      {
        "title": "TimeSeriesTests (TimeSeriesTests)",
        "body": "Test time series properties: stationarity, autocorrelation, cointegration.\n\nMethodDescriptionUse Caseadf_testAugmented Dickey-FullerUnit root test for stationaritykpss_testKPSS testStationarity test (complements ADF)ljung_box_testLjung-Box Q testOverall autocorrelationruns_testRuns testRandomness testingarch_testARCH effect testHeteroscedasticitygranger_causalityGranger causalityCausal relationshipengle_granger_cointegrationEngle-Granger cointegrationLong-term equilibriumbreusch_godfrey_testBreusch-GodfreyHigher-order autocorrelation\n\nExample:\n\nfrom pywayne.statistics import TimeSeriesTests\n\ntst = TimeSeriesTests()\nadf_result = tst.adf_test(time_series_data)\nkpss_result = tst.kpss_test(time_series_data)\n\nif adf_result.reject_null:\n    print(\"Series is stationary\")\nelse:\n    print(\"Series has unit root (non-stationary)\")"
      },
      {
        "title": "ModelDiagnostics (ModelDiagnostics)",
        "body": "Regression model diagnostics: heteroscedasticity, autocorrelation, multicollinearity.\n\nMethodDescriptionUse Casebreusch_pagan_testBreusch-PaganHeteroscedasticity testwhite_testWhite's testGeneral heteroscedasticitygoldfeld_quandt_testGoldfeld-QuandtStructural break heteroscedasticitydurbin_watson_testDurbin-WatsonFirst-order autocorrelationvariance_inflation_factorVIFMulticollinearity diagnosislevene_testLevene's testHomogeneity of variancebartlett_testBartlett's testHomogeneity (normal assumption)residual_normality_testResidual normalityRegression assumption check\n\nExample:\n\nfrom pywayne.statistics import ModelDiagnostics\n\nmd = ModelDiagnostics()\nresiduals = y - model.predict(X)\n\n# Check assumptions\nbp_result = md.breusch_pagan_test(residuals, X)\ndw_result = md.durbin_watson_test(residuals)\n\nif bp_result.reject_null:\n    print(\"Warning: Heteroscedasticity detected\")"
      },
      {
        "title": "TestResult Object",
        "body": "All test methods return a unified TestResult object:\n\nresult = nt.shapiro_wilk(data)\n\n# Access results\nresult.test_name        # Test method name\nresult.statistic        # Test statistic value\nresult.p_value          # P-value\nresult.reject_null      # True if null hypothesis is rejected\nresult.critical_value   # Critical value (if applicable)\nresult.confidence_interval # Tuple (lower, upper) if applicable\nresult.effect_size      # Effect size if applicable\nresult.additional_info  # Dict with additional information"
      },
      {
        "title": "list_all_tests()",
        "body": "List all available test methods across all modules.\n\nfrom pywayne.statistics import list_all_tests\nprint(list_all_tests())"
      },
      {
        "title": "show_test_usage(method_name)",
        "body": "Display usage and documentation for a specific test.\n\nfrom pywayne.statistics import show_test_usage\nshow_test_usage('shapiro_wilk')"
      },
      {
        "title": "Normality Tests",
        "body": "Sample SizeRecommended Methodn < 30Shapiro-Wilk30 ≤ n ≤ 300Shapiro-Wilk, D'Agostino-Pearsonn > 300Jarque-Bera, Kolmogorov-Smirnov"
      },
      {
        "title": "Location Tests",
        "body": "ConditionParametricNon-parametricNormal datat-test, ANOVA-Non-normal data-Mann-Whitney U, Kruskal-WallisPaired dataPaired t-testWilcoxon signed-rank"
      },
      {
        "title": "Multiple Testing Correction",
        "body": "When performing multiple tests, apply p-value correction:\n\nfrom statsmodels.stats.multitest import multipletests\n\np_values = [r.p_value for r in results]\nrejected, p_corrected, _, _ = multipletests(\n    p_values, alpha=0.05, method='fdr_bh'\n)"
      },
      {
        "title": "Data Quality Check",
        "body": "def data_quality_check(data):\n    nt = NormalityTests()\n    lt = LocationTests()\n\n    normality = nt.shapiro_wilk(data)\n\n    # Outlier detection (IQR)\n    Q1, Q3 = np.percentile(data, [25, 75])\n    IQR = Q3 - Q1\n    outliers = data[(data < Q1 - 1.5*IQR) | (data > Q3 + 1.5*IQR)]\n\n    return {\n        'size': len(data),\n        'is_normal': not normality.reject_null,\n        'p_value': normality.p_value,\n        'outliers': len(outliers)\n    }"
      },
      {
        "title": "A/B Testing Workflow",
        "body": "def ab_test_analysis(control, treatment):\n    nt = NormalityTests()\n    lt = LocationTests()\n\n    # Check normality\n    norm_c = nt.shapiro_wilk(control[:100])\n    norm_t = nt.shapiro_wilk(treatment[:100])\n\n    # Choose appropriate test\n    if norm_c.p_value > 0.05 and norm_t.p_value > 0.05:\n        result = lt.two_sample_ttest(control, treatment)\n    else:\n        result = lt.mann_whitney_u(control, treatment)\n\n    return {\n        'test_used': result.test_name,\n        'p_value': result.p_value,\n        'significant': result.reject_null,\n        'effect_size': result.effect_size\n    }"
      },
      {
        "title": "Regression Model Diagnostics",
        "body": "def diagnose_model(y, X, model):\n    md = ModelDiagnostics()\n    residuals = y - model.predict(X)\n\n    return {\n        'heteroscedasticity_bp': md.breusch_pagan_test(residuals, X).reject_null,\n        'autocorrelation_dw': md.durbin_watson_test(residuals).statistic,\n        'residuals_normal': md.residual_normality_test(residuals).p_value,\n        'vif_max': max(md.variance_inflation_factor(X))\n    }"
      },
      {
        "title": "Notes",
        "body": "All methods accept np.ndarray or list as input\nAll methods return TestResult with consistent interface\nAlways validate test assumptions before applying parametric tests\nApply multiple testing correction when performing several tests\nReport effect sizes alongside p-values for complete interpretation"
      }
    ],
    "body": "Pywayne Statistics\n\nComprehensive statistical testing library for hypothesis testing, A/B testing, and data analysis.\n\nQuick Start\nfrom pywayne.statistics import NormalityTests, LocationTests\nimport numpy as np\n\n# Test data normality\nnt = NormalityTests()\ndata = np.random.normal(0, 1, 100)\nresult = nt.shapiro_wilk(data)\nprint(f\"p-value: {result.p_value:.4f}, is_normal: {not result.reject_null}\")\n\n# Compare two groups\nlt = LocationTests()\ngroup_a = np.random.normal(100, 15, 50)\ngroup_b = np.random.normal(105, 15, 50)\nresult = lt.two_sample_ttest(group_a, group_b)\nprint(f\"Significant difference: {result.reject_null}\")\n\nTest Categories\nNormalityTests (NormalityTests)\n\nTest if data follows a normal distribution or other specified distributions.\n\nMethod\tDescription\tUse Case\nshapiro_wilk\tShapiro-Wilk test\tSmall-medium samples (n ≤ 5000)\nks_test_normal\tK-S normality test\tMedium-large samples\nks_test_two_sample\tTwo-sample K-S test\tCompare two sample distributions\nanderson_darling\tAnderson-Darling test\tTail-sensitive normality test\ndagostino_pearson\tD'Agostino-Pearson K²\tBased on skewness and kurtosis\njarque_bera\tJarque-Bera test\tLarge samples, regression residuals\nchi_square_goodness_of_fit\tChi-square goodness-of-fit\tCategorical data\nlilliefors_test\tLilliefors test\tUnknown parameters K-S test\n\nExample:\n\nfrom pywayne.statistics import NormalityTests\n\nnt = NormalityTests()\nresult = nt.shapiro_wilk(data)\nif result.p_value < 0.05:\n    print(\"Data is NOT normally distributed\")\nelse:\n    print(\"Data follows normal distribution\")\n\nLocationTests (LocationTests)\n\nCompare means or medians across groups (parametric and non-parametric).\n\nMethod\tDescription\tUse Case\none_sample_ttest\tOne-sample t-test\tCompare sample mean to a value\ntwo_sample_ttest\tTwo-sample t-test\tCompare two independent group means\npaired_ttest\tPaired t-test\tCompare before/after measurements\none_way_anova\tOne-way ANOVA\tCompare 3+ group means\nmann_whitney_u\tMann-Whitney U test\tNon-parametric two-sample test\nwilcoxon_signed_rank\tWilcoxon signed-rank\tNon-parametric paired test\nkruskal_wallis\tKruskal-Wallis H test\tNon-parametric multi-group test\n\nExample (A/B Testing):\n\nfrom pywayne.statistics import LocationTests, NormalityTests\n\nlt = LocationTests()\nnt = NormalityTests()\n\n# Check normality first\nif nt.shapiro_wilk(control).p_value > 0.05:\n    result = lt.two_sample_ttest(control, treatment)\nelse:\n    result = lt.mann_whitney_u(control, treatment)\n\nprint(f\"Effect significant: {result.reject_null}\")\n\nCorrelationTests (CorrelationTests)\n\nTest correlation between variables and independence of categorical variables.\n\nMethod\tDescription\tUse Case\npearson_correlation\tPearson correlation\tLinear relationship\nspearman_correlation\tSpearman's rank\tMonotonic relationship\nkendall_tau\tKendall's tau\tRank correlation, small samples\nchi_square_independence\tChi-square independence\tCategorical variables\nfisher_exact_test\tFisher's exact test\t2×2 contingency table\nmcnemar_test\tMcNemar's test\tPaired categorical data\n\nExample:\n\nfrom pywayne.statistics import CorrelationTests\n\nct = CorrelationTests()\nresult = ct.pearson_correlation(x, y)\nprint(f\"Correlation: {result.statistic:.3f}, p-value: {result.p_value:.4f}\")\n\nTimeSeriesTests (TimeSeriesTests)\n\nTest time series properties: stationarity, autocorrelation, cointegration.\n\nMethod\tDescription\tUse Case\nadf_test\tAugmented Dickey-Fuller\tUnit root test for stationarity\nkpss_test\tKPSS test\tStationarity test (complements ADF)\nljung_box_test\tLjung-Box Q test\tOverall autocorrelation\nruns_test\tRuns test\tRandomness testing\narch_test\tARCH effect test\tHeteroscedasticity\ngranger_causality\tGranger causality\tCausal relationship\nengle_granger_cointegration\tEngle-Granger cointegration\tLong-term equilibrium\nbreusch_godfrey_test\tBreusch-Godfrey\tHigher-order autocorrelation\n\nExample:\n\nfrom pywayne.statistics import TimeSeriesTests\n\ntst = TimeSeriesTests()\nadf_result = tst.adf_test(time_series_data)\nkpss_result = tst.kpss_test(time_series_data)\n\nif adf_result.reject_null:\n    print(\"Series is stationary\")\nelse:\n    print(\"Series has unit root (non-stationary)\")\n\nModelDiagnostics (ModelDiagnostics)\n\nRegression model diagnostics: heteroscedasticity, autocorrelation, multicollinearity.\n\nMethod\tDescription\tUse Case\nbreusch_pagan_test\tBreusch-Pagan\tHeteroscedasticity test\nwhite_test\tWhite's test\tGeneral heteroscedasticity\ngoldfeld_quandt_test\tGoldfeld-Quandt\tStructural break heteroscedasticity\ndurbin_watson_test\tDurbin-Watson\tFirst-order autocorrelation\nvariance_inflation_factor\tVIF\tMulticollinearity diagnosis\nlevene_test\tLevene's test\tHomogeneity of variance\nbartlett_test\tBartlett's test\tHomogeneity (normal assumption)\nresidual_normality_test\tResidual normality\tRegression assumption check\n\nExample:\n\nfrom pywayne.statistics import ModelDiagnostics\n\nmd = ModelDiagnostics()\nresiduals = y - model.predict(X)\n\n# Check assumptions\nbp_result = md.breusch_pagan_test(residuals, X)\ndw_result = md.durbin_watson_test(residuals)\n\nif bp_result.reject_null:\n    print(\"Warning: Heteroscedasticity detected\")\n\nTestResult Object\n\nAll test methods return a unified TestResult object:\n\nresult = nt.shapiro_wilk(data)\n\n# Access results\nresult.test_name        # Test method name\nresult.statistic        # Test statistic value\nresult.p_value          # P-value\nresult.reject_null      # True if null hypothesis is rejected\nresult.critical_value   # Critical value (if applicable)\nresult.confidence_interval # Tuple (lower, upper) if applicable\nresult.effect_size      # Effect size if applicable\nresult.additional_info  # Dict with additional information\n\nUtility Functions\nlist_all_tests()\n\nList all available test methods across all modules.\n\nfrom pywayne.statistics import list_all_tests\nprint(list_all_tests())\n\nshow_test_usage(method_name)\n\nDisplay usage and documentation for a specific test.\n\nfrom pywayne.statistics import show_test_usage\nshow_test_usage('shapiro_wilk')\n\nMethod Selection Guide\nNormality Tests\nSample Size\tRecommended Method\nn < 30\tShapiro-Wilk\n30 ≤ n ≤ 300\tShapiro-Wilk, D'Agostino-Pearson\nn > 300\tJarque-Bera, Kolmogorov-Smirnov\nLocation Tests\nCondition\tParametric\tNon-parametric\nNormal data\tt-test, ANOVA\t-\nNon-normal data\t-\tMann-Whitney U, Kruskal-Wallis\nPaired data\tPaired t-test\tWilcoxon signed-rank\nMultiple Testing Correction\n\nWhen performing multiple tests, apply p-value correction:\n\nfrom statsmodels.stats.multitest import multipletests\n\np_values = [r.p_value for r in results]\nrejected, p_corrected, _, _ = multipletests(\n    p_values, alpha=0.05, method='fdr_bh'\n)\n\nCommon Applications\nData Quality Check\ndef data_quality_check(data):\n    nt = NormalityTests()\n    lt = LocationTests()\n\n    normality = nt.shapiro_wilk(data)\n\n    # Outlier detection (IQR)\n    Q1, Q3 = np.percentile(data, [25, 75])\n    IQR = Q3 - Q1\n    outliers = data[(data < Q1 - 1.5*IQR) | (data > Q3 + 1.5*IQR)]\n\n    return {\n        'size': len(data),\n        'is_normal': not normality.reject_null,\n        'p_value': normality.p_value,\n        'outliers': len(outliers)\n    }\n\nA/B Testing Workflow\ndef ab_test_analysis(control, treatment):\n    nt = NormalityTests()\n    lt = LocationTests()\n\n    # Check normality\n    norm_c = nt.shapiro_wilk(control[:100])\n    norm_t = nt.shapiro_wilk(treatment[:100])\n\n    # Choose appropriate test\n    if norm_c.p_value > 0.05 and norm_t.p_value > 0.05:\n        result = lt.two_sample_ttest(control, treatment)\n    else:\n        result = lt.mann_whitney_u(control, treatment)\n\n    return {\n        'test_used': result.test_name,\n        'p_value': result.p_value,\n        'significant': result.reject_null,\n        'effect_size': result.effect_size\n    }\n\nRegression Model Diagnostics\ndef diagnose_model(y, X, model):\n    md = ModelDiagnostics()\n    residuals = y - model.predict(X)\n\n    return {\n        'heteroscedasticity_bp': md.breusch_pagan_test(residuals, X).reject_null,\n        'autocorrelation_dw': md.durbin_watson_test(residuals).statistic,\n        'residuals_normal': md.residual_normality_test(residuals).p_value,\n        'vif_max': max(md.variance_inflation_factor(X))\n    }\n\nNotes\nAll methods accept np.ndarray or list as input\nAll methods return TestResult with consistent interface\nAlways validate test assumptions before applying parametric tests\nApply multiple testing correction when performing several tests\nReport effect sizes alongside p-values for complete interpretation"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/wangyendt/statistics-2",
    "publisherUrl": "https://clawhub.ai/wangyendt/statistics-2",
    "owner": "wangyendt",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/statistics-2",
    "downloadUrl": "https://openagent3.xyz/downloads/statistics-2",
    "agentUrl": "https://openagent3.xyz/skills/statistics-2/agent",
    "manifestUrl": "https://openagent3.xyz/skills/statistics-2/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/statistics-2/agent.md"
  }
}