Skip to main content Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill ecology명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... name ecology description Study of interactions between organisms and their environment, ecosystems, and populations category biology keywords ["ecology","ecosystems","populations","communities","biodiversity","food webs","conservation"]
Ecology
What I Do
Ecology studies interactions between organisms and their environment at various scales. I cover population dynamics, community structure, ecosystem function, biogeography, behavioral ecology, and conservation biology. I help analyze species distributions, model population growth, and understand ecological relationships.
When to Use Me
Modeling population growth and dynamics
Analyzing community structure and diversity
Studying predator-prey and competitive interactions
Assessing ecosystem productivity and energy flow
Evaluating biodiversity and conservation status
Studying habitat selection and species distribution
Understanding nutrient cycling and ecosystem services
Core Concepts
Population Growth : Exponential, logistic, density-dependence
Community Ecology : Species diversity, richness, evenness
Ecosystem Ecology : Energy flow, nutrient cycling, productivity
Behavioral Ecology : Foraging, mating strategies, social behavior
Food Webs : Trophic levels, energy transfer efficiency
Biodiversity : Alpha, beta, gamma diversity indices
Species Interactions : Competition, predation, mutualism, parasitism
Ecosystem Services : Provisioning, regulating, supporting services
Conservation Biology : Endangered species, habitat fragmentation
Biogeography : Island biogeography, range distributions
Code Examples
import numpy as np
from typing import List , Dict , Tuple
class PopulationEcology :
def __init__ (self, species: str , carrying_capacity: float ):
self .species = species
self .K = carrying_capacity
def exponential_growth (self, initial_pop: float ,
rate: float ,
time: float ) -> float :
return initial_pop * np.exp(rate * time)
def logistic_growth (self, initial_pop: float ,
rate: float ,
time: float ) -> float :
N0 = initial_pop
K = self .K
r = rate
return K / (1 + ((K - N0) / N0) * np.exp(-r * time))
def calculate_growth_rate (self, N1: float , N2: float ,
dt: float ) -> float :
return (np.log(N2) - np.log(N1)) / dt
def density_dependence (self, N: float ,
r: float ,
alpha: ) -> :
r * ( - N / .K) - alpha * (N / .K)**
( ) -> :
np.mean([p * r p, r (populations, growth_rates)])
( ) -> :
N = N0
extinction_prob =
gen (generations):
np.random.random() < catastrophe_prob:
N *=
:
N *= lambda_rate
N < :
extinction_prob += ( - extinction_prob) * ( / (gen + ))
{ : extinction_prob}
:
( ):
.community = community_name
( ) -> :
total = (abundances)
proportions = [a / total a abundances]
H = - (p * np.log(p) p proportions p > )
D = (p** p proportions)
S = (abundances)
J = H / np.log(S) S >
{
: H,
: D,
: S,
: J
}
( ) -> :
N = (species_counts)
- (n * (n - ) n species_counts) / (N * (N - ))
( ) -> :
species_shared = ([ s community1 s > s < (community2) community2[s- ] > ])
species_total = ([ s community1 s > ]) + \
([ s community2 s > ])
species_shared / species_total
( ) -> [ ]:
(abundances, reverse= )
:
( ):
.ecosystem = ecosystem
( ) -> :
gpp - ra
( ) -> :
production_next / production_current *
( ) -> :
npp / turnover_rate
( ) -> :
limitation = np.sqrt(nitrogen / kn) * np.sqrt(phosphorus / kp)
nitrogen / kn < phosphorus / kp:
limiting_nutrient =
:
limiting_nutrient =
{ : limitation, : limiting_nutrient}
( ) -> :
actual_et / potential_et
:
( ):
.species = species
( ) -> :
opt_temp = + np.random.uniform(- , )
opt_precip = + np.random.uniform(- , )
temp_suit = np.exp(-((temperature - opt_temp) / )** )
precip_suit = np.exp(-((precipitation - opt_precip) / )** )
temp_suit * precip_suit
( ) -> :
convex_hull = occurrences
(occurrences) *
pop = PopulationEcology( , )
N = pop.logistic_growth( , , )
( )
comm = CommunityEcology( )
diversity = comm.calculate_diversity_indices([ , , , ])
( )
Best Practices
Use appropriate spatial and temporal scales in ecological studies
Account for detection probability in species surveys
Consider environmental stochasticity in population models
Validate models with independent data when possible
Use proper sampling design for community analysis
Consider source-sink dynamics in metapopulations
Account for temporal autocorrelation in time series
Use multiple diversity measures for comprehensive assessment
Consider edge effects in fragmented habitats
Document data collection methods for reproducibility
float
float
return
1
self
self
2
def
carrying_capacity_estimation
self, populations: List [float ],
growth_rates: List [float ]
float
return
for
in
zip
def
population_viability_analysis
self, N0: float ,
lambda_rate: float ,
generations: int ,
catastrophe_prob: float
Dict
0.0
for
in
range
if
0.1
else
if
1
1
1
1
return
'extinction_probability'
class
CommunityEcology
def
__init__
self, community_name: str
self
def
calculate_diversity_indices
self, abundances: List [int ]
Dict
sum
for
in
sum
for
in
if
0
sum
2
for
in
len
if
0
else
0
return
'shannon_H'
'simpson_D'
'species_richness_S'
'pielou_evenness_J'
def
simpson_diversity
self, species_counts: List [int ]
float
sum
return
1
sum
1
for
in
1
def
beta_diversity
self, community1: List [int ],
community2: List [int ]
float
len
1
for
in
if
0
and
len
and
1
0
len
1
for
in
if
0
len
1
for
in
if
0
return
def
rank_abundance_curve
self, abundances: List [float ]
List
float
return
sorted
True
class
EcosystemEcology
def
__init__
self, ecosystem: str
self
def
calculate_npp
self, gpp: float , ra: float
float
return
def
energy_transfer_efficiency
self, production_next: float ,
production_current: float
float
return
100
def
calculate_biomass_accumulation
self, npp: float ,
turnover_rate: float
float
return
def
nutrient_limitation
self, nitrogen: float ,
phosphorus: float ,
kn: float ,
kp: float
Dict
if
"nitrogen"
else
"phosphorus"
return
'limitation_index'
'limiting_nutrient'
def
calculate_lei
self, actual_et: float , potential_et: float
float
return
class
SpeciesDistribution
def
__init__
self, species: str
self
def
habitat_suitability
self, temperature: float ,
precipitation: float ,
elevation: float
float
20
5
5
1000
200
200
10
2
200
2
return
def
calculate_range_area
self, occurrences: np.ndarray
float
return
len
0.1
"SnowshoeHare"
10000
100
0.5
10
print
f"Population after 10 generations: {N:.0 f} "
"TemperateForest"
50
30
15
5
print
f"Shannon H: {diversity['shannon_H' ]:.2 f} "