Install
$ agentstack add skill-dungnotnull-ecological-cemetery-planning-agent-skill-ecological-cemetery-planning-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
Ecological Cemetery Planning Skill Registry
Overview
This document serves as the comprehensive registry for the ecological-cemetery-planning skill system. It defines how skills are registered, resolved, executed, and validated within the production-grade agent architecture.
Architecture Philosophy
The ecological-cemetery-planning skill implements a modular, event-driven architecture with:
- Hierarchical skill composition - Main orchestrator with specialized sub-skills
- Lifecycle hooks - Before/after/error handlers for each execution phase
- Tool registry - Dynamic tool loading with schema validation
- State management - Centralized state with change notification
- Quality gates - Multi-level validation with auto-fix and graceful degradation
- Knowledge pipeline - Self-improving crawl system with evidence hierarchy
Skill Registration
Core Skill Structure
ecological-cemetery-planning/
├── SKILL.md # This file - skill registry and documentation
├── CLAUDE.md # Skill identity and harness flow
├── PROJECT-detail.md # Full technical specification
├── PROJECT-DEVELOPMENT-PHASE-TRACKING.md
├── README.md # Public-facing documentation
├── SECOND-KNOWLEDGE-BRAIN.md # Living knowledge base
├── skills/
│ ├── main.md # Main orchestrator skill (entry point)
│ ├── sub-gather-requirements.md
│ ├── sub-evidence-collector.md
│ ├── sub-core-analysis.md
│ ├── sub-knowledge-updater.md
│ └── sub-advisor.md
├── tools/
│ ├── knowledge_updater.py # Knowledge crawl pipeline
│ ├── validate_project.py # Project validation suite
│ ├── test_knowledge_updater.py
│ └── run_test_scenarios.py
├── config/
│ ├── config.py # Configuration management system
│ ├── config.schema.json # JSON schema for configuration
│ ├── default.json # Default configuration values
│ └── hooks_system.py # Hooks and tools registry
├── scripts/
│ ├── setup.py # Environment setup and initialization
│ ├── seed_knowledge.py # Initial knowledge base seeding
│ ├── run_validators.py # Run all validation suites
│ └── deploy.py # Production deployment script
├── references/
│ ├── domain-methods.md # Authoritative domain methodology references
│ ├── evidence-tiers.md # Evidence hierarchy and tier definitions
│ ├── quality-gates.md # Complete quality gate specifications
│ ├── templates.md # Output templates and formats
│ └── sources.md # Curated domain sources with access methods
├── assets/
│ ├── diagrams/ # System architecture and flow diagrams
│ ├── schemas/ # JSON schemas for validation
│ └── examples/ # Example inputs and outputs
└── tests/
├── test-scenarios.md # Concrete test scenarios
└── TEST_RESULTS.md # Test execution results
Skill Metadata Schema
Each skill file must include YAML frontmatter:
---
name: {skill-or-subskill-name}
description: {one-line summary of when to use this skill}
version: {semantic-version}
author: {author-info}
license: {license-type}
compatibility: {platforms-supported}
---
Skill Resolution Process
When a user invokes /ecological-cemetery-planning, the skill resolution follows:
- Trigger Detection - Claude matches user query against skill description
- Skill Loading - Load
SKILL.mdmetadata (~100 words) - Main Skill Activation - Load
skills/main.mdfull content - Sub-Skill Resolution - Dynamically load sub-skills as needed
- Resource Loading - Load
references/,assets/files on-demand - Execution - Run harness through all phases with hooks
- Quality Gate - Validate output against all gates
- Output Delivery - Return formatted, evidenced result
Execution Flow
Phase 1: Intake (sub-gather-requirements)
Input: Raw user message + optional attachments
Process:
- Parse user intent and constraints
- Identify object of analysis (site, project, concept)
- Clarify scope (full planning vs. specific question)
- Determine timeframe and available inputs
- Identify target audience and language preference
Output: Structured requirements object
{
"object_of_analysis": "string",
"scope": "full_project|specific_question|comparison",
"timeframe": "string",
"available_inputs": ["list"],
"target_audience": "practitioner|researcher|decision_maker|learner",
"language": "en|vi",
"analysis_type": "planning|assessment|design|compliance"
}
Quality Gate: At least one object of analysis confirmed
Phase 2: Evidence Collection (sub-evidence-collector)
Input: Requirements object from Phase 1
Process:
- Search real-time domain news and reports
- Fetch authoritative documents and standards
- Retrieve reference benchmarks from knowledge base
- Collect site-specific data if provided
- Identify relevant regulatory frameworks
Output: Evidence bundle
{
"current_data": {
"source": "string",
"date": "ISO8601",
"content": "object"
},
"authoritative_docs": [
{
"title": "string",
"source": "string",
"url": "uri",
"date": "ISO8601",
"tier": "Tier 1|2|3|4"
}
],
"recent_news": ["list"],
"reference_benchmarks": ["list"]
}
Quality Gate: Current data + ≥1 authoritative doc retrieved, OR limitation flag
Phase 3: Core Analysis (sub-core-analysis)
Input: Evidence bundle + requirements
Process:
- Site Assessment - Analyze soil conditions, hydrology, ecology
- Burial Criteria - Apply green burial standards (Green Burial Council)
- Landscape Design - Native plant cultural landscape plan
- Capacity Planning - Calculate sustainable burial capacity
- Maintenance Planning - Design sustainable maintenance protocol
- Scenario Analysis - Compare development scenarios
Output: Analysis scorecard
{
"site_assessment": {
"soil_impact": "low|medium|high",
"groundwater_risk": "none|buffer|risk",
"ecological_value": "low|medium|high",
"constraints": ["list"]
},
"green_burial_criteria": {
"meets_standards": "boolean",
"gaps": ["list"],
"certification_path": "string"
},
"landscape_design": {
"native_plant_communities": ["list"],
"cultural_elements": ["list"],
"ecological_restoration": "string",
"maintenance_plan": "string"
},
"capacity_analysis": {
"total_capacity": "number",
"annual_capacity": "number",
"sustainability_years": "number",
"expansion_options": ["list"]
},
"scenarios": [
{
"name": "string",
"description": "string",
"pros": ["list"],
"cons": ["list"],
"impact_score": "number"
}
]
}
Quality Gate: All analysis sections completed with specific findings
Phase 4: Knowledge Update (sub-knowledge-updater)
Input: Topic keywords from current analysis
Process:
- Query
SECOND-KNOWLEDGE-BRAIN.mdfor relevant entries - Surface authoritative citations with tier labels
- Identify knowledge gaps for crawl pipeline
- Optionally supplement with real-time search (≤2 queries)
Output: Knowledge citations
{
"citations": [
{
"title": "string",
"authors": ["list"],
"year": "number",
"doi": "string",
"tier": "Tier 1|2|3|4",
"relevance": "high|medium|low",
"excerpt": "string"
}
],
"coverage_rating": "comprehensive|adequate|limited|gaps_identified",
"gaps": ["list"],
"crawl_recommendations": ["list"]
}
Quality Gate: ≥1 academic/authoritative source surfaced; coverage rating provided
Phase 5: Advisory Synthesis (sub-advisor)
Input: Core analysis scorecard + evidence bundle + knowledge citations
Process:
- Synthesize findings - Integrate all analysis components
- Evaluate scenarios - Compare against criteria
- Assess risks - Identify environmental, regulatory, operational risks
- Form recommendation - Select optimal approach with rationale
- Plan remediation - Identify required actions and timeline
- Structure disclosure - Explicit risk/limitation disclosure
Output: Final advisory
{
"conclusion": "Ecologically Sound Plan|Conditional (buffer required)|Groundwater Risk|Inconclusive",
"recommendation": "string",
"key_risks": [
{
"risk": "string",
"severity": "low|medium|high",
"mitigation": "string"
}
],
"evidence_chain": {
"claim": ["list"],
"sources": ["list"],
"confidence": "high|medium|low"
},
"remediation_steps": [
{
"action": "string",
"priority": "immediate|short|medium|long",
"responsible": "string",
"timeline": "string"
}
],
"mandatory_disclosure": "string"
}
Quality Gate: Conclusion is exactly one of four categories; disclosure appears before conclusion
Phase 6: Quality Gate (main.md)
Input: Draft advisory output
Process:
- Evidence Hierarchy Check - Verify all claims cited to Tier 1-3 sources
- Disclosure Check - Confirm risk/limitation disclosure present
- Format Check - Verify all mandatory sections present
- Language Check - Confirm output matches user language preference
- Traceability Check - Verify every claim traceable to source
- Auto-Fix - Attempt to fix missing sections/citations
- Retry - If auto-fix fails, retry up to 2 times
- Degradation - If still failing, degrade with explicit limitation banner
Output: Validated final advisory
Quality Gates: All U1-U6 universal gates + G1-G4 domain gates must pass
Quality Gates Specification
Universal Gates (U1-U6)
| Gate | Criterion | Auto-Fix | Max Retry | |------|-----------|----------|-----------| | U1 | ≥3 sources cited, ≥1 academic/authoritative | Search for missing | 2 | | U2 | Safety/risk/limitation disclosure present | Add disclosure statement | 2 | | U3 | Evidence hierarchy stated per source | Label sources | 2 | | U4 | Language matches user preference | Translate output | 1 | | U5 | Output uses declared template | Restructure to template | 2 | | U6 | Every claim traceable to source OR flagged as judgment | Add flags | 2 |
Domain Gates (G1-G4)
| Gate | Criterion | Auto-Fix | Max Retry | |------|-----------|----------|-----------| | G1 | Soil/water impact assessed with specific findings | Re-run analysis | 2 | | G2 | Green-burial criteria applied with gaps identified | Re-run analysis | 2 | | G3 | Native-plant landscape design with species list | Re-run analysis | 2 | | G4 | Capacity/maintenance plan with sustainability metrics | Re-run analysis | 2 |
Graceful Degradation Levels
| Level | Trigger | Output | User Message | |-------|---------|--------|--------------| | 0 | All gates pass | Full validated advisory | None | | 1 | Minor gaps (≤2 gates) | Advisory with limitation notes | "Partial results: some gaps filled with defaults" | | 2 | Major gaps (3-4 gates) | Limited advisory + recommendations | "Limited results: knowledge base insufficient" | | 3 | Critical gaps (5+ gates) | Framework + manual guidance | "Framework provided: requires manual completion" | | 4 | System failure | Fallback to general guidance | "Service degraded: using general ecological guidance" |
Input/Output JSON Schemas
Input Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Ecological Cemetery Planning Input",
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "User's natural language query or task description"
},
"site_data": {
"type": "object",
"properties": {
"location": {"type": "string"},
"area_hectares": {"type": "number"},
"soil_type": {"type": "string"},
"water_table_depth": {"type": "number"},
"current_vegetation": {"type": "array", "items": {"type": "string"}},
"existing_features": {"type": "array", "items": {"type": "string"}}
}
},
"requirements": {
"type": "object",
"properties": {
"burial_demand": {"type": "number"},
"timeframe_years": {"type": "number"},
"regulatory_context": {"type": "string"},
"budget_constraints": {"type": "string"},
"stakeholder_concerns": {"type": "array", "items": {"type": "string"}}
}
},
"preferences": {
"type": "object",
"properties": {
"language": {"type": "string", "enum": ["en", "vi"]},
"output_format": {"type": "string", "enum": ["full_report", "summary", "recommendations_only"]},
"detail_level": {"type": "string", "enum": ["high", "medium", "low"]}
}
}
}
}
Output Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Ecological Cemetery Planning Output",
"type": "object",
"required": ["metadata", "executive_summary", "analysis", "recommendations", "evidence_chain", "disclosure"],
"properties": {
"metadata": {
"type": "object",
"properties": {
"execution_id": {"type": "string"},
"timestamp": {"type": "string", "format": "date-time"},
"version": {"type": "string"},
"language": {"type": "string"},
"degradation_level": {"type": "integer", "minimum": 0, "maximum": 4}
}
},
"executive_summary": {
"type": "object",
"properties": {
"conclusion": {"type": "string"},
"key_findings": {"type": "array", "items": {"type": "string"}},
"critical_recommendations": {"type": "array", "items": {"type": "string"}}
}
},
"analysis": {
"type": "object",
"properties": {
"site_assessment": {"type": "object"},
"burial_criteria": {"type": "object"},
"landscape_design": {"type": "object"},
"capacity_analysis": {"type": "object"},
"scenarios": {"type": "array", "items": {"type": "object"}}
}
},
"recommendations": {
"type": "object",
"properties": {
"primary": {"type": "string"},
"remediation_steps": {"type": "array", "items": {"type": "object"}},
"next_actions": {"type": "array", "items": {"type": "string"}}
}
},
"evidence_chain": {
"type": "object",
"properties": {
"sources": {"type": "array", "items": {"type": "object"}},
"citations": {"type": "array", "items": {"type": "string"}},
"confidence_assessment": {"type": "string"}
}
},
"disclosure": {
"type": "object",
"properties": {
"limitations": {"type": "array", "items": {"type": "string"}},
"assumptions": {"type": "array", "items": {"type": "string"}},
"risks": {"type": "array", "items": {"type": "object"}},
"data_quality": {"type": "string"}
}
}
}
}
Tool Registry
Available Tools
The following tools are available for use within the skill system:
WebSearchTool
- Category: DATA_FETCH
- Purpose: Search web for current information
- Input:
{query: string, max_results: number} - Output:
{results: [{title, url, snippet, date}]}
WebFetchTool
- Category: DATA_FETCH
- Purpose: Fetch content from specific URL
- Input:
{url: string, selector?: string} - Output:
{content: string, metadata: object}
KnowledgeQueryTool
- Category: KNOWLEDGE
- Purpose: Query knowledge base for relevant entries
- Input:
{keywords: [string], tier?: string, limit?: number} - Output:
{entries: [{title, authors, year, doi, tier, excerpt}]}
ValidationTool
- Category: VALIDATION
- Purpose: Validate output against quality gates
- Input:
{output: object, gates: [string]} - Output:
{passed: boolean, failures: [{gate, reason}], auto_fixed: [string]}
AnalysisTool
- Category: ANALYSIS
- **Pu
…
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/ecological-cemetery-planning-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.