ecological-agent-skills 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/AGENT_CONTEXT.md +191 -0
  2. package/CATALOG.md +329 -0
  3. package/LICENSE +692 -0
  4. package/README.md +347 -0
  5. package/bin/install.mjs +168 -0
  6. package/docs/comparison-with-alternatives.md +38 -0
  7. package/docs/global-examples-index.md +103 -0
  8. package/docs/repository-statistics.md +101 -0
  9. package/docs/theoretical-foundations.md +188 -0
  10. package/environment.yaml +106 -0
  11. package/examples/community/arctic_tundra_vegetation_example.md +247 -0
  12. package/examples/community/bird_landuse_example.md +63 -0
  13. package/examples/community/phytoplankton_reservoir_example.md +60 -0
  14. package/examples/community/reef_fish_indopacific_example.md +221 -0
  15. package/examples/impact/baci_road_example.md +57 -0
  16. package/examples/impact/ecosystem_services_atlantic_forest.md +83 -0
  17. package/examples/impact/forest_loss_borneo_timeseries_example.md +225 -0
  18. package/examples/occupancy/puma_camera_example.md +61 -0
  19. package/examples/occupancy/snow_leopard_himalayas_example.md +204 -0
  20. package/examples/reproducible/whittaker_biome_sdm_example.md +406 -0
  21. package/examples/sdm/anteater_cerrado_example.md +69 -0
  22. package/examples/sdm/jaguar_amazon_example.md +80 -0
  23. package/examples/sdm/koala_climate_change_example.md +170 -0
  24. package/examples/sdm/wolf_recolonization_europe_example.md +193 -0
  25. package/package.json +43 -0
  26. package/renv.lock +194 -0
  27. package/skills/SKILL_INDEX.json +1020 -0
  28. package/skills/acoustic-monitoring/SKILL.md +163 -0
  29. package/skills/acoustic-monitoring/examples/example-prompts.md +100 -0
  30. package/skills/acoustic-monitoring/examples/temperate_forest_birds_example.md +285 -0
  31. package/skills/acoustic-monitoring/resources/acoustic-indices-reference.md +93 -0
  32. package/skills/acoustic-monitoring/resources/soundscape-ecology-guide.md +90 -0
  33. package/skills/acoustic-monitoring/resources/species-id-tools-comparison.md +89 -0
  34. package/skills/acoustic-monitoring/scripts/batch_species_detection.py +360 -0
  35. package/skills/acoustic-monitoring/scripts/compute_acoustic_indices.R +235 -0
  36. package/skills/acoustic-monitoring/scripts/compute_acoustic_indices.py +374 -0
  37. package/skills/biostatistics-workbench/SKILL.md +140 -0
  38. package/skills/biostatistics-workbench/examples/example-prompts.md +39 -0
  39. package/skills/biostatistics-workbench/resources/effect-size-reference.md +81 -0
  40. package/skills/biostatistics-workbench/resources/glm-family-link-reference.md +47 -0
  41. package/skills/biostatistics-workbench/resources/test-selection-guide.md +93 -0
  42. package/skills/biostatistics-workbench/scripts/glm_pipeline.R +78 -0
  43. package/skills/biostatistics-workbench/scripts/glm_pipeline.py +210 -0
  44. package/skills/camera-trap-processing/SKILL.md +159 -0
  45. package/skills/camera-trap-processing/examples/example-prompts.md +103 -0
  46. package/skills/camera-trap-processing/examples/leopard_serengeti_example.md +231 -0
  47. package/skills/camera-trap-processing/resources/activity-patterns-reference.md +113 -0
  48. package/skills/camera-trap-processing/resources/camtrapR-workflow-guide.md +130 -0
  49. package/skills/camera-trap-processing/resources/detection-event-definition-guide.md +89 -0
  50. package/skills/camera-trap-processing/scripts/estimate_activity.R +169 -0
  51. package/skills/camera-trap-processing/scripts/process_camtrap_data.R +179 -0
  52. package/skills/camera-trap-processing/scripts/process_camtrap_data.py +192 -0
  53. package/skills/community-ecology-ordination/SKILL.md +133 -0
  54. package/skills/community-ecology-ordination/examples/example-prompts.md +35 -0
  55. package/skills/community-ecology-ordination/resources/dissimilarity-metric-guide.md +53 -0
  56. package/skills/community-ecology-ordination/resources/nmds-interpretation-guide.md +104 -0
  57. package/skills/community-ecology-ordination/scripts/__pycache__/community_analysis.cpython-311.pyc +0 -0
  58. package/skills/community-ecology-ordination/scripts/community_analysis.R +143 -0
  59. package/skills/community-ecology-ordination/scripts/community_analysis.py +231 -0
  60. package/skills/ecological-data-foundation/SKILL.md +129 -0
  61. package/skills/ecological-data-foundation/examples/example-prompts.md +40 -0
  62. package/skills/ecological-data-foundation/resources/coordinate-cleaning-flags.md +66 -0
  63. package/skills/ecological-data-foundation/resources/darwin-core-glossary.md +91 -0
  64. package/skills/ecological-data-foundation/resources/data-citation-guide.md +265 -0
  65. package/skills/ecological-data-foundation/resources/gbif-data-citation-guide.md +193 -0
  66. package/skills/ecological-data-foundation/resources/qa-checklist.md +83 -0
  67. package/skills/ecological-data-foundation/scripts/__pycache__/clean_occurrences.cpython-311.pyc +0 -0
  68. package/skills/ecological-data-foundation/scripts/__pycache__/download_from_ebird.cpython-311.pyc +0 -0
  69. package/skills/ecological-data-foundation/scripts/__pycache__/download_from_inat.cpython-311.pyc +0 -0
  70. package/skills/ecological-data-foundation/scripts/__pycache__/download_from_iucn.cpython-311.pyc +0 -0
  71. package/skills/ecological-data-foundation/scripts/__pycache__/download_from_obis.cpython-311.pyc +0 -0
  72. package/skills/ecological-data-foundation/scripts/clean_occurrences.R +230 -0
  73. package/skills/ecological-data-foundation/scripts/clean_occurrences.py +268 -0
  74. package/skills/ecological-data-foundation/scripts/download_from_ebird.R +251 -0
  75. package/skills/ecological-data-foundation/scripts/download_from_ebird.py +364 -0
  76. package/skills/ecological-data-foundation/scripts/download_from_gbif.R +315 -0
  77. package/skills/ecological-data-foundation/scripts/download_from_gbif.py +407 -0
  78. package/skills/ecological-data-foundation/scripts/download_from_inat.R +238 -0
  79. package/skills/ecological-data-foundation/scripts/download_from_inat.py +304 -0
  80. package/skills/ecological-data-foundation/scripts/download_from_iucn.R +273 -0
  81. package/skills/ecological-data-foundation/scripts/download_from_iucn.py +344 -0
  82. package/skills/ecological-data-foundation/scripts/download_from_obis.R +248 -0
  83. package/skills/ecological-data-foundation/scripts/download_from_obis.py +318 -0
  84. package/skills/ecological-impact-assessment/SKILL.md +123 -0
  85. package/skills/ecological-impact-assessment/examples/example-prompts.md +32 -0
  86. package/skills/ecological-impact-assessment/resources/baci-design-guide.md +55 -0
  87. package/skills/ecological-impact-assessment/resources/fragmentation-metrics-reference.md +86 -0
  88. package/skills/ecological-impact-assessment/resources/pressure-index-template.md +78 -0
  89. package/skills/ecological-impact-assessment/resources/study-design-guide.md +168 -0
  90. package/skills/ecological-impact-assessment/scripts/baci_analysis.R +161 -0
  91. package/skills/ecological-impact-assessment/scripts/fragmentation_analysis.py +141 -0
  92. package/skills/ecological-impact-assessment/scripts/power_analysis_baci.R +274 -0
  93. package/skills/ecosystem-services-assessment/SKILL.md +125 -0
  94. package/skills/ecosystem-services-assessment/examples/example-prompts.md +24 -0
  95. package/skills/ecosystem-services-assessment/resources/es-indicator-reference.md +45 -0
  96. package/skills/ecosystem-services-assessment/resources/invest-parameter-guide.md +86 -0
  97. package/skills/ecosystem-services-assessment/resources/rusle-coefficients.md +88 -0
  98. package/skills/ecosystem-services-assessment/scripts/__pycache__/compute_es.cpython-311.pyc +0 -0
  99. package/skills/ecosystem-services-assessment/scripts/compute_es.py +189 -0
  100. package/skills/ecosystem-services-assessment/scripts/tradeoff_analysis.R +161 -0
  101. package/skills/environmental-time-series/SKILL.md +125 -0
  102. package/skills/environmental-time-series/examples/example-prompts.md +33 -0
  103. package/skills/environmental-time-series/resources/anomaly-indices-reference.md +88 -0
  104. package/skills/environmental-time-series/resources/bfast-parameter-guide.md +69 -0
  105. package/skills/environmental-time-series/scripts/__pycache__/recovery_trajectory.cpython-311.pyc +0 -0
  106. package/skills/environmental-time-series/scripts/__pycache__/trend_analysis.cpython-311.pyc +0 -0
  107. package/skills/environmental-time-series/scripts/recovery_trajectory.R +305 -0
  108. package/skills/environmental-time-series/scripts/recovery_trajectory.py +178 -0
  109. package/skills/environmental-time-series/scripts/trend_analysis.R +192 -0
  110. package/skills/environmental-time-series/scripts/trend_analysis.py +184 -0
  111. package/skills/geoprocessing-for-ecology/SKILL.md +123 -0
  112. package/skills/geoprocessing-for-ecology/examples/example-prompts.md +32 -0
  113. package/skills/geoprocessing-for-ecology/resources/crs-reference.md +62 -0
  114. package/skills/geoprocessing-for-ecology/resources/global-predictor-sources.md +331 -0
  115. package/skills/geoprocessing-for-ecology/resources/resampling-methods.md +57 -0
  116. package/skills/geoprocessing-for-ecology/scripts/__pycache__/download_predictors.cpython-311.pyc +0 -0
  117. package/skills/geoprocessing-for-ecology/scripts/download_predictors.R +239 -0
  118. package/skills/geoprocessing-for-ecology/scripts/download_predictors.py +379 -0
  119. package/skills/geoprocessing-for-ecology/scripts/stack_and_extract.R +224 -0
  120. package/skills/geoprocessing-for-ecology/scripts/stack_and_extract.py +172 -0
  121. package/skills/landscape-connectivity/SKILL.md +170 -0
  122. package/skills/landscape-connectivity/examples/example-prompts.md +96 -0
  123. package/skills/landscape-connectivity/examples/jaguar_mesoamerica_corridor_example.md +271 -0
  124. package/skills/landscape-connectivity/resources/circuitscape-parameter-guide.md +155 -0
  125. package/skills/landscape-connectivity/resources/graph-theory-for-ecology.md +134 -0
  126. package/skills/landscape-connectivity/resources/resistance-surface-guide.md +141 -0
  127. package/skills/landscape-connectivity/scripts/connectivity_analysis.py +387 -0
  128. package/skills/landscape-connectivity/scripts/connectivity_metrics.R +274 -0
  129. package/skills/landscape-connectivity/scripts/resistance_surface.R +239 -0
  130. package/skills/model-validation-and-uncertainty/SKILL.md +131 -0
  131. package/skills/model-validation-and-uncertainty/examples/example-prompts.md +30 -0
  132. package/skills/model-validation-and-uncertainty/resources/extrapolation-risk-guide.md +236 -0
  133. package/skills/model-validation-and-uncertainty/resources/metric-selection-guide.md +52 -0
  134. package/skills/model-validation-and-uncertainty/resources/threshold-selection-guide.md +64 -0
  135. package/skills/model-validation-and-uncertainty/scripts/__pycache__/validate_model.cpython-311.pyc +0 -0
  136. package/skills/model-validation-and-uncertainty/scripts/extrapolation_risk.R +315 -0
  137. package/skills/model-validation-and-uncertainty/scripts/validate_model.py +226 -0
  138. package/skills/model-validation-and-uncertainty/scripts/validate_sdm.R +162 -0
  139. package/skills/occupancy-and-detection/SKILL.md +126 -0
  140. package/skills/occupancy-and-detection/examples/example-prompts.md +33 -0
  141. package/skills/occupancy-and-detection/resources/detection-history-format.md +100 -0
  142. package/skills/occupancy-and-detection/resources/occupancy-study-design.md +47 -0
  143. package/skills/occupancy-and-detection/scripts/__pycache__/occupancy_analysis.cpython-311.pyc +0 -0
  144. package/skills/occupancy-and-detection/scripts/occupancy_analysis.R +160 -0
  145. package/skills/occupancy-and-detection/scripts/occupancy_analysis.py +159 -0
  146. package/skills/population-viability-analysis/SKILL.md +161 -0
  147. package/skills/population-viability-analysis/examples/african_elephant_pva_example.md +266 -0
  148. package/skills/population-viability-analysis/examples/example-prompts.md +95 -0
  149. package/skills/population-viability-analysis/resources/extinction-risk-thresholds.md +128 -0
  150. package/skills/population-viability-analysis/resources/matrix-model-guide.md +139 -0
  151. package/skills/population-viability-analysis/resources/sensitivity-elasticity-reference.md +182 -0
  152. package/skills/population-viability-analysis/scripts/matrix_pva.R +258 -0
  153. package/skills/population-viability-analysis/scripts/pva_analysis.py +442 -0
  154. package/skills/population-viability-analysis/scripts/stochastic_pva.R +353 -0
  155. package/skills/predictive-modeling-best-practices/SKILL.md +136 -0
  156. package/skills/predictive-modeling-best-practices/examples/example-prompts.md +58 -0
  157. package/skills/predictive-modeling-best-practices/resources/collinearity-decision-tree.md +65 -0
  158. package/skills/predictive-modeling-best-practices/resources/sampling-bias-correction.md +267 -0
  159. package/skills/predictive-modeling-best-practices/resources/spatial-cv-guide.md +73 -0
  160. package/skills/predictive-modeling-best-practices/scripts/__pycache__/spatial_cv.cpython-311.pyc +0 -0
  161. package/skills/predictive-modeling-best-practices/scripts/collinearity_check.R +112 -0
  162. package/skills/predictive-modeling-best-practices/scripts/spatial_cv.py +182 -0
  163. package/skills/reproducible-ecology-pipeline/SKILL.md +139 -0
  164. package/skills/reproducible-ecology-pipeline/examples/example-prompts.md +35 -0
  165. package/skills/reproducible-ecology-pipeline/resources/directory-structure-template.md +94 -0
  166. package/skills/reproducible-ecology-pipeline/resources/params-yaml-template.yaml +84 -0
  167. package/skills/reproducible-ecology-pipeline/resources/reproducibility-checklist-template.md +66 -0
  168. package/skills/reproducible-ecology-pipeline/scripts/generate_file_manifest.py +110 -0
  169. package/skills/reproducible-ecology-pipeline/scripts/init_project.sh +53 -0
  170. package/skills/spatial-prioritization/SKILL.md +162 -0
  171. package/skills/spatial-prioritization/examples/biodiversity_hotspot_prioritization_example.md +289 -0
  172. package/skills/spatial-prioritization/examples/example-prompts.md +93 -0
  173. package/skills/spatial-prioritization/resources/cost-surface-reference.md +130 -0
  174. package/skills/spatial-prioritization/resources/marxan-vs-prioritizr-comparison.md +125 -0
  175. package/skills/spatial-prioritization/resources/prioritizr-formulation-guide.md +188 -0
  176. package/skills/spatial-prioritization/resources/representation-targets-guide.md +186 -0
  177. package/skills/spatial-prioritization/scripts/prioritization_sensitivity.R +320 -0
  178. package/skills/spatial-prioritization/scripts/run_prioritization.R +336 -0
  179. package/skills/species-distribution-modeling/SKILL.md +139 -0
  180. package/skills/species-distribution-modeling/examples/example-prompts.md +36 -0
  181. package/skills/species-distribution-modeling/resources/algorithm-comparison.md +25 -0
  182. package/skills/species-distribution-modeling/resources/calibration-area-guide.md +71 -0
  183. package/skills/species-distribution-modeling/resources/climate-scenario-preparation.md +170 -0
  184. package/skills/species-distribution-modeling/resources/maxent-calibration-guide.md +211 -0
  185. package/skills/species-distribution-modeling/resources/sdm-checklist.md +37 -0
  186. package/skills/species-distribution-modeling/scripts/predict_distribution.R +236 -0
  187. package/skills/species-distribution-modeling/scripts/predict_distribution.py +286 -0
  188. package/skills/species-distribution-modeling/scripts/prepare_future_layers.R +351 -0
  189. package/skills/species-distribution-modeling/scripts/project_scenarios.R +220 -0
  190. package/skills/species-distribution-modeling/scripts/run_ensemble_sdm.R +99 -0
  191. package/skills/species-distribution-modeling/scripts/sdm_pipeline.py +318 -0
  192. package/skills/species-distribution-modeling/scripts/tune_maxnet.R +344 -0
  193. package/templates/SKILL_TEMPLATE.md +225 -0
  194. package/templates/checklists/data-submission-checklist.md +38 -0
  195. package/templates/checklists/post-analysis-checklist.md +55 -0
  196. package/templates/checklists/pre-analysis-checklist.md +31 -0
  197. package/templates/prompts/debug-skill.md +47 -0
  198. package/templates/prompts/invoke-skill.md +34 -0
  199. package/templates/prompts/invoke-workflow.md +45 -0
  200. package/templates/reports/technical-report-template.md +80 -0
  201. package/templates/scripts/logger_setup.R +79 -0
  202. package/templates/scripts/logger_setup.py +119 -0
  203. package/templates/scripts/params_loader.R +28 -0
  204. package/templates/scripts/params_loader.py +38 -0
  205. package/workflows/analyze-community-structure/WORKFLOW.md +72 -0
  206. package/workflows/analyze-environmental-change/WORKFLOW.md +73 -0
  207. package/workflows/assess-ecological-impact/WORKFLOW.md +75 -0
  208. package/workflows/assess-ecosystem-services/WORKFLOW.md +68 -0
  209. package/workflows/assess-landscape-connectivity/WORKFLOW.md +84 -0
  210. package/workflows/build-fire-risk-map/WORKFLOW.md +79 -0
  211. package/workflows/produce-technical-report/WORKFLOW.md +113 -0
  212. package/workflows/run-camera-trap-occupancy/WORKFLOW.md +87 -0
  213. package/workflows/run-conservation-prioritization/WORKFLOW.md +89 -0
  214. package/workflows/run-multispecies-screening/WORKFLOW.md +197 -0
  215. package/workflows/run-occupancy-analysis/WORKFLOW.md +74 -0
  216. package/workflows/run-population-viability/WORKFLOW.md +90 -0
  217. package/workflows/run-sdm-study/WORKFLOW.md +99 -0
