Install
$ agentstack add skill-dungnotnull-ai-coastal-erosion-monitoring-agent-skill-ai-coastal-erosion-monitoring-agent-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
SKILL.md — Skill Registry Documentation
Skill Registration & Resolution
Registration Process
Skills in the ai-coastal-erosion-monitoring system are registered through a hierarchical registry pattern. Each skill has metadata that determines when and how it's invoked:
- Frontmatter Registry (required): All skills MUST include YAML frontmatter with
name
and description fields. The description is the PRIMARY triggering mechanism — it must clearly state both what the skill does AND the contexts in which it should be used.
- Registry Hierarchy:
`` Main Skill (main.md) ├── Sub-Skills (sub-*.md) — invoked via Skill() tool └── Bundled Resources — loaded on-demand ``
- Resolution Order:
- Frontmatter is loaded first (~100 words, always in context)
- SKILL.md body is loaded when skill triggers ( None:
"""Called before skill execution starts."""
def beforesubskill(ctx: SkillContext, sub_skill: str) -> None: """Called before each sub-skill invocation."""
def aftersubskill(ctx: SkillContext, sub_skill: str, result: Any) -> Any: """Called after each sub-skills completes."""
def on_degradation(ctx: SkillContext, level: int) -> None: """Called when degradation level changes."""
def beforequalitygate(ctx: SkillContext, gate: str) -> None: """Called before each quality gate check."""
def after_execution(ctx: SkillContext, result: Any) -> Any: """Called after skill execution completes."""
### State Synchronization
The skill maintains execution state across sub-skills:
```python
class SkillContext:
query: str
language: str
requirements: Dict
evidence_bundle: Dict
analysis_scorecard: Dict
knowledge_entries: List
degradation_level: int
gates_status: Dict[str, bool]
Configuration Management
Environment-Based Configuration
The system supports environment-specific configuration:
# Development
config/environment/development.json
# Staging
config/environment/staging.json
# Production
config/environment/production.json
Feature Flags
Optional functionality can be toggled via feature flags:
{
"features": {
"enable_experimental_ai": false,
"enable_degraded_mode": true,
"enable_multi_language": true,
"enable_auto_crawl": true,
"enable_caching": true
}
}
Monitoring & Logging
Structured Logging
All operations emit structured logs:
{
"timestamp": "2026-07-15T10:30:00Z",
"level": "INFO",
"component": "sub-core-analysis",
"operation": "compute_shoreline_change",
"correlation_id": "uuid",
"duration_ms": 1250,
"metadata": {
"location": "Vietnam_Coast",
"imagery_source": "Sentinel-2"
}
}
Metrics Tracking
Key metrics tracked:
- Execution time per sub-skill
- Degradation level distribution
- Quality gate pass/fail rates
- Source availability
- Token usage
Extension Points
Adding New Sub-Skills
To add a new sub-skill:
- Create
skills/sub-new-skill.mdwith proper frontmatter - Define input/output JSON schemas in this SKILL.md
- Update main.md to invoke the sub-skill
- Add quality gates if applicable
- Update test scenarios
Adding New Data Sources
To add a new data source:
- Update
config/default.config.jsonsources section - Update SECOND-KNOWLEDGE-BRAIN.md sources section
- Update CLAUDE.md knowledge sources section
- Test with degraded mode scenarios
Modifying Quality Gates
To modify quality gates:
- Update
config/default.config.jsonquality_gates section - Update skills/main.md quality gates table
- Update PROJECT-detail.md gates definition
- Test with gate failure scenarios
Testing Strategy
Test Scenarios
The system includes 5+ test scenarios in tests/test-scenarios.md:
- Standard analysis (full data availability)
- Minimal input (partial data)
- Comparison (multiple locations)
- Risk/conflict (conflicting data)
- Degraded mode (source failures)
Validation Tools
# Validate project structure
python scripts/validate.py
# Run test scenarios
python tools/run_test_scenarios.py --all
# Test knowledge updater
python tools/test_knowledge_updater.py
Performance Optimization
Context Window Management
The skill implements progressive disclosure to manage context:
- Frontmatter only (~100 words) — Always loaded
- SKILL.md body (~500 lines) — Loaded on trigger
- Sub-skill files — Loaded on invocation
- Reference materials — Loaded on demand
Caching Strategy
- Knowledge base entries cached for 24 hours
- Source responses cached with TTL
- LLM responses cached when idempotent
Troubleshooting
Common Issues
Issue: Skill not triggering
- Cause: Description not matching user intent
- Fix: Optimize description with trigger eval queries
Issue: Quality gate failures
- Cause: Data unavailability or logic error
- Fix: Check degradation level, source availability
Issue: Sub-skill timeout
- Cause: External source slow or unavailable
- Fix: Check network, enable degraded mode
Debug Mode
Enable debug logging:
{
"logging": {
"level": "DEBUG",
"format": "json"
}
}
Version Compatibility
This skill is compatible with:
- Claude Code: All versions supporting Skill tool
- Claude.ai: With limitations (no subagent support)
- Python: 3.11+
- Claude Models: Opus 4.7, Sonnet 4.6, Haiku 4.5
License
MIT License — See LICENSE file for details.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: dungnotnull
- Source: dungnotnull/ai-coastal-erosion-monitoring-agent-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.