package/README.md ADDED
@@ -0,0 +1,347 @@
1
+ # ecological-agent-skills
2
+
3
+ [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4
+
5
+ A curated, agent-agnostic skill library for **quantitative ecology** workflows, designed for use with any AI coding agent.
6
+
7
+ **17 modular skills** | **13 multi-step workflows** | **58 R/Python scripts** | **14 worked examples across 6 continents**
8
+
9
+ ---
10
+
11
+ ## Table of Contents
12
+
13
+ - [New Here? Start Here!](#new-here-start-here)
14
+ - [Installation](#installation)
15
+ - [Core Concepts](#core-concepts)
16
+ - [Skills (17)](#skills-17)
17
+ - [Workflows (13)](#workflows-13)
18
+ - [How to Use Skills](#how-to-use-skills)
19
+ - [For AI Agents](#for-ai-agents)
20
+ - [Examples (14)](#examples-14)
21
+ - [Documentation](#documentation)
22
+ - [Implementation Roadmap](#implementation-roadmap)
23
+ - [Contributing](#contributing)
24
+ - [License](#license)
25
+
26
+ ---
27
+
28
+ ## New Here? Start Here!
29
+
30
+ **What is this?** A collection of structured Markdown instructions (skills) that teach AI agents how to perform quantitative ecology analyses — from cleaning GBIF data to running species distribution models, occupancy analysis, PVA, and conservation prioritization.
31
+
32
+ **Who is it for?** Ecologists, conservation biologists, and environmental scientists who use AI coding agents to assist with data analysis in R or Python.
33
+
34
+ **1-minute quick start:**
35
+
36
+ ```bash
37
+ # 1. Clone the repository
38
+ git clone https://github.com/baratadiego/ecological-agent-skills.git
39
+
40
+ # 2. Tell your agent about it (example for Claude Code)
41
+ cd ecological-agent-skills
42
+ # The agent reads AGENT_CONTEXT.md and skills/SKILL_INDEX.json automatically
43
+
44
+ # 3. Ask your agent to run an analysis
45
+ ```
46
+
47
+ ```
48
+ Use the species-distribution-modeling skill to build a MaxEnt model
49
+ for Panthera onca in the Amazon biome using WorldClim v2.1 predictors.
50
+ ```
51
+
52
+ **That's it.** The agent reads the skill instructions, follows the decision points, runs the R/Python scripts, and produces validated outputs with full reproducibility tracking.
53
+
54
+ **Pick a starting workflow:**
55
+
56
+ | Your goal | Workflow to run |
57
+ |-----------|----------------|
58
+ | Model where a species occurs | `run-sdm-study` |
59
+ | Estimate occupancy from camera traps | `run-camera-trap-occupancy` |
60
+ | Assess impact of a disturbance | `assess-ecological-impact` |
61
+ | Compare community composition | `analyze-community-structure` |
62
+ | Identify conservation priority areas | `run-conservation-prioritization` |
63
+
64
+ ---
65
+
66
+ ## Installation
67
+
68
+ ### Option A: npx (recommended)
69
+
70
+ ```bash
71
+ npx ecological-agent-skills --claude
72
+ ```
73
+
74
+ One command. Clones the repository, copies skills to the right location for your agent, and prints next steps.
75
+
76
+ ### Option B: Git clone
77
+
78
+ ```bash
79
+ git clone https://github.com/baratadiego/ecological-agent-skills.git
80
+ ```
81
+
82
+ ### Option C: Download ZIP
83
+
84
+ Download from [Releases](https://github.com/baratadiego/ecological-agent-skills/releases) and extract to your preferred location.
85
+
86
+ ---
87
+
88
+ ### Choose Your Tool
89
+
90
+ | Tool | Install command |
91
+ |------|----------------|
92
+ | **Claude Code** | `npx ecological-agent-skills --claude` |
93
+ | **Gemini CLI / Antigravity** | `npx ecological-agent-skills --gemini` |
94
+ | **Cursor** | `npx ecological-agent-skills --cursor` |
95
+ | **GitHub Copilot** | `npx ecological-agent-skills --copilot` |
96
+ | **Codex CLI** | `npx ecological-agent-skills --codex` |
97
+ | **Custom path** | `npx ecological-agent-skills --path ./my-skills` |
98
+
99
+ **What each flag does:**
100
+
101
+ | Flag | Install path | Notes |
102
+ |------|-------------|-------|
103
+ | `--claude` | `.claude/skills/ecological-agent-skills/` | Project-local. Add reference to `CLAUDE.md` |
104
+ | `--gemini` | `~/.gemini/ecological-agent-skills/skills/` | Global. Auto-discovered by Gemini CLI |
105
+ | `--cursor` | `.cursor/skills/ecological-agent-skills/` | Project-local. Add reference to `.cursor/rules/` |
106
+ | `--copilot` | `.github/skills/ecological-agent-skills/` | Project-local. Reference in `copilot-instructions.md` |
107
+ | `--codex` | `.codex/skills/ecological-agent-skills/` | Project-local |
108
+ | `--path <dir>` | Custom directory | For any agent or manual setup |
109
+
110
+ ### Manual setup per agent
111
+
112
+ If you prefer to clone manually, here's how to wire it up for each tool:
113
+
114
+ | Agent Framework | Setup after cloning |
115
+ |----------------|---------------------|
116
+ | **Claude Code** | Add to `CLAUDE.md`: `Read AGENT_CONTEXT.md from ecological-agent-skills/ before any ecology task` |
117
+ | **Gemini CLI** | Move to `~/.gemini/ecological-agent-skills/skills/` — auto-discovered |
118
+ | **Cursor** | Add to `.cursor/rules/`: `Read AGENT_CONTEXT.md from ecological-agent-skills/ before any ecology task` |
119
+ | **GitHub Copilot** | Reference in `.github/copilot-instructions.md` |
120
+ | **Windsurf** | Reference in `.windsurfrules` |
121
+ | **Any agent** | Point the agent to `AGENT_CONTEXT.md` directly |
122
+
123
+ ### Environment setup (for running R/Python scripts)
124
+
125
+ ```bash
126
+ # Python + R environment via conda
127
+ conda env create -f environment.yaml
128
+ conda activate eco-skills
129
+
130
+ # R packages via renv (inside R session)
131
+ renv::restore()
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Core Concepts
137
+
138
+ **Skills** are self-contained analysis modules. Each skill lives in its own directory with:
139
+ - `SKILL.md` — instructions the agent reads before executing
140
+ - `resources/` — reference guides, checklists, decision tables
141
+ - `scripts/` — R and Python scripts the agent can run
142
+ - `examples/` — worked examples and prompt templates
143
+
144
+ **Workflows** chain multiple skills into end-to-end pipelines (e.g., data cleaning → modeling → validation → reporting).
145
+
146
+ **Decision Points** are built into every skill and workflow — conditional logic that tells the agent what to do when AUC is too low, sample size is insufficient, or assumptions are violated.
147
+
148
+ ---
149
+
150
+ ## Skills (17)
151
+
152
+ ### Foundation (Phase 1)
153
+
154
+ | # | Skill | Domain |
155
+ |---|-------|--------|
156
+ | 1 | `ecological-data-foundation` | Data ingestion, QA, schema |
157
+ | 2 | `geoprocessing-for-ecology` | CRS, raster, vector, spatial ops |
158
+ | 3 | `biostatistics-workbench` | Tests, GLM/GLMM, effect sizes |
159
+ | 4 | `predictive-modeling-best-practices` | CV, tuning, leakage, collinearity |
160
+ | 12 | `reproducible-ecology-pipeline` | Traceability, audit, checklist |
161
+
162
+ ### Modeling (Phase 2)
163
+
164
+ | # | Skill | Domain |
165
+ |---|-------|--------|
166
+ | 5 | `model-validation-and-uncertainty` | Metrics, calibration, sensitivity |
167
+ | 6 | `species-distribution-modeling` | SDM/ENM full pipeline |
168
+ | 9 | `ecological-impact-assessment` | BACI, fragmentation, pressure |
169
+ | 10 | `environmental-time-series` | Trend, seasonality, breakpoint |
170
+
171
+ ### Specialist (Phase 3)
172
+
173
+ | # | Skill | Domain |
174
+ |---|-------|--------|
175
+ | 7 | `occupancy-and-detection` | Occupancy models, detectability |
176
+ | 8 | `community-ecology-ordination` | NMDS, PCA, diversity, clustering |
177
+ | 11 | `ecosystem-services-assessment` | ES indicators, valuation |
178
+
179
+ ### Advanced (Phase 4)
180
+
181
+ | # | Skill | Domain |
182
+ |---|-------|--------|
183
+ | 13 | `camera-trap-processing` | Detection events, RAI, diel activity, Dhat4 overlap |
184
+ | 14 | `acoustic-monitoring` | ACI/NDSI indices, BirdNET detection, soundscape ecology |
185
+ | 15 | `landscape-connectivity` | IIC, PC, dPC, Circuitscape, resistance surfaces |
186
+ | 16 | `population-viability-analysis` | Leslie/Lefkovitch lambda, stochastic PVA, IUCN Criterion E |
187
+ | 17 | `spatial-prioritization` | prioritizr ILP, 30x30 targets, BLM calibration, irreplaceability |
188
+
189
+ See [CATALOG.md](CATALOG.md) for full metadata, inputs, outputs, and workflow linkages.
190
+
191
+ ---
192
+
193
+ ## Workflows (13)
194
+
195
+ | Workflow | Skills Used | Purpose |
196
+ |----------|-------------|---------|
197
+ | `run-sdm-study` | 1 → 2 → 4 → 6 → 5 → 12 | Species distribution modeling |
198
+ | `assess-ecological-impact` | 1 → 2 → 9 → 3 → 5 → 12 | BACI impact analysis |
199
+ | `analyze-community-structure` | 1 → 3 → 8 → 5 → 12 | Community ordination |
200
+ | `build-fire-risk-map` | 1 → 2 → 10 → 4 → 5 → 9 | Fire risk spatial model |
201
+ | `run-occupancy-analysis` | 1 → 3 → 7 → 5 → 12 | Occupancy with imperfect detection |
202
+ | `analyze-environmental-change` | 1 → 2 → 10 → 9 → 12 | Environmental time series |
203
+ | `assess-ecosystem-services` | 1 → 2 → 11 → 3 → 12 | ES valuation |
204
+ | `produce-technical-report` | 12 → template → synthesis | Report generation |
205
+ | `run-multispecies-screening` | 1 → 2 → 4 → 6 → 5 | Rapid multi-species SDM |
206
+ | `run-camera-trap-occupancy` | 1 → 13 → 7 → 5 → 12 | Camera trap to occupancy |
207
+ | `assess-landscape-connectivity` | 1 → 2 → 15 → 5 → 12 | Corridor and patch importance |
208
+ | `run-population-viability` | 1 → 3 → 16 → 5 → 12 | PVA and extinction risk |
209
+ | `run-conservation-prioritization` | 1 → 2 → 6 → 17 → 12 | Reserve network design |
210
+
211
+ ---
212
+
213
+ ## How to Use Skills
214
+
215
+ ### Natural invocation
216
+ ```
217
+ Use the species-distribution-modeling skill to build a MaxEnt model for Chrysocyon brachyurus.
218
+ ```
219
+
220
+ ### Explicit skill reference
221
+ ```
222
+ Load skill: ecological-data-foundation
223
+ Task: validate and clean the occurrence dataset at data/raw/occurrences.csv
224
+ ```
225
+
226
+ ### Chaining via workflow
227
+ ```
228
+ Run workflow: run-sdm-study
229
+ Species: Panthera onca
230
+ Study area: Amazon biome
231
+ Predictors: WorldClim v2.1 + MapBiomas land cover
232
+ ```
233
+
234
+ ---
235
+
236
+ ## For AI Agents
237
+
238
+ If you are an AI agent operating in this repository, **read these two files first**:
239
+
240
+ | File | Purpose |
241
+ |---|---|
242
+ | [`AGENT_CONTEXT.md`](AGENT_CONTEXT.md) | Canonical rules for skill invocation, disambiguation, minimum sample sizes, project scaling, and file conventions |
243
+ | [`skills/SKILL_INDEX.json`](skills/SKILL_INDEX.json) | Machine-readable index of all skills with trigger keywords, required inputs, outputs, dependencies, and decision thresholds |
244
+
245
+ **Quick start for agents:**
246
+ 1. Read `AGENT_CONTEXT.md` in full before any task.
247
+ 2. Search `skills/SKILL_INDEX.json` by `trigger_keywords` to select the correct skill.
248
+ 3. Read the full `SKILL.md` of the selected skill before executing any step.
249
+ 4. Check `min_inputs` and `decision_points` before running scripts.
250
+ 5. Write decisions to `decision_log.md` after each skill completes.
251
+
252
+ ---
253
+
254
+ ## Examples (14)
255
+
256
+ | Region | Example | Analysis |
257
+ |--------|---------|----------|
258
+ | Amazon, Brazil | Jaguar | SDM |
259
+ | Cerrado, Brazil | Giant Anteater | SDM |
260
+ | Atlantic Forest, Brazil | Bird community | Community ordination |
261
+ | Atlantic Forest, Brazil | Puma | Occupancy |
262
+ | Atlantic Forest, Brazil | Road construction | BACI impact |
263
+ | Atlantic Forest, Brazil | Ecosystem services | ES valuation |
264
+ | Amazon reservoirs | Phytoplankton | Community shift |
265
+ | Western Europe | Grey Wolf | SDM + recolonization + conflict |
266
+ | Eastern Australia | Koala | SDM + climate change + MOP |
267
+ | Indo-Pacific | Reef fish (987 spp.) | Beta diversity + PERMANOVA |
268
+ | Central Himalayas | Snow Leopard | Occupancy + camera trap |
269
+ | Borneo | Tropical forest | BFAST + MESH + BACI |
270
+ | Arctic (Greenland/Canada) | Tundra vegetation | NDVI greening |
271
+ | Holarctic (global) | Red Fox | Fully reproducible SDM |
272
+
273
+ See [`docs/global-examples-index.md`](docs/global-examples-index.md) for full details with data sources and DOIs.
274
+
275
+ ---
276
+
277
+ ## Documentation
278
+
279
+ | Document | Description |
280
+ |----------|-------------|
281
+ | [`docs/theoretical-foundations.md`](docs/theoretical-foundations.md) | Citable justifications for 10 methodological decisions with primary references |
282
+ | [`docs/global-examples-index.md`](docs/global-examples-index.md) | Inventory of all 14 examples with geographic and taxonomic coverage |
283
+ | [`docs/comparison-with-alternatives.md`](docs/comparison-with-alternatives.md) | Comparison vs. Wallace, biomod2, kuenm, ENMTML, SDMtoolbox, Zonation, Vortex |
284
+ | [`CATALOG.md`](CATALOG.md) | Skill-level metadata: inputs, outputs, trigger keywords, workflow linkages |
285
+
286
+ ---
287
+
288
+ ## Repository Structure
289
+
290
+ ```
291
+ ecological-agent-skills/
292
+ ├── AGENT_CONTEXT.md ← rules for AI agents (read first)
293
+ ├── CATALOG.md ← skill index with metadata
294
+ ├── CITATION.cff ← citation metadata
295
+ ├── CHANGELOG.md ← version history
296
+ ├── CONTRIBUTING.md ← contributor guidelines
297
+ ├── KNOWN_ISSUES.md ← documented issues with workarounds
298
+ ├── RELEASE_CHECKLIST.md ← release process
299
+ ├── environment.yaml ← conda environment (Python + R)
300
+ ├── renv.lock ← R package lock file
301
+ ├── skills/ ← 17 modular skills
302
+ │ ├── SKILL_INDEX.json ← machine-readable skill registry
303
+ │ └── <skill-name>/
304
+ │ ├── SKILL.md ← main instructions
305
+ │ ├── resources/ ← checklists, glossaries, templates
306
+ │ ├── examples/ ← usage prompt examples
307
+ │ └── scripts/ ← R/Python helpers
308
+ ├── workflows/ ← 13 multi-step playbooks
309
+ │ └── <workflow-name>/
310
+ │ └── WORKFLOW.md
311
+ ├── templates/ ← reusable prompts, reports, checklists
312
+ ├── examples/ ← 14 worked examples (6 continents)
313
+ ├── docs/ ← theoretical foundations, comparisons
314
+ ├── tests/ ← pytest + testthat + 585 CI checks
315
+ │ ├── ci_check.sh ← structural integrity checker
316
+ │ ├── python/ ← 19 pytest test files
317
+ │ ├── r/ ← 18 testthat test files
318
+ │ ├── data/ ← 11 test CSVs
319
+ │ ├── regression/ ← reference-based regression tests
320
+ │ └── agent_smoke/ ← 15 agent routing validation cases
321
+ └── .github/workflows/ci.yml ← GitHub Actions CI
322
+ ```
323
+
324
+ ---
325
+
326
+ ## Implementation Roadmap
327
+
328
+ | Phase | Skills | Status |
329
+ |-------|--------|--------|
330
+ | **Phase 1** — Foundation | ecological-data-foundation, geoprocessing-for-ecology, biostatistics-workbench, predictive-modeling-best-practices, reproducible-ecology-pipeline | Complete |
331
+ | **Phase 2** — Modeling | model-validation-and-uncertainty, species-distribution-modeling, ecological-impact-assessment, environmental-time-series | Complete |
332
+ | **Phase 3** — Specialist | occupancy-and-detection, community-ecology-ordination, ecosystem-services-assessment | Complete |
333
+ | **Phase 4** — Advanced | camera-trap-processing, acoustic-monitoring, landscape-connectivity, population-viability-analysis, spatial-prioritization | Complete |
334
+
335
+ ---
336
+
337
+ ## Contributing
338
+
339
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for full guidelines.
340
+
341
+ Follow the standard skill packaging pattern: one directory per skill, `SKILL.md` as the entry point, with optional `resources/`, `examples/`, and `scripts/` subdirectories.
342
+
343
+ ---
344
+
345
+ ## License
346
+
347
+ This project is licensed under the [GNU General Public License v3.0](LICENSE) or later. See [`CITATION.cff`](CITATION.cff) for citation metadata.
@@ -0,0 +1,168 @@
1
+ #!/usr/bin/env node
2
+
3
+ // ecological-agent-skills installer
4
+ // Usage: npx ecological-agent-skills [--claude | --gemini | --cursor | --copilot | --codex | --path <dir>]
5
+
6
+ import { execFileSync } from "node:child_process";
7
+ import { existsSync, mkdirSync, cpSync } from "node:fs";
8
+ import { resolve, join } from "node:path";
9
+ import { homedir } from "node:os";
10
+
11
+ const REPO_URL = "https://github.com/baratadiego/ecological-agent-skills.git";
12
+ const PACKAGE_NAME = "ecological-agent-skills";
13
+
14
+ const TARGETS = {
15
+ "--claude": {
16
+ path: () => join(process.cwd(), ".claude", "skills", PACKAGE_NAME),
17
+ label: "Claude Code",
18
+ postInstall: `Add to your CLAUDE.md:\n Read AGENT_CONTEXT.md from .claude/skills/${PACKAGE_NAME}/ before any ecology task.`,
19
+ },
20
+ "--gemini": {
21
+ path: () => join(homedir(), ".gemini", PACKAGE_NAME, "skills"),
22
+ label: "Gemini CLI / Antigravity",
23
+ postInstall: "Skills will be auto-discovered by Gemini CLI.",
24
+ },
25
+ "--cursor": {
26
+ path: () => join(process.cwd(), ".cursor", "skills", PACKAGE_NAME),
27
+ label: "Cursor",
28
+ postInstall: `Add to .cursor/rules/:\n Read AGENT_CONTEXT.md from .cursor/skills/${PACKAGE_NAME}/ before any ecology task.`,
29
+ },
30
+ "--copilot": {
31
+ path: () => join(process.cwd(), ".github", "skills", PACKAGE_NAME),
32
+ label: "GitHub Copilot",
33
+ postInstall: `Reference in .github/copilot-instructions.md:\n Read AGENT_CONTEXT.md from .github/skills/${PACKAGE_NAME}/ before any ecology task.`,
34
+ },
35
+ "--codex": {
36
+ path: () => join(process.cwd(), ".codex", "skills", PACKAGE_NAME),
37
+ label: "Codex CLI",
38
+ postInstall: "Skills installed for Codex CLI.",
39
+ },
40
+ };
41
+
42
+ function printUsage() {
43
+ console.log(`
44
+ ecological-agent-skills — installer for quantitative ecology AI skills
45
+
46
+ Usage:
47
+ npx ecological-agent-skills --claude Install for Claude Code (project-local)
48
+ npx ecological-agent-skills --gemini Install for Gemini CLI (~/.gemini/)
49
+ npx ecological-agent-skills --cursor Install for Cursor (project-local)
50
+ npx ecological-agent-skills --copilot Install for GitHub Copilot (project-local)
51
+ npx ecological-agent-skills --codex Install for Codex CLI (project-local)
52
+ npx ecological-agent-skills --path <dir> Install to a custom directory
53
+
54
+ Options:
55
+ --help Show this help message
56
+ --version Show version
57
+ `);
58
+ }
59
+
60
+ function getVersion() {
61
+ return "3.1.0";
62
+ }
63
+
64
+ function main() {
65
+ const args = process.argv.slice(2);
66
+
67
+ if (args.includes("--help") || args.length === 0) {
68
+ printUsage();
69
+ process.exit(0);
70
+ }
71
+
72
+ if (args.includes("--version")) {
73
+ console.log(getVersion());
74
+ process.exit(0);
75
+ }
76
+
77
+ let targetPath;
78
+ let label;
79
+ let postInstall;
80
+
81
+ if (args.includes("--path")) {
82
+ const idx = args.indexOf("--path");
83
+ const customPath = args[idx + 1];
84
+ if (!customPath) {
85
+ console.error("Error: --path requires a directory argument.");
86
+ process.exit(1);
87
+ }
88
+ targetPath = resolve(customPath);
89
+ label = "Custom path";
90
+ postInstall = `Skills installed to ${targetPath}`;
91
+ } else {
92
+ const flag = args.find((a) => TARGETS[a]);
93
+ if (!flag) {
94
+ console.error(`Unknown option: ${args[0]}`);
95
+ printUsage();
96
+ process.exit(1);
97
+ }
98
+ const target = TARGETS[flag];
99
+ targetPath = target.path();
100
+ label = target.label;
101
+ postInstall = target.postInstall;
102
+ }
103
+
104
+ console.log(`\nInstalling ecological-agent-skills for ${label}...`);
105
+ console.log(`Target: ${targetPath}\n`);
106
+
107
+ const tmpDir = join(
108
+ homedir(),
109
+ ".cache",
110
+ "ecological-agent-skills-tmp-" + Date.now()
111
+ );
112
+
113
+ try {
114
+ console.log("Cloning repository...");
115
+ execFileSync("git", ["clone", "--depth", "1", REPO_URL, tmpDir], {
116
+ stdio: "pipe",
117
+ });
118
+
119
+ mkdirSync(targetPath, { recursive: true });
120
+
121
+ const filesToCopy = [
122
+ "skills",
123
+ "workflows",
124
+ "templates",
125
+ "examples",
126
+ "docs",
127
+ "AGENT_CONTEXT.md",
128
+ "CATALOG.md",
129
+ "environment.yaml",
130
+ "renv.lock",
131
+ ];
132
+
133
+ for (const item of filesToCopy) {
134
+ const src = join(tmpDir, item);
135
+ const dest = join(targetPath, item);
136
+ if (existsSync(src)) {
137
+ cpSync(src, dest, { recursive: true });
138
+ }
139
+ }
140
+
141
+ console.log("\nInstalled successfully!\n");
142
+ console.log(` 17 skills, 13 workflows, 58 scripts\n`);
143
+ console.log(`Next steps:`);
144
+ console.log(` ${postInstall}\n`);
145
+ console.log(
146
+ `Environment setup (optional, for running R/Python scripts):`
147
+ );
148
+ console.log(` conda env create -f ${join(targetPath, "environment.yaml")}`);
149
+ console.log(` conda activate eco-skills\n`);
150
+ } catch (err) {
151
+ console.error("Installation failed:", err.message);
152
+ process.exit(1);
153
+ } finally {
154
+ try {
155
+ if (process.platform === "win32") {
156
+ execFileSync("cmd", ["/c", "rmdir", "/s", "/q", tmpDir], {
157
+ stdio: "pipe",
158
+ });
159
+ } else {
160
+ execFileSync("rm", ["-rf", tmpDir], { stdio: "pipe" });
161
+ }
162
+ } catch {
163
+ // Ignore cleanup errors
164
+ }
165
+ }
166
+ }
167
+
168
+ main();
@@ -0,0 +1,38 @@
1
+ # Comparison with Alternative Tools
2
+
3
+ This document provides an objective comparison of **ecological-agent-skills** against established software tools used in quantitative ecology, species distribution modeling, population viability analysis, and spatial conservation planning.
4
+
5
+ ## Comparison Table
6
+
7
+ | Criterion | ecological-agent-skills | Wallace | SDMtoolbox | biomod2 | kuenm | ENMTML | Zonation | Vortex |
8
+ |---|---|---|---|---|---|---|---|---|
9
+ | **Type** | Skill repository (R + Python) | R/Shiny GUI | ArcGIS plugin (Python) | R package | R package | R package | Standalone (C++) | Standalone (Windows) |
10
+ | **SDM algorithms** | MaxEnt, GLM, GAM, BRT, RF via biomod2/maxnet wrappers | MaxEnt, GLM, GAM, BRT, RF, BIOCLIM | MaxEnt (with background selection tools) | MaxEnt, GLM, GAM, GBM, RF, SRE, FDA, MARS, ANN, CTA (10+) | MaxEnt only (calibration-focused) | MaxEnt, GLM, GAM, GBM, RF, SVM, BIOCLIM, Domain (10+) | None (consumes SDM outputs) | None (not an SDM tool) |
11
+ | **PVA included** | Yes (matrix-based, stochastic demographic) | No | No | No | No | No | No | Yes (individual-based, genetics, catastrophes) |
12
+ | **Prioritization included** | Yes (via prioritizr wrapper) | No | No | No | No | No | Yes (core functionality) | No |
13
+ | **Connectivity included** | Yes (resistance surfaces, least-cost paths, circuit theory via gdistance/Circuitscape) | No | Partial (corridor tools in ArcGIS) | No | No | No | Partial (connectivity penalty in planning) | No |
14
+ | **Reproducibility** | 4/5 -- scripted pipelines with config files, but depends on user discipline to version inputs | 3/5 -- session-based, exports R scripts but GUI steps not fully logged | 2/5 -- ArcGIS model builder possible but manual steps common | 4/5 -- fully scripted R workflows | 4/5 -- scripted calibration with CSV logs | 4/5 -- scripted with HTML output reports | 2/5 -- GUI-driven parameter files, batch mode possible | 2/5 -- GUI with project files, XML scenarios exportable |
15
+ | **Learning curve** | 3/5 -- requires comfort with CLI/agents and R/Python, but SKILL.md docs guide each step | 2/5 -- GUI with step-by-step tabs, beginner-friendly | 3/5 -- requires ArcGIS expertise | 3/5 -- R programming required, good vignettes | 3/5 -- R programming, MaxEnt-specific knowledge | 3/5 -- R programming, similar interface to biomod2 | 4/5 -- complex parameter tuning, sparse documentation | 4/5 -- many parameters, population biology expertise needed |
16
+ | **AI agent support** | Yes (designed for agents: trigger keywords, SKILL.md index, AGENT_CONTEXT.md) | No | No | No | No | No | No | No |
17
+ | **Methodological decision docs** | Yes (theoretical-foundations linking choices to primary literature) | Partial (guidance text in GUI panels) | No | Partial (vignettes explain options) | Yes (calibration rationale in publications) | Partial (vignettes) | No (user must consult external literature) | No (user must consult external literature) |
18
+ | **Global scope** | Yes (GBIF/BIEN download, WorldClim/CHELSA layers, any region) | Yes (GBIF integration, WorldClim) | Partial (requires user-supplied layers, no built-in download) | Yes (user supplies data, no built-in download, but global in principle) | Partial (user supplies data, designed for any region) | Yes (built-in GBIF and WorldClim download) | Yes (user supplies layers, any region) | Yes (user defines parameters, any species) |
19
+ | **Last update / maintenance** | 2025 (active development) | 2024 (active, v2.x) | 2021 (maintenance mode, ArcGIS Pro migration unclear) | 2024 (active, CRAN) | 2023 (maintained, GitHub) | 2022 (low activity) | 2022 (Zonation 5 released, limited updates) | 2024 (active, v10.x) |
20
+ | **Licence** | MIT | GPL-3 | GPL-3 | GPL-2+ | GPL-3 | GPL-3 | Proprietary (free for academic use) | Proprietary (free for non-commercial use) |
21
+
22
+ ## Positioning
23
+
24
+ ecological-agent-skills is the only repository designed specifically for use with AI agents, integrating 17 skills in reproducible pipelines with documented methodological decisions. It does not replace biomod2 or prioritizr -- it uses them as dependencies. It is distinguished by: (1) agent-native design with trigger keywords and skill index, (2) integrated coverage from data download through SDM, community ecology, impact assessment, PVA, connectivity, and spatial prioritization, (3) dual R+Python implementation for every script, and (4) theoretical-foundations document linking every methodological choice to primary literature.
25
+
26
+ Where Wallace and ENMTML excel at providing accessible, self-contained SDM workflows, and Vortex and Zonation offer deep functionality in PVA and spatial planning respectively, ecological-agent-skills occupies a distinct niche: it is a coordination layer that connects these analytical domains into end-to-end pipelines that an AI agent can discover, parameterize, and execute without manual GUI interaction. The repository is most valuable when an analyst needs to chain multiple analytical steps -- for example, downloading occurrence data, fitting an ensemble SDM, running a PVA on predicted suitable habitat, and feeding both outputs into a spatial prioritization -- in a single reproducible session guided by an AI assistant.
27
+
28
+ ## Limitations of ecological-agent-skills
29
+
30
+ The following limitations should be considered when evaluating whether this repository is appropriate for a given use case:
31
+
32
+ - **No GUI** -- requires command-line or agent interface. Users who prefer point-and-click workflows should consider Wallace or Vortex instead.
33
+ - **Not a standalone software package** -- a skill library that wraps existing packages. It adds orchestration and documentation, not novel algorithms.
34
+ - **SDM algorithms depend on external packages** (maxnet, dismo, biomod2). If upstream packages introduce breaking changes, scripts may require updates.
35
+ - **PVA implementation is simpler than Vortex** -- no genetics module, no individual-based modeling, no catastrophe scheduling. For species requiring detailed genetic or demographic complexity, Vortex remains the better tool.
36
+ - **Prioritization is a wrapper around prioritizr** -- does not add novel optimization solvers or planning unit generation beyond what prioritizr already provides.
37
+ - **Test suite does not cover all edge cases** for scripts that require live API calls (GBIF, WorldClim). Tests use stored fixtures; failures against live APIs may not be caught until runtime.
38
+ - **Documentation is in English only**. Non-English-speaking users may face accessibility barriers, particularly for the methodological decision documents.
@@ -0,0 +1,103 @@
1
+ # Global Examples Index
2
+
3
+ Complete inventory of all worked examples in the ecological-agent-skills repository, with geographic and thematic coverage analysis.
4
+
5
+ ---
6
+
7
+ ## Example Inventory
8
+
9
+ | # | Example | Species / System | Region | Continent | Biome | Skill / Workflow | Analysis Type | Data Source | DOI / URL |
10
+ |---|---------|-----------------|--------|-----------|-------|-----------------|---------------|-------------|-----------|
11
+ | 1 | [Jaguar SDM](../examples/sdm/jaguar_amazon_example.md) | *Panthera onca* | Brazilian Amazon | South America | Tropical moist forest | run-sdm-study | SDM | GBIF, SpeciesLink, WorldClim | doi:10.15468/dl.xxxxx |
12
+ | 2 | [Giant Anteater SDM](../examples/sdm/anteater_cerrado_example.md) | *Myrmecophaga tridactyla* | Cerrado, Brazil | South America | Tropical savanna | run-sdm-study | SDM | GBIF, WorldClim, MapBiomas | doi:10.15468/dl.xxxxx |
13
+ | 3 | [Grey Wolf Recolonization](../examples/sdm/wolf_recolonization_europe_example.md) | *Canis lupus* | Western Europe | Europe | Temperate forest / Mediterranean | run-sdm-study | SDM + conflict analysis | GBIF, EuroLargeCarnivores, WorldClim, Corine LC | doi:10.15468/dl.xxxxx |
14
+ | 4 | [Koala Climate Change](../examples/sdm/koala_climate_change_example.md) | *Phascolarctos cinereus* | Eastern Australia | Oceania | Temperate woodland | run-sdm-study | SDM + future projection + MOP | GBIF, ALA, WorldClim, CMIP6 | doi:10.15468/dl.xxxxx |
15
+ | 5 | [Red Fox Reproducible](../examples/reproducible/whittaker_biome_sdm_example.md) | *Vulpes vulpes* | Holarctic (global) | Multi-continent | Multiple | run-sdm-study | SDM (fully reproducible) | GBIF, WorldClim | doi:10.15468/dl.example |
16
+ | 6 | [Bird Community — Atlantic Forest](../examples/community/bird_landuse_example.md) | 127 bird species | Atlantic Forest, Brazil | South America | Tropical moist forest | analyze-community-structure | Community ecology | Field surveys | — |
17
+ | 7 | [Phytoplankton — Amazon Reservoirs](../examples/community/phytoplankton_reservoir_example.md) | Phytoplankton assemblages | Amazon basin reservoirs | South America | Tropical moist forest (aquatic) | analyze-community-structure | Community ecology | Field surveys | — |
18
+ | 8 | [Reef Fish — Indo-Pacific](../examples/community/reef_fish_indopacific_example.md) | 987 reef fish species | Indo-Pacific coral reefs | Asia / Oceania | Marine coral reef | analyze-community-structure | Community ecology (beta diversity) | Reef Life Survey | doi:10.1038/sdata.2014.7 |
19
+ | 9 | [Arctic Tundra Vegetation](../examples/community/arctic_tundra_vegetation_example.md) | Tundra vegetation | Greenland, northern Canada | North America / Europe | Arctic tundra | analyze-community-structure + environmental-time-series | Time series + community shift | MODIS, ERA5-Land, AVA | — |
20
+ | 10 | [BACI Road Impact — Birds](../examples/impact/baci_road_example.md) | Birds (Atlantic Forest) | Atlantic Forest, Brazil | South America | Tropical moist forest | assess-ecological-impact | BACI impact assessment | Field surveys | — |
21
+ | 11 | [Ecosystem Services — Atlantic Forest](../examples/impact/ecosystem_services_atlantic_forest.md) | Atlantic Forest remnants | São Paulo, Brazil | South America | Tropical moist forest | assess-ecosystem-services | Ecosystem services | MapBiomas | — |
22
+ | 12 | [Forest Loss — Borneo](../examples/impact/forest_loss_borneo_timeseries_example.md) | Tropical rainforest | Borneo (Malaysia, Indonesia) | Asia | Tropical moist forest | assess-ecological-impact | BFAST + fragmentation + BACI | Hansen GFC, MODIS | doi:10.1126/science.1244693 |
23
+ | 13 | [Puma Occupancy — Camera Traps](../examples/occupancy/puma_camera_example.md) | *Puma concolor* | Atlantic Forest, Brazil | South America | Tropical moist forest | run-occupancy-analysis | Occupancy modeling | Camera traps | — |
24
+ | 14 | [Snow Leopard Occupancy — Himalayas](../examples/occupancy/snow_leopard_himalayas_example.md) | *Panthera uncia* | Central Himalayas (Nepal/India) | Asia | Alpine / montane | run-occupancy-analysis | Occupancy modeling | Camera traps, literature | doi:10.2193/0091-7648 |
25
+
26
+ ---
27
+
28
+ ## Coverage Summary
29
+
30
+ ### Continents Represented
31
+
32
+ | Continent | Examples | Example IDs |
33
+ |-----------|---------|-------------|
34
+ | South America | 6 | 1, 2, 6, 7, 10, 11 |
35
+ | Europe | 2 | 3, 9 (Greenland) |
36
+ | Asia | 3 | 8, 12, 14 |
37
+ | Oceania | 2 | 4, 8 (Indo-Pacific overlap) |
38
+ | North America | 2 | 5 (Holarctic), 9 (Canada) |
39
+ | Africa | 1 | 5 (Holarctic — includes N. Africa margin) |
40
+
41
+ All 6 inhabited continents are covered. Africa has minimal direct representation (only via the Holarctic red fox range), but the repository's skills and workflows are globally applicable.
42
+
43
+ ### Biomes Represented
44
+
45
+ | Biome | Examples | n |
46
+ |-------|---------|---|
47
+ | Tropical moist forest | 1, 2, 6, 7, 10, 11, 12, 13 | 8 |
48
+ | Tropical savanna (Cerrado) | 2 | 1 |
49
+ | Temperate forest | 3 | 1 |
50
+ | Temperate woodland | 4 | 1 |
51
+ | Mediterranean | 3 | 1 |
52
+ | Marine coral reef | 8 | 1 |
53
+ | Arctic tundra | 9 | 1 |
54
+ | Alpine / montane | 14 | 1 |
55
+ | Multiple (Holarctic) | 5 | 1 |
56
+
57
+ ### Taxonomic Groups
58
+
59
+ | Group | Species / System | Examples |
60
+ |-------|-----------------|---------|
61
+ | Mammals | Jaguar, anteater, wolf, koala, fox, puma, snow leopard | 1, 2, 3, 4, 5, 13, 14 |
62
+ | Birds | Atlantic Forest bird community | 6, 10 |
63
+ | Fish | Indo-Pacific reef fish (987 spp.) | 8 |
64
+ | Plants | Arctic tundra vegetation | 9 |
65
+ | Phytoplankton | Amazon reservoir assemblages | 7 |
66
+ | Ecosystem (forest) | Borneo tropical forest, Atlantic Forest remnants | 11, 12 |
67
+
68
+ ### Analysis Types
69
+
70
+ | Analysis | Examples | n |
71
+ |----------|---------|---|
72
+ | SDM (species distribution modeling) | 1, 2, 3, 4, 5 | 5 |
73
+ | Community ecology (ordination, diversity) | 6, 7, 8 | 3 |
74
+ | Occupancy modeling | 13, 14 | 2 |
75
+ | BACI impact assessment | 10, 12 | 2 |
76
+ | Ecosystem services | 11 | 1 |
77
+ | Time series (NDVI, BFAST) | 9, 12 | 2 |
78
+ | Climate change projection | 4 | 1 |
79
+ | Conflict / land-use overlay | 3 | 1 |
80
+ | Fragmentation (MESH) | 12 | 1 |
81
+
82
+ ### Workflows Used
83
+
84
+ | Workflow | Examples |
85
+ |----------|---------|
86
+ | run-sdm-study | 1, 2, 3, 4, 5 |
87
+ | analyze-community-structure | 6, 7, 8, 9 |
88
+ | run-occupancy-analysis | 13, 14 |
89
+ | assess-ecological-impact | 10, 12 |
90
+ | assess-ecosystem-services | 11 |
91
+ | analyze-environmental-change | 9 |
92
+
93
+ ---
94
+
95
+ ## Coverage Gaps and Notes
96
+
97
+ - **Africa**: Represented only through the Holarctic red fox example. All skills and workflows are applicable to African taxa and ecosystems — users are encouraged to contribute African case studies.
98
+ - **Acoustic monitoring / eDNA**: No worked example yet. The `acoustic-monitoring` skill includes decision tables and scripts but awaits a full example.
99
+ - **PVA**: No worked example yet. The `population-viability-analysis` skill includes Leslie matrix scripts and IUCN Criterion E guidance.
100
+ - **Spatial prioritization**: No worked example yet. The `spatial-prioritization` skill includes prioritizr scripts and 30x30 target guidance.
101
+ - **Connectivity**: No worked example yet. The `landscape-connectivity` skill includes IIC/PC/Circuitscape scripts.
102
+
103
+ These gaps represent opportunities for future examples. The skill documentation and scripts are complete and functional — examples provide illustration, not implementation